DNFまたはDandifiedYUM YUMパッケージマネージャーのフォークです。 Fedora18およびFedora22で導入されました。現在、CentOS 8、RHEL 8、およびFedoraでRPMパッケージを処理するためのデフォルトのパッケージマネージャーになっています。
DNFは、パフォーマンスの低下、メモリ使用量の増加、依存関係の解決の遅さなど、yumに関連するすべての問題を解決します。 DNFは、YUMパッケージマネージャーの次のメジャーバージョンと呼ぶことができます。現在、DNFの最も安定したバージョンはバージョン2.6.3です
このチュートリアルでは、パッケージ管理に使用されるDNFコマンドについて説明します。この記事は、DNFのチートシートとして機能します。それでは始めましょう…..
DNFコマンド
DNFコマンドを使用するための構文は、YUMを使用する場合と非常に似ているため、2つのコマンドの間に多くの類似点があります。
例:1)有効なリポジトリを一覧表示する
システムで有効になっているすべてのリポジトリを一覧表示するには、
を実行します。[[email protected] ~]$ sudo dnf repolist [sudo] password for linuxtechi: repo id repo name status *epel Extra Packages for Enterprise Linux 7 - x86_64 11,989 *fedora Fedora 26 - x86_64 53,912 *updates Fedora 26 - x86_64 - Updates 9,405 virtualbox Fedora 26 - x86_64 - VirtualBox 10 [[email protected] ~]$
例:2)すべてのリポジトリを一覧表示します(有効および無効)
有効または無効になっているすべてのリポジトリを確認する必要がある場合は、次の手順を実行する必要があります
[[email protected] ~]$ sudo dnf repolist all
例:3)パッケージのインストール
yumと同様に、「インストール」を使用します ‘オプションの後にインストールするdnfを含むパッケージ名、Webサーバーパッケージ(httpd)をインストールするとします
[[email protected] ~]$ sudo dnf install httpd
例:4)パッケージの削除
パッケージを削除するには、ターミナルから次のコマンドを実行します。
[[email protected] ~]$ sudo dnf remove httpd or [[email protected] ~]$ sudo dnf erase httpd
上記のコマンドの出力は次のようになります:
例:5)パッケージを更新する
次のコマンドを実行して、システム上の単一のパッケージを更新します。
構文:dnf update {pkg-name}
[[email protected] ~]$ sudo dnf update filezilla
例:6)完全なシステムアップデートを確認する
システム全体の更新チェックを行うには、次のコマンドを実行します。
[[email protected] ~]$ sudo dnf check-update
例:7)すべてのシステムパッケージをアップグレードする
すべてのシステムパッケージをアップグレードするには、次を実行します
[[email protected] ~]$ sudo dnf upgrade
例:8)すべてのグループパッケージを一覧表示する
以下を使用して、すべてのグループパッケージを一覧表示します
[[email protected] ~]$ sudo dnf grouplist Last metadata expiration check: 1:40:19 ago on Tue 10 Oct 2017 10:08:39 AM IST. Available Environment Groups: Fedora Custom Operating System Minimal Install Fedora Server Edition Fedora Workstation Fedora Cloud Server KDE Plasma Workspaces Xfce Desktop LXDE Desktop Hawaii Desktop LXQt Desktop Cinnamon Desktop MATE Desktop Sugar Desktop Environment Development and Creative Workstation Web Server Infrastructure Server Basic Desktop Installed Groups: LibreOffice Available Groups: 3D Printing Administration Tools Ansible node Audio Production …………………
例:9)グループパッケージのインストール
同様のパッケージはグループ化されており、個別のコマンドを使用するのではなく、単一のコマンドからインストールできます。グループをインストールするには、
を実行します[[email protected] ~]$ sudo dnf groupinstall "Development Tools"
例:10)グループパッケージの削除
システムからパッケージの完全なグループを削除するには、次のdnfコマンドを実行します。
構文:dnf groupremove‘group_name’
[[email protected] ~]$ sudo dnf groupremove "Development Tools"
「groupupdate」を使用してグループパッケージを更新することもできます。
例:11)パッケージを検索する
リポジトリから特定のパッケージを探すには、
を実行します。構文:dnf search {package_name}
net-toolsパッケージを検索したいとします
[[email protected] ~]$ sudo dnf search net-tools =========== Name Exactly Matched: net-tools ========= net-tools.x86_64 : Basic networking tools [[email protected] ~]$
例:12)パッケージをダウンロード(インストールしないでください)
パッケージをダウンロードする必要があるが、インストールしたくないシナリオがいくつかあります。次のコマンドを使用して、sambaなどのパッケージをダウンロードします
構文: dnfダウンロードpackage_name
[[email protected] ~]$ sudo dnf download samba samba-4.6.8-0.fc26.x86_64.rpm 139 kB/s | 636 kB 00:04 [[email protected] ~]$
例:13)利用可能なすべてのパッケージを表示する
リポジトリから利用可能なすべてのパッケージのリストを取得するには、ターミナルを開いてdnfコマンドの下で実行します
[[email protected] ~]$ dnf list available | more
例:14)インストールされているパッケージのみを表示する
これで、システムにインストールされているパッケージのリストのみが必要な場合は、次のコマンドを実行して取得できます。
[[email protected] ~]$ dnf list installed
例:15)インストールされているすべてのパッケージと利用可能なパッケージを表示する
インストールされているだけでなく利用可能なすべてのパッケージのリストを取得するには、次のコマンドを実行します
[[email protected] ~]$ dnf list
例:16)インストール用のリポジトリを有効にする
パッケージのインストールに特定のリポジトリを使用するには、
を実行します。[[email protected] ~]$ sudo dnf install --enablerepo=epel mysql Extra Packages for Enterprise Linux 7 - x86_64 3.9 MB/s | 13 MB 00:03 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================= Installing: mariadb x86_64 3:10.1.26-2.fc26 updates 6.4 M Installing dependencies: mariadb-common x86_64 3:10.1.26-2.fc26 updates 100 k mariadb-config x86_64 3:10.1.26-2.fc26 updates 33 k mariadb-libs x86_64 3:10.1.26-2.fc26 updates 663 k Transaction Summary ================================================================================= Total download size: 7.2 M Installed size: 44 M Is this ok [y/N]: y
例:17)必要な機能を提供するパッケージを確認する
dnfコマンドを使用するよりも、「crontab」またはその他のコマンドに関連付けられているパッケージ名を知る必要がある場合など、特定の機能の取得を担当するパッケージを知りたい場合は、「提供> ‘オプションは次のようになります
[[email protected] ~]$ sudo dnf provides crontab cronie-1.5.1-5.fc26.x86_64 : Cron daemon for executing programs at set times Repo : @System cronie-1.5.1-5.fc26.x86_64 : Cron daemon for executing programs at set times Repo : fedora [[email protected] ~]$
ファイルに対しても同じことができます。ファイルの場所で同じコマンドを使用して、ファイルが関連付けられているパッケージ名を取得することもできます。
[[email protected]]$ sudo dnf provides /var/www/html
例:18)パッケージ情報を表示する
特定のパッケージの詳細を取得するには、
を実行します[[email protected] ~]$ dnf info cronie Installed Packages Name : cronie Version : 1.5.1 Release : 5.fc26 Arch : x86_64 Size : 236 k Source : cronie-1.5.1-5.fc26.src.rpm Repo : @System From repo : anaconda Summary : Cron daemon for executing programs at set times URL : https://fedorahosted.org/cronie License : MIT and BSD and ISC and GPLv2+ Description : Cronie contains the standard UNIX daemon crond that runs / specified programs at : scheduled times and related tools. It is a fork of the / original vixie-cron and : has security and configuration enhancements like the / ability to use pam and : SELinux. [[email protected] ~]$
例:19)キャッシュの構築
キャッシュは時間の経過とともに自動的に構築されますが、手動でキャッシュを構築するオプションもあるため、将来のアクションは迅速かつ迅速に完了します。キャッシュを手動で作成するには、
を実行します。[[email protected] ~]$ sudo time dnf makecache Last metadata expiration check: 0:04:41 ago on Thu 12 Oct 2017 09:53:00 AM IST. Metadata cache created. 0.86user 0.12system 0:01.04elapsed 95%CPU (0avgtext+0avgdata 106872maxresident)k 0inputs+1192outputs (0major+39606minor)pagefaults 0swaps [[email protected] ~]$
例:20)キャッシュを削除する
dnfのキャッシュデータをすべて削除するには、次のコマンドを実行します
[[email protected] ~]$ sudo dnf clean all 34 files removed [[email protected] ~]$
例:21)取引履歴を確認する
DNFコマンドを使用して実行されたすべてのトランザクションを確認するには、次のコマンドを実行します
[[email protected] ~]$ sudo dnf history
対応する番号で発生したすべてのトランザクションのリストが順番に生成されます。この番号を使用して、その取引の詳細をさらに取得できます。
[[email protected] ~]$ sudo dnf history info 5
インストール、削除、または更新に関連するログは、ログファイル/var/log/dnf.logに保存されます。dnfhistoryコマンドを使用して、システム更新をロールバックすることもできます。
例:22)孤立したパッケージの削除
孤立パッケージは、他のパッケージの依存関係を満たすために一度インストールされたパッケージですが、現在は必要ありません。このようなパッケージを削除するには、
を実行します[[email protected] ~]$ sudo dnf autoremove
例:23)すべてのパッケージを最新の安定したリリースに同期します
すべてのパッケージを最新の安定したリリースに同期するには、次のコマンドを実行します。
[[email protected] ~]$ sudo dnf distro-sync
単一のパッケージのみを同期する必要がある場合は、最後にpackage_nameを指定してください。そうしないと、すべてのパッケージが同期されます。
例:24)パッケージを再インストールします
パッケージを再インストールするには、必要に応じて、次のコマンドを実行します。
[[email protected] ~]$ sudo dnf reinstall postfix Dependencies resolved. =========================================================================== Package Arch Version Repository Size =========================================================================== Reinstalling: postfix x86_64 2:3.2.2-1.fc26 fedora 1.4 M Transaction Summary =========================================================================== Total download size: 1.4 M Is this ok [y/N]: y
例:25)特定のバージョンにアップグレードする
DNFを使用すると、rpmパッケージを特定のバージョンにアップグレードして、次のコマンドを実行することもできます。
[[email protected] ~]$ sudo dnf upgrade-to httpd-2.4.27-3.fc26
例:26)すべてのDNFコマンドとオプションのリストを取得する
DNFで使用できるすべての利用可能なオプションのリストを取得するには、
を実行します。[[email protected] ~]$ dnf help
これは、例を含むDNFパッケージマネージャーの完全なチュートリアルでした。このチュートリアルに関する質問や質問は、下のコメントに残してください。