ホームページ  >  記事  >  システムチュートリアル  >  apt、yum、dnf、pkgの機能と特徴を分析する

apt、yum、dnf、pkgの機能と特徴を分析する

WBOY
WBOY転載
2024-01-04 20:25:44570ブラウズ
###導入### 最新の Unix 系オペレーティング システムでは、ソフトウェアを検索してインストールするための集中メカニズムが提供されています。ソフトウェアは通常、リポジトリに保存され、パッケージを通じて配布されます。パッケージを扱う作業をパッケージ管理と呼びます。パッケージは、オペレーティング システムの基本コンポーネントに加え、共有ライブラリ、アプリケーション、サービス、ドキュメントを提供します。

###導入### 详解apt、yum、dnf 和 pkgパッケージ管理システムは、ソフトウェアのインストールに加えて、インストールされたパッケージを更新するツールも提供します。パッケージ リポジトリは、システムで使用されているコードがレビューされていること、およびソフトウェアのインストールされたバージョンが開発者やパッケージ管理者によって承認されていることを確認するのに役立ちます。

サーバーまたは開発環境を構成するときは、公式リポジトリの外にあるパッケージの状況を理解することが最善です。ディストリビューションの安定バージョンのパッケージは、特に新しいソフトウェアや急速に進化するソフトウェアの場合、古くなっている可能性があります。ただし、パッケージ管理はシステム管理者と開発者の両方にとって重要なスキルであり、パッケージ化されたソフトウェアは主要な Linux ディストリビューションにとって大きな資産です。

このガイドは、さまざまな Linux ディストリビューションでのパッケージの検索、インストール、アップグレードの基本を簡単に紹介し、複数のシステム間でこれらの内容を相互参照できるように設計されています。

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

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

これらのパッケージ管理システムの機能と利点はほとんど同じですが、パッケージ化の形式とツールはプラットフォームによって異なります:

###オペレーティング·システム### ###フォーマット### ###道具###

UbuntuセントOSフェドラFreeBSDDebian とその派生製品 (Ubuntu、Linux Mint、Raspbian など) のパッケージ形式は .deb です。 APT この高度なパッケージ管理ツールは、リポジトリの検索、パッケージとその依存関係のインストール、アップグレードの管理など、最も一般的な操作のためのコマンドを提供します。ローカル システムでは、dpkg プログラムを使用して単一の deb ファイルをインストールすることもできます。APT コマンドは、基礎となる dpkg のフロント エンドとして機能し、直接呼び出される場合もあります。 最近リリースされた debian 派生製品には、apt コマンドが含まれています。このコマンドは、通常 apt-get および apt-cache コマンドで処理される一般的な操作のための簡潔で統一されたインターフェイスを提供します。このコマンドはオプションですが、これを使用すると一部のタスクが簡素化されます。 CentOS、Fedora、およびその他の Red Hat ファミリのメンバーは RPM ファイルを使用します。 CentOS では、yum を介して個々のパッケージ ファイルとリポジトリを操作します。 最近の Fedora バージョンでは、yum は dnf に置き換えられました。dnf は、yum のインターフェイスのほとんどを保持する最新のブランチです。 FreeBSD のバイナリ パッケージ システムは、pkg コマンドによって管理されます。 FreeBSD は、ローカル ディレクトリ構造およびツールである Ports コレクションも提供します。これにより、ユーザーはソース コードを取得した後、Makefile を使用してソース コードからパッケージを直接コンパイルおよびインストールできます。
デビアン .deb apt、apt-cache、apt-get、dpkg
.deb apt、apt-cache、apt-get、dpkg
.rpm おいしい
.rpm dnf
ポート、.txz メイク、パッケージ

パッケージリストを更新

ほとんどのシステムには、リモート リポジトリに対応するローカル パッケージ データベースがあります。パッケージをインストールまたはアップグレードする前に、このデータベースを更新することをお勧めします。さらに、yum と dnf は、一部の操作を実行する前に更新を自動的にチェックします。もちろん、システムはいつでもアップデートできます。

###システム### ###注文###

Debian / Ubuntu

sudo apt-get updateセントOSフェドラFreeBSD パッケージFreeBSD ポート インストールされているパッケージを更新する

パッケージ システムがなければ、マシンにインストールされているすべてのソフトウェアを確実に最新の状態に保つのは困難です。何百もの異なるパッケージに対する上流の変更とセキュリティ警告を追跡する必要があります。パッケージ マネージャーは、ソフトウェアのアップグレード時に発生するすべての問題を解決するわけではありませんが、いくつかのコマンドを使用してほとんどのシステム コンポーネントを保守できるようになります。

