開発者ドキュメント

PackageManagementEssentials:apt,yum,dnf,pkg

序章

最新のUnixライクなオペレーティングシステムのほとんどは、ソフトウェアを検索してインストールするための一元化されたメカニズムを提供します。 ソフトウェアは通常、パッケージの形式で配布され、リポジトリに保管されます。 パッケージの操作は、パッケージ管理として知られています。 パッケージは、共有ライブラリ、アプリケーション、サービス、およびドキュメントとともに、オペレーティングシステムのコアコンポーネントを提供します。

パッケージ管理システムは、ソフトウェアの1回限りのインストール以上のことを行います。 また、すでにインストールされているパッケージをアップグレードするためのツールも提供します。 パッケージリポジトリは、コードがシステムで使用するために精査されていること、およびインストールされているソフトウェアのバージョンが開発者とパッケージメンテナによって承認されていることを確認するのに役立ちます。

サーバーや開発環境を構成するときは、多くの場合、公式リポジトリを超えて検討する必要があります。 ディストリビューションの安定リリースのパッケージは、特に新しいソフトウェアや急速に変化するソフトウェアが関係している場合は、古くなっている可能性があります。 それにもかかわらず、パッケージ管理はシステム管理者と開発者にとって不可欠なスキルであり、主要なディストリビューション向けの豊富なパッケージソフトウェアは膨大なリソースです。

このガイドは、さまざまなディストリビューションでパッケージを検索、インストール、およびアップグレードするための基本事項のクイックリファレンスとして意図されており、システム間でその知識を翻訳するのに役立ちます。

パッケージ管理システム:簡単な概要

ほとんどのパッケージシステムは、パッケージファイルのコレクションを中心に構築されています。 パッケージファイルは通常、ソフトウェアで使用されるコンパイル済みアプリケーションやその他のリソース、およびインストールスクリプトを含むアーカイブです。 パッケージには、依存関係、それらをインストールして実行するために必要な他のパッケージのリストなど、貴重なメタデータも含まれています。

それらの機能と利点はおおむね類似していますが、パッケージ形式とツールはプラットフォームによって異なります。

Debianとそれに基づくシステム(Ubuntu、Linux Mint、Raspbianなど)では、パッケージ形式は .deb ファイル。 apt、Advanced Packaging Toolは、リポジトリの検索、パッケージとその依存関係のコレクションのインストール、アップグレードの管理など、最も一般的な操作に使用されるコマンドを提供します。 apt コマンドは、下位レベルのフロントエンドとして機能します dpkg 個人のインストールを処理するユーティリティ .deb ローカルシステム上のファイルであり、直接呼び出されることもあります。

ほとんどのDebian派生ディストリビューションの最近のリリースには、単一の apt コマンド。これは、従来、より具体的なものによって処理されてきた一般的な操作への簡潔で統一されたインターフェースを提供します。 apt-getapt-cache.

Rocky Linux、Fedora、およびRedHatファミリーの他のメンバーはRPMファイルを使用します。 これらは、と呼ばれるパッケージマネージャーを使用するために使用されました yum. Fedoraとその派生物の最近のバージョンでは、 yum に取って代わられました dnf、ほとんどを保持する近代化されたフォーク yumのインターフェース。

FreeBSDのバイナリパッケージシステムは、 pkg 指図。 FreeBSDは、Ports Collectionも提供しています。これは、ユーザーがMakefileを使用してソースから直接パッケージをフェッチ、コンパイル、およびインストールできるようにするローカルディレクトリ構造とツールです。 通常、使用する方がはるかに便利です pkg、ただし、プリコンパイルされたパッケージが利用できない場合や、コンパイル時のオプションを変更する必要がある場合があります。

パッケージリストの更新

ほとんどのシステムは、リモートリポジトリから利用可能なパッケージのローカルデータベースを保持しています。 パッケージをインストールまたはアップグレードする前に、このデータベースを更新することをお勧めします。 このパターンの部分的な例外として、 dnf 一部の操作を実行する前に更新を確認しますが、更新が利用可能かどうかはいつでも確認できます。

インストールされたパッケージをアップグレードする

マシンにインストールされているすべてのソフトウェアを最新の状態に保つことは、パッケージシステムがなければ大変な作業になります。 何百もの異なるパッケージのアップストリームの変更とセキュリティアラートを追跡する必要があります。 パッケージマネージャーは、ソフトウェアをアップグレードするときに発生するすべての問題を解決するわけではありませんが、いくつかのコマンドでほとんどのシステムコンポーネントを維持することができます。

FreeBSDでは、インストールされているポートをアップグレードすると、重大な変更が発生したり、手動の設定手順が必要になる場合があります。 読むのが一番です /usr/ports/UPDATING でアップグレードする前に portmaster.

パッケージを探す

ほとんどのディストリビューションは、パッケージコレクションにグラフィカルまたはメニュー方式のフロントエンドを提供します。 これらは、カテゴリ別に参照して新しいソフトウェアを見つけるための良い方法です。 ただし、多くの場合、パッケージを見つけるための最も迅速で効果的な方法は、コマンドラインツールを使用して検索することです。

注: Rocky、Fedora、またはRHELでは、を使用してパッケージのタイトルと説明を一緒に検索できます。 dnf search all. FreeBSDでは、を使用して説明を検索できます pkg search -D

特定のパッケージに関する情報を表示

インストールするものを決定するときは、パッケージの詳細な説明を読むと役立つことがよくあります。 人間が読めるテキストに加えて、これらには多くの場合、バージョン番号やパッケージの依存関係のリストなどのメタデータが含まれています。

リポジトリからパッケージをインストールする

パッケージの名前がわかれば、通常は1つのコマンドでパッケージとその依存関係をインストールできます。 一般に、すべてをリストすることにより、一度にインストールする複数のパッケージを提供できます。

ローカルファイルシステムからパッケージをインストールする

ソフトウェアが特定のオペレーティングシステム用に正式にパッケージ化されていない場合でも、開発者またはベンダーがダウンロード用のパッケージファイルを提供する場合があります。 これらは通常、Webブラウザまたは経由で取得できます。 curl コマンドラインで。 パッケージがターゲットシステムに配置されると、多くの場合、1つのコマンドでインストールできます。

Debianから派生したシステムでは、 dpkg 個々のパッケージファイルを処理します。 パッケージに満たされていない依存関係がある場合、 gdebi 多くの場合、公式リポジトリからそれらを取得するために使用できます。

Rocky Linux、Fedora、またはRHELでは、 dnf 個々のファイルをインストールするために使用され、必要な依存関係も処理します。

インストールされている1つ以上のパッケージを削除する

パッケージマネージャーは、特定のパッケージによって提供されるファイルを認識しているため、ソフトウェアが不要になった場合は、通常、システムからそれらをクリーンに削除できます。

助けを得ます

Webベースのドキュメントに加えて、Unixのマニュアルページ(通常は manページと呼ばれます)がシェルからのほとんどのコマンドで利用できることに注意してください。 ページを読むには、 man:

  1. man page

man、矢印キーでナビゲートできます。 / を押してページ内のテキストを検索し、qを押して終了します。

結論と参考文献

このガイドでは、システム間で相互参照できる操作の概要を説明しますが、複雑なトピックのほんの一部にすぎません。 特定のシステムの詳細については、次のリソースを参照してください。

モバイルバージョンを終了