序章
最新のUnixライクなオペレーティングシステムのほとんどは、ソフトウェアを検索してインストールするための一元化されたメカニズムを提供します。 ソフトウェアは通常、パッケージの形式で配布され、リポジトリに保管されます。 パッケージの操作は、パッケージ管理として知られています。 パッケージは、共有ライブラリ、アプリケーション、サービス、およびドキュメントとともに、オペレーティングシステムのコアコンポーネントを提供します。
パッケージ管理システムは、ソフトウェアの1回限りのインストール以上のことを行います。 また、すでにインストールされているパッケージをアップグレードするためのツールも提供します。 パッケージリポジトリは、コードがシステムで使用するために精査されていること、およびインストールされているソフトウェアのバージョンが開発者とパッケージメンテナによって承認されていることを確認するのに役立ちます。
サーバーや開発環境を構成するときは、多くの場合、公式リポジトリを超えて検討する必要があります。 ディストリビューションの安定リリースのパッケージは、特に新しいソフトウェアや急速に変化するソフトウェアが関係している場合は、古くなっている可能性があります。 それにもかかわらず、パッケージ管理はシステム管理者と開発者にとって不可欠なスキルであり、主要なディストリビューション向けの豊富なパッケージソフトウェアは膨大なリソースです。
このガイドは、さまざまなディストリビューションでパッケージを検索、インストール、およびアップグレードするための基本事項のクイックリファレンスとして意図されており、システム間でその知識を翻訳するのに役立ちます。
パッケージ管理システム:簡単な概要
ほとんどのパッケージシステムは、パッケージファイルのコレクションを中心に構築されています。 パッケージファイルは通常、ソフトウェアで使用されるコンパイル済みアプリケーションやその他のリソース、およびインストールスクリプトを含むアーカイブです。 パッケージには、依存関係、それらをインストールして実行するために必要な他のパッケージのリストなど、貴重なメタデータも含まれています。
それらの機能と利点はおおむね類似していますが、パッケージ形式とツールはプラットフォームによって異なります。
- Debian / Ubuntu の場合:
.deb
によってインストールされたパッケージapt
とdpkg
- Rocky / Fedora / RHEL の場合:
.rpm
によってインストールされたパッケージyum
- FreeBSD の場合:
.txz
によってインストールされたパッケージpkg
Debianとそれに基づくシステム(Ubuntu、Linux Mint、Raspbianなど)では、パッケージ形式は .deb
ファイル。 apt
、Advanced Packaging Toolは、リポジトリの検索、パッケージとその依存関係のコレクションのインストール、アップグレードの管理など、最も一般的な操作に使用されるコマンドを提供します。 apt
コマンドは、下位レベルのフロントエンドとして機能します dpkg
個人のインストールを処理するユーティリティ .deb
ローカルシステム上のファイルであり、直接呼び出されることもあります。
ほとんどのDebian派生ディストリビューションの最近のリリースには、単一の apt
コマンド。これは、従来、より具体的なものによって処理されてきた一般的な操作への簡潔で統一されたインターフェースを提供します。 apt-get
と apt-cache
.
Rocky Linux、Fedora、およびRedHatファミリーの他のメンバーはRPMファイルを使用します。 これらは、と呼ばれるパッケージマネージャーを使用するために使用されました yum
. Fedoraとその派生物の最近のバージョンでは、 yum
に取って代わられました dnf
、ほとんどを保持する近代化されたフォーク yum
のインターフェース。
FreeBSDのバイナリパッケージシステムは、 pkg
指図。 FreeBSDは、Ports Collectionも提供しています。これは、ユーザーがMakefileを使用してソースから直接パッケージをフェッチ、コンパイル、およびインストールできるようにするローカルディレクトリ構造とツールです。 通常、使用する方がはるかに便利です pkg
、ただし、プリコンパイルされたパッケージが利用できない場合や、コンパイル時のオプションを変更する必要がある場合があります。
パッケージリストの更新
ほとんどのシステムは、リモートリポジトリから利用可能なパッケージのローカルデータベースを保持しています。 パッケージをインストールまたはアップグレードする前に、このデータベースを更新することをお勧めします。 このパターンの部分的な例外として、 dnf
一部の操作を実行する前に更新を確認しますが、更新が利用可能かどうかはいつでも確認できます。
- Debian / Ubuntu の場合:
sudo apt update
- Rocky / Fedora / RHEL の場合:
dnf check-update
- FreeBSDパッケージの場合:
sudo pkg update
- FreeBSDポートの場合:
sudo portsnap fetch update
インストールされたパッケージをアップグレードする
マシンにインストールされているすべてのソフトウェアを最新の状態に保つことは、パッケージシステムがなければ大変な作業になります。 何百もの異なるパッケージのアップストリームの変更とセキュリティアラートを追跡する必要があります。 パッケージマネージャーは、ソフトウェアをアップグレードするときに発生するすべての問題を解決するわけではありませんが、いくつかのコマンドでほとんどのシステムコンポーネントを維持することができます。
FreeBSDでは、インストールされているポートをアップグレードすると、重大な変更が発生したり、手動の設定手順が必要になる場合があります。 読むのが一番です /usr/ports/UPDATING
でアップグレードする前に portmaster
.
- Debian / Ubuntu の場合:
sudo apt upgrade
- Rocky / Fedora / RHEL の場合:
sudo dnf upgrade
- FreeBSDパッケージの場合:
sudo pkg upgrade
パッケージを探す
ほとんどのディストリビューションは、パッケージコレクションにグラフィカルまたはメニュー方式のフロントエンドを提供します。 これらは、カテゴリ別に参照して新しいソフトウェアを見つけるための良い方法です。 ただし、多くの場合、パッケージを見つけるための最も迅速で効果的な方法は、コマンドラインツールを使用して検索することです。
- Debian / Ubuntu の場合:
apt search search_string
- Rocky / Fedora / RHEL の場合:
dnf search search_string
- FreeBSDパッケージの場合:
pkg search search_string
注: Rocky、Fedora、またはRHELでは、を使用してパッケージのタイトルと説明を一緒に検索できます。 dnf search all
. FreeBSDでは、を使用して説明を検索できます pkg search -D
特定のパッケージに関する情報を表示
インストールするものを決定するときは、パッケージの詳細な説明を読むと役立つことがよくあります。 人間が読めるテキストに加えて、これらには多くの場合、バージョン番号やパッケージの依存関係のリストなどのメタデータが含まれています。
- Debian / Ubuntu の場合:
apt show package
- Rocky / Fedora / RHEL の場合:
dnf info package
- FreeBSDパッケージの場合:
pkg info package
- FreeBSDポートの場合:
cd /usr/ports/category/port && cat pkg-descr
リポジトリからパッケージをインストールする
パッケージの名前がわかれば、通常は1つのコマンドでパッケージとその依存関係をインストールできます。 一般に、すべてをリストすることにより、一度にインストールする複数のパッケージを提供できます。
- Debian / Ubuntu の場合:
sudo apt install package
- Rocky / Fedora / RHEL の場合:
sudo dnf install package
- FreeBSDパッケージの場合:
sudo pkg install package
ローカルファイルシステムからパッケージをインストールする
ソフトウェアが特定のオペレーティングシステム用に正式にパッケージ化されていない場合でも、開発者またはベンダーがダウンロード用のパッケージファイルを提供する場合があります。 これらは通常、Webブラウザまたは経由で取得できます。 curl
コマンドラインで。 パッケージがターゲットシステムに配置されると、多くの場合、1つのコマンドでインストールできます。
Debianから派生したシステムでは、 dpkg
個々のパッケージファイルを処理します。 パッケージに満たされていない依存関係がある場合、 gdebi
多くの場合、公式リポジトリからそれらを取得するために使用できます。
Rocky Linux、Fedora、またはRHELでは、 dnf
個々のファイルをインストールするために使用され、必要な依存関係も処理します。
- Debian / Ubuntu の場合:
sudo dpkg -i package.deb
- Rocky / Fedora / RHEL の場合:
sudo dnf install package.rpm
- FreeBSDパッケージの場合:
sudo pkg add package.txz
インストールされている1つ以上のパッケージを削除する
パッケージマネージャーは、特定のパッケージによって提供されるファイルを認識しているため、ソフトウェアが不要になった場合は、通常、システムからそれらをクリーンに削除できます。
- Debian / Ubuntu の場合:
sudo apt remove package
- Rocky / Fedora / RHEL の場合:
sudo dnf erase package
- FreeBSDパッケージの場合:
sudo pkg delete package
助けを得ます
Webベースのドキュメントに加えて、Unixのマニュアルページ(通常は manページと呼ばれます)がシェルからのほとんどのコマンドで利用できることに注意してください。 ページを読むには、 man
:
- man page
の man
、矢印キーでナビゲートできます。 / を押してページ内のテキストを検索し、qを押して終了します。
- Debian / Ubuntu の場合:
man apt
- Rocky / Fedora / RHEL の場合:
man dnf
- FreeBSDパッケージの場合:
man pkg
- FreeBSDポートの場合:
man ports
結論と参考文献
このガイドでは、システム間で相互参照できる操作の概要を説明しますが、複雑なトピックのほんの一部にすぎません。 特定のシステムの詳細については、次のリソースを参照してください。