FreeBSD では、インストールされているポートをアップグレードすると重大な変更が導入される可能性があり、一部の手順では手動構成が必要となるため、portmaster 経由で更新する前に /usr/ports/UPDATING の内容を読むことをお勧めします。

sudo aptアップデート
yum チェック更新
dnfチェックアップデート
sudo パッケージの更新
sudoポートスナップフェッチアップデート
###システム### ###注文### Debian / Ubuntusudo apt-get アップグレードsudo apt-get dist-upgradesudo apt アップグレードapt-get upgrade に似ていますsudo apt フルアップグレードapt-get dist-upgrade に似ていますセントOSsudo yum アップデートフェドラsudo dnf アップグレードFreeBSD パッケージsudo パッケージのアップグレードFreeBSD ポート less /usr/ports/UPDATINGless を使用してポートの更新プロンプトを表示します (上下のカーソル キーを使用してスクロールし、q を押して終了します)。 cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -aportmaster をインストールし、それを使用してインストールされているポートを更新しますほとんどのディストリビューションでは、パッケージ コレクション用のグラフィカル ツールまたはメニュー形式のツールが提供されており、カテゴリ別にソフトウェアを参照できるため、新しいソフトウェアを見つけるのにも適しています。ただし、パッケージを見つける最も速くて効率的な方法は、コマンド ライン ツールを使用して検索することです。
イラスト
インストールされているパッケージのみを更新する
パッケージは、新しい依存関係を満たすために追加または削除される場合があります。
パッケージを検索
###システム### ###注文###

イラスト

Debian / Ubuntuapt-cache 検索 search_string apt検索検索文字列セントOSyum検索検索文字列yum ですべての検索文字列を検索説明を含むすべてのフィールドを検索フェドラdnf 検索 search_string dnf すべて検索 search_string説明を含むすべてのフィールドを検索FreeBSD パッケージpkg 検索 search_string 名前で検索pkg 検索 -f 検索文字列 名前で検索し、完全な説明を返しますpkg 検索 -D 検索文字列 検索の説明FreeBSD ポート cd /usr/ports && 検索名=パッケージを作成します名前で検索cd /usr/ports && 検索キー=search_stringコメント、説明、依存関係を検索する ###システム### ###注文### イラスト
を作成します
ソフトウェア パッケージに関する情報の表示 ソフトウェア パッケージをインストールする前に、パッケージの説明を注意深く読むことで、多くの有益な情報を得ることができます。これらには、人間が読めるテキストに加えて、通常、バージョン番号やパッケージの依存関係のリストなどのメタデータが含まれます。

Debian / Ubuntuapt-cache ショーパッケージパッケージに関するローカル キャッシュ情報を表示するapt パッケージを表示dpkg -s パッケージパッケージの現在のインストール状況を表示しますセントOSyum 情報パッケージyum deplist パッケージパッケージの依存関係をリストするフェドラdnf情報パッケージdnf リポクエリ -- パッケージが必要です パッケージの依存関係をリストするFreeBSD パッケージpkg情報パッケージインストールされているパッケージに関する情報を表示するFreeBSD ポート cd /usr/ports/category/port && cat pkg-descrリポジトリからパッケージをインストール

パッケージ名がわかったら、通常は 1 つのコマンドでパッケージとその依存関係をインストールできます。すべてをリストするだけで、複数のパッケージを一度にインストールすることもできます。

