GNU/Linux >> Linux の 問題 >  >> Linux

初心者向けのDNFコマンドの例

このチュートリアルでは、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 vim 

3。パッケージグループ

パッケージグループは、「開発ツール」や「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 root  Return-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 

Linux
  1. 初心者向けのLinuxcdコマンドチュートリアル(8例)

  2. 7 初心者向けの chmod コマンドの例

  3. dnf コマンドの例

  1. Linux初心者向けの10の「rm」コマンド例

  2. 初心者のための10のLinuxCatコマンドの例

  3. 初心者向けのLinuxkillallコマンド(8例)

  1. 初心者向けのLinux通信コマンドチュートリアル(5例)

  2. 初心者向けのLinuxdfコマンドチュートリアル(8例)

  3. 初心者向けのLinuxdirコマンド(10例)