このチュートリアルでは、DNFパッケージマネージャーの使用方法を知りたい人のために、すべての基本的なコマンドについて説明します。ご存知かもしれませんが、DNFはYUMの次世代バージョンであり、Fedora 22以降のデフォルトのパッケージマネージャーです。これは、RHEL、CentOSなどのRPMベースのシステムでYUMを置き換えることを目的としています。 YUMと比較して、DNFには、複数のリポジトリのサポート、パッケージグループのサポート、依存関係の解決速度の高速化、メモリの消費量の削減など、いくつかの重要な利点があります。Python2とPython 3の両方で実行され、堅牢なAPIドキュメント、YUMとの互換性などがあります。
おすすめの記事:
- Pacmanの使用を開始する
初心者向けのDNFコマンドの例
Fedora 22の時点で、yumはDNFに置き換えられているため、Fedoraを使用している場合はインストールする必要はありません。 CentOS7およびRHEL7では、以下のチュートリアルの説明に従ってインストールできます。
- CentOS7にDNFをインストールする方法
DNFの使用法はYUMと非常によく似ています。ここで提供されるすべてのコマンドは、 rootを使用するCentOS7最小サーバーエディションでテストされました。 ユーザー。
1。ヘルプを得る
すべてのメインコマンド、プラグインコマンド、およびオプションを一覧表示するには、次のコマンドを実行します。
#dnfヘルプ
'install'などの特定のコマンドに関するヘルプを取得するには、次のコマンドを実行します。
#dnf help install
現在インストールされているDNFバージョンについて知るには、次のコマンドを実行します。
#dnf --version
2。パッケージの管理
このセクションでは、パッケージのインストール、更新、一覧表示、検索、ダウンロード、再インストール、および削除について説明します。
パッケージ情報の取得
インストールされているパッケージまたはインストールされていないパッケージの詳細を取得するには、次のコマンドを実行します。
#dnf info vim
パッケージのインストール
新しいパッケージをインストールするには、たとえば vim 、実行:
#dnf install vim
以下のように複数のパッケージをインストールすることもできます。
#dnf install vim nano emacs
インストールを続行するには、「y」と入力する必要があります。毎回それを実行したくない場合は、自動確認のコマンドにオプション「y」を含めることができます。
#dnf install vim nano emacs -y
これは、ユーザーの確認を待ちません。代わりに、すべてのパッケージが自動的にインストールされます。
パッケージの一覧表示
利用可能でインストールされているすべてのパッケージを一覧表示するには:
#dnfリスト
インストールされているすべてのパッケージのみを一覧表示するには、次を使用します:
#dnfリストがインストールされました
利用可能なパッケージのみを一覧表示するには:
#dnfリストが利用可能
パッケージの更新
利用可能なすべての更新を確認するには、次の手順を実行します。
#dnf check-update
または、
#dnfリストの更新
単一のパッケージ(bashなど)を更新するには、次のコマンドを実行します:
#dnf update bash
インストールされているパッケージに更新があるかどうかを確認するには、次のコマンドを実行します。
#dnf list yum.noarch 2018年2月10日土曜日14:47:22のメタデータを使用このコマンドは、現在インストールされているバージョンとリポジトリから利用可能なアップデートを表示します。上記の出力では、 @system インストールされているバージョンと更新を指定します リポジトリから利用可能な更新を指定します。
複数のパッケージを更新するには:
#dnf update package1 package2自動確認のために「y」オプションを渡します。
#dnf update package1 package2 -yすべてのパッケージを更新/アップグレードするには、次のコマンドを実行します:
#dnf update#dnf upgradeインストールされたパッケージを利用可能な最新バージョンに同期するには:
#dnf distro-syncパッケージの検索
リポジトリからパッケージを検索するには、次のコマンドを実行します。
#dnf search vimこのコマンドは、「vim」という単語に一致するすべてのパッケージを一覧表示します。
パッケージのダウンロード
パッケージをダウンロードしたいが、今はインストールしたくない場合があります。その場合は、次を実行します:
#dnf download vimこのコマンドはvim-enhanced-xx.xx.x.rpmパッケージをダウンロードしますが、インストールしません。
ダウンロードしたパッケージをインストールするには、次のコマンドを実行します:
#dnf install vim-enhanced-7.4.160-2.el7.x86_64.rpm他のすべての必要な依存関係は、リポジトリからダウンロードおよびインストールされます。
パッケージのダウングレード
以前に更新したパッケージをダウングレードするには、次のコマンドを実行します。
#dnf downgrade bashパッケージの再インストール
すでにインストールされているパッケージに問題がありますか?心配ない!いつでも再インストールできます。
パッケージを再インストールするには、次を使用します:
#dnf restart vimパッケージの削除
システムからパッケージ(vimなど)を削除するには、次のコマンドを実行します:
#dnf remove vim以下のように「消去」オプションを使用することもできます。
#dnf Erase vim3。パッケージグループ
パッケージグループは、「開発ツール」や「Webサーバー」などの共通の目的を果たすパッケージのコレクションです。パッケージグループをインストールすると、依存するすべてのパッケージがダウンロードされてインストールされます。グループをインストールすると、かなりの時間を節約できます。
パッケージグループのインストール
使用可能なすべてのパッケージグループを一覧表示するには、次のコマンドを実行します:
#dnf grouplist「開発ツール」などのパッケージグループをインストールするには、次のコマンドを実行します。
#dnfgroupinstall'開発ツール'このコマンドは、開発環境のセットアップに必要なすべてのパッケージをインストールします。
パッケージグループの更新
パッケージグループを更新するには、次のコマンドを実行します:
#dnfgroupupdate'開発ツール'パッケージグループの削除
パッケージグループを削除するには、次のコマンドを実行します:
#dnfgroupremove'開発ツール'4。リポジトリの操作
インストールされているリポジトリの一覧表示
デフォルトでは、すべてのリポジトリはCentOS/RHELの/etc/yum.repos.d/ディレクトリに追加されます。次のコマンドを使用して、インストールされているリポジトリを一覧表示できます:
#dnf repolist上記のコマンドは、有効なリポジトリのみを表示します。すべてのリポジトリ(有効と無効の両方)を表示するには、次のコマンドを実行します:
#dnf repolist allリポジトリの追加
/etc/yum.repos.d/ディレクトリの下にpackage.repoファイルを手動で作成することにより、リポジトリを追加できます。ただし、DNFを使用するとさらに簡単になります。
新しいリポジトリを追加するには、次を実行します:
#dnf config-manager --add-repo repository_url例:
#dnf config-manager --add-repo http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/新しく追加されたリポジトリを表示するには、次のようにします。
#dnf repolist http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ 115 kB/sからdnfconfig-managerによって作成されました| 3.5 MB 00:31 Sat Feb 1014:47:222018からのメタデータの使用repoidrepo name statusbase CentOS-7-Base 9,591epel EnterpriseLinux7用の追加パッケージ-x86_6412,278extrasCentOS-7-Extras 388springdale.math.ias.edu_data_puias_unsupported_7_x86_64_ dnfconfig-managerによってhttp://springdale.math.ias.edu/data/puias/unsupporteから作成2,760updatesCentOS-7-更新.repoファイルのみを表示するには:
#cat /etc/yum.repos.d/springdale.math.ias.edu_data_puias_unsupported_7_x86_64_.repo [springdale.math.ias.edu_data_puias_unsupported_7_x86_64_] name=http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/baseurl=http://springdale.mathからdnfconfig-managerによって作成されました。 ias.edu/data/puias/unsupported/7/x86_64/enabled=1リポジトリの有効化
リポジトリを有効にするには、次を使用します:
#dnf config-manager --set-enabled例:
#dnf config-manager --set-enabled epel次のコマンドを実行して、有効なリポジトリのみを確認することで確認できます。
#dnf repolistまた、以下のように、有効化オプションとインストールオプションを組み合わせることができます。
#dnf config-manager --set-enabled epel install zsh上記のコマンドは、EPELリポジトリを有効にし、zshパッケージをインストールします。
リポジトリの無効化
EPELなどのリポジトリを無効にするには、次を使用します。
#dnf config-manager --set-disabled epel以下のように、有効化オプションと無効化オプションを組み合わせることもできます。
#dnf --enablerepo =epel --disablerepo =updates上記のコマンドは、EPELリポジトリを有効にし、更新リポジトリを無効にします。
5。何かを提供するものを見つける
DNFを使用すると、特定のコマンドまたはファイルを提供するパッケージを見つけることができます。どのパッケージが使用したい特定のコマンドを提供しているかを正確に覚えていない場合は、DNFが役立ちます。
特定のコマンドを提供するパッケージを見つける
古き良き「ifconfig」コマンドが恋しいです。このコマンドは非推奨であり、最近のバージョンでは使用できません。このgemを提供するパッケージを見つけるには、次のコマンドを実行します。
#dnfは* / ifconfigを提供します出力例:
木2月8日15:52:172018net-tools-2.0-0.22.20131004git.el7.x86_64からのメタデータの使用:基本的なネットワークツールリポジトリ:ベースああ、そうだ! ネットツール パッケージはこのコマンドを提供します。したがって、このパッケージをインストールしてifconfigコマンドを使用できます。
ファイルを提供するパッケージを見つける
/ bin / lsが提供するパッケージを見つけてみましょう ファイル。これを行うには、次を実行します:
#dnfは* / bin / lsを提供します 2016年6月30日木曜日12:51:16のメタデータを使用するcoreutils-8.22-18.el7.x86_64:シェルスクリプトで一般的に使用される基本的なGNUツールのセットRepo:@System coreutils- 8.22-18.el7.x86_64:シェルスクリプトで一般的に使用される基本的なGNUツールのセットRepo:base上記の出力にあるように、 coreutils パッケージは/bin/lsファイルを提供します。
また読む:
- Linuxで特定のファイルを提供するパッケージを見つける方法
6。 DNF履歴の操作
「dnfhistory」コマンドを使用すると、DNFコマンドで実行したすべてのアクションを表示できます。
#dnf history 2018年2月10日土曜日14:47:22のメタデータを使用ID|コマンドライン|日付a|アクション|アルター------------------------------------------------- ------------------------------ 2 | bashを更新する| 2018-02-10 14:55 |更新| 1 1 | vimをインストールする| 2018-02-10 14:51 | E、私| 33 EE
上記の出力でわかるように、2つのトランザクションがありました。 「vim」という名前のパッケージをインストールし、「bash」というパッケージを更新しました。最新のトランザクションが一番上に表示されます。
特定の取引の詳細を表示するには、以下のようにそのIDを使用します。
#dnf履歴リスト2
以下のように、特定のトランザクションの完全な詳細を表示することもできます。
#dnf history info 2 2018年2月10日土曜日14:47:22のメタデータを使用トランザクションID:2開始時間:2018年2月10日土曜日14:55:38 2018開始rpmdb:360:fa7bea798a10e850b2bf800182b377443b481652終了時間:14:55:39 2018(1秒)終了rpmdb:360:dc9f6bb33b00fe1d74dd205586c0ff rootReturn-Code:SuccessCommand Line:update bashTransaction実行対象:インストール済みdnf-0.6.4-2.sdl7.noarch(不明)インストール済みrpm-4.11.3-21.el7.x86_64(不明)パッケージ変更:アップグレードbash-4.2.46-21.el7_3.x86_64(不明)アップグレード4.2.46-29.el7_4.x86_64 @updates
ご覧のとおり、IDが2のトランザクションは、「bash」という名前のパッケージを更新するために使用されました。次のコマンドを使用して、いつでもこのトランザクションを元に戻すことができます:
#dnf history undo 2
前の「元に戻す」トランザクションをやり直すには、次のコマンドを実行します。
#dnf history redo 2
7。 DNFメタデータキャッシュの構築
パッケージのインストール、更新時に、DNFメタデータキャッシュが自動的に作成されます。したがって、手動でビルドする必要はありません。ただし、DNFには、将来のトランザクションを高速化するためにキャッシュを構築するための組み込みコマンドがあります。
メタデータキャッシュを作成するには、次のコマンドを実行します:
#dnf makecache EnterpriseLinux7用の追加パッケージ-x86_64155kB / s | 15 MB 01:35dnfconfig-managerによってhttp://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/136kB/sから作成| 3.5 MB00:26CentOS-7-ベース195kB/ s | 9.5 MB00:49CentOS-7-更新240kB/ s | 7.9 MB00:33CentOS-7-エクストラ84kB/ s | 820kB00:09メタデータキャッシュが作成されました。
8。クリーンアップ
不要な/孤立したパッケージを削除するには、次のコマンドを実行します:
#dnf autoremove
キャッシュされたすべてのパッケージを削除するには、次のコマンドを実行します:
#dnf clean all
キャッシュを完全にクリーンアップする代わりに、メタデータ、dbcache、パッケージ、プラグインなどを個別にクリーンアップすることをお勧めします。
リポジトリメタデータから生成されたキャッシュファイルを削除するには:
#dnf clean dbcache
これにより、DNFは次に実行されたときにキャッシュファイルを再生成します。
各リポジトリのメタデータとミラーリストがいつダウンロードされたかを示すローカルCookieファイルを削除するには、次のコマンドを実行します。
#dnf cleanexpire-cache
DNFは、次に使用されるときに、各リポジトリのキャッシュを再検証します。
リポジトリメタデータを削除するには:
#dnfcleanメタデータ
このオプションを使用すると、DNFは次回の実行時にすべてのメタデータをダウンロードします。
キャッシュされたすべてのパッケージをシステムから削除するには:
#dnfクリーンパッケージ
次のコマンドは、有効になっているすべてのプラグインに、キャッシュされたデータを削除するように指示します。
#dnfcleanプラグイン
これらは、Fedora、RHEL、CentOSでDNFの基本的な使用法を取得するのに十分です。詳細については、manページを参照してください。
$ man dnf