###システム### ###注文### Debian / Ubuntusudo apt-get インストールパッケージsudo apt-get install package1 package2 ...sudo apt-get install -y packagesudo apt インストールパッケージ色付きの進行状況バーを表示するセントOSsudo yum パッケージをインストールしますsudo yum install package1 package2 ...リストされているすべてのパッケージをインストールしますsudo yum install -y パッケージyum が続行するかどうかのプロンプトを表示すると、デフォルトで直接「はい」になります フェドラsudo dnf インストールパッケージsudo dnf インストール パッケージ 1 パッケージ 2 ...リストされているすべてのパッケージをインストールしますsudo dnf install -y パッケージ dnf によって続行するかどうかのプロンプトが表示される場合、デフォルトは [yes] です。 リストされているすべてのパッケージをインストールしますソースからポートを構築してインストールするローカル ファイル システムからパッケージをインストールする特定のオペレーティング システムでは、一部のソフトウェアが対応するパッケージを正式に提供していない場合があり、その場合は開発者またはサプライヤーがパッケージ ファイルのダウンロードを提供する必要があります。通常、これらのパッケージは Web ブラウザーを通じて取得するか、コマンド ラインのcurlを通じてこの情報を取得できます。パッケージをターゲット システムにダウンロードした後、通常は 1 つのコマンドでインストールできます。 Debian 派生システムでは、個別のパッケージ ファイルを処理するために dpkg が使用されます。パッケージに満たされていない依存関係がある場合は、gdebi を使用して公式リポジトリから依存関係を取得できます。
イラスト
リストされているすべてのパッケージをインストールします
apt が続行するかどうかを尋ねるプロンプトが表示される場合、デフォルトは [はい] です。
FreeBSD パッケージ sudo pkg インストールパッケージ
sudo pkg install package1 package2 ...
FreeBSD ポート cd /usr/ports/category/port && sudo make install
CentOS および Fedora システムでは、yum と dnf を使用して個々のファイルをインストールし、必要な依存関係を処理します。

###システム### ###注文###

イラスト

セントOSフェドラFreeBSD パッケージ1 つ以上のインストール済みパッケージを削除しますパッケージ マネージャーは、特定のパッケージによってどのようなファイルが提供されているかを知っているため、ソフトウェアが不要になった場合には、多くの場合、それらのファイルをシステムから完全に削除できます。 ###システム### ###注文### イラスト
Debian / Ubuntu sudo dpkg -i package.deb
sudo apt-get install -y gdebi && sudo gdebi package.deb gdebi をインストールし、gdebi を使用して package.deb をインストールし、不足している依存関係を処理します
sudo yum install package.rpm
sudo dnf インストールパッケージ.rpm
sudo pkg add package.txz
sudo pkg add -f package.txz インストール済みのパッケージであっても再インストールされます

Debian / Ubuntusudo apt-get パッケージの削除sudo apt パッケージを削除する不要なパッケージを削除します不要なパッケージを削除しますアンインストールポート
sudo apt-get autoremove
セントOS sudo yum パッケージを削除します
フェドラ sudo dnf 消去パッケージ
FreeBSD パッケージ sudo pkg パッケージの削除
sudo pkg autoremove
FreeBSD ポート sudo pkg パッケージの削除
cd /usr/ports/path_to_port && make deinstall
apt コマンド

Debian ファミリ ディストリビューションの管理者は通常、apt-get と apt-cache に精通しています。あまり知られていないのは、対話型で使用するために設計された簡素化された apt インターフェイスです。

従来のコマンド 同等の apt コマンド
apt-getアップデート 適切なアップデート
apt-get dist-upgrade 適切なフルアップグレード
apt-キャッシュ検索文字列 適切な検索文字列
apt-get インストールパッケージ apt インストールパッケージ
apt-get パッケージの削除 apt パッケージを削除する
apt-get パージパッケージ apt パージパッケージ

apt は通常、特定の操作のショートカットですが、従来のツールを完全に置き換えることはできず、使いやすさを向上させるためにインターフェイスがバージョンごとに変更される場合があります。スクリプトまたはシェル パイプラインでパッケージ管理コマンドを使用する場合は、apt-get と apt-cache を使用するのが最善です。

###助けを得ます### Web ベースのドキュメントに加えて、シェルを介して Unix マニュアル ページ (通常はマニュアル ページと呼ばれます) からほとんどのコマンドを取得できることを覚えておいてください。たとえば、特定のページを読むには、man: を使用できます。

man では、矢印キーを使用して移動できます。 / を押してページ内のテキストを検索し、q を押して終了します。

###システム### ###注文### イラストman apt-getローカル パッケージ データベースの更新とパッケージの操作ローカルパッケージデータベースで検索個々のパッケージ ファイルを操作し、インストールされているパッケージをクエリできますよりシンプルで使いやすいインターフェイスを通じて最も基本的な操作を実行できますプリコンパイルされたバイナリパッケージで動作しますポート コレクションの操作
Debian / Ubuntu
man apt-キャッシュ
男dpkg
男は適性です
セントOS まあまあ
フェドラ 男dnf
FreeBSD パッケージ マンパッケージ
FreeBSD ポート マンポート

以上がapt、yum、dnf、pkgの機能と特徴を分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。