DNFとしてよく知られているDandifiedyumは、パッケージをインストール、更新、および削除するRPMベースのLinuxディストリビューション用のソフトウェアパッケージマネージャーです。これは、Fedora 18でテスト可能な状態(つまり、技術プレビュー)で最初に導入されましたが、Fedora22以降のFedoraのデフォルトのパッケージマネージャーです。
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
従来のyumパッケージマネージャーの次世代バージョンであるため、yumよりも高度で堅牢な機能を備えています。 DNFとyumを区別する機能のいくつかは次のとおりです。
- 最新の依存関係解決テクノロジーに基づく依存関係の計算
- メモリを大量に消費する操作の最適化
- Python2およびPython3で実行する機能
- PythonAPIで利用可能な完全なドキュメント
DNFは、クライアントマシンでクエリを実行するためのRPM依存関係を解決するhawkeyライブラリを使用します。これらは、充足可能性アルゴリズムを使用するパッケージ依存ソルバーであるlibsolvの上に構築されています。アルゴリズムの詳細については、libsolvのGitHubリポジトリをご覧ください。
DNFとyumが異なるCLIコマンド
以下は、DNFにあるyumのコマンドラインインターフェイス(CLI)への変更の一部です。
dnfアップデート または dnfアップグレード: dnfupdateまたはdnfupgradeのいずれかを実行すると、システムで同じ効果があります。どちらも、インストールされているパッケージを更新します。ただし、dnfアップグレードは、yum-廃止された更新とまったく同じように機能するため、推奨されます。 。
解決済み: このコマンドはDNFには存在しません。代わりに、 dnfprovidesを実行してください 特定のファイルを提供するパッケージを見つけるため。
deplist: RPMの依存関係を一覧表示するYumのdeplistコマンドは、パッケージ依存関係ソルバーアルゴリズムを使用して依存関係クエリを解決するため、DNFで削除されました。
dnf remove
dnf履歴のロールバック: RPMデータベースツールで可能なすべての変更がトランザクションの履歴に保存されているわけではないため、指定したトランザクションの後にトランザクションを元に戻すこのチェックは削除されました。
-スキップ-壊れた: パッケージの依存関係の問題をチェックするこのインストールコマンドは、yumで--skip-brokenを使用してトリガーされます。ただし、現在はデフォルトでdnfアップデートの一部であるため、不要になりました。
-b、-best: これらのスイッチは、トランザクションで利用可能な最適なパッケージバージョンを選択します。依存関係の理由でインストールできない更新をデフォルトでスキップするdnfアップグレード中に、このスイッチはDNFに最新のパッケージのみを考慮するように強制します。 dnfアップグレードを使用する-最高 。
-許可: インストールされたパッケージを消去して依存関係を解決できるようにします。このオプションは、 yum swap X Yの代わりに使用できます。 削除するパッケージが明示的に定義されていないコマンド。
例: dnf --allowerasing install Y 。
-enableplugin: このスイッチは認識されず、削除されました。
DNF自動
DNF自動ツールは、dnfアップグレードの代替CLIです。自動通知、ダウンロード、または更新のために、systemdタイマー、cronジョブなどから自動的かつ定期的に実行できます。
開始するには、dnf-automatic rpmをインストールし、systemdタイマーユニット(dnf-automatic.timer)を有効にします。デフォルトの構成ファイル(/etc/dnf/automatic.conf)で指定されたとおりに動作します。
# yum install dnf-automatic
# systemctl enable dnf-automatic.timer
# systemctl start dnf-automatic.timer
# systemctl status dnf-automatic.timer
デフォルト設定を上書きする他のタイマーユニットを以下に示します。システム要件を満たすものを選択してください。
- dnf -自動- 通知のみ .timer: 利用可能なアップデートを通知します
- dnf-automatic-download.timer: パッケージをダウンロードしますが、インストールしません
- dnf -automatic-install.timer: アップデートをダウンロードしてインストールします
#yum install dnf: これにより、yumパッケージマネージャーからDNFRPMがインストールされます。
#dnf –version: これはDNFバージョンを指定します。
#dnf list all または #dnf list
#dnf check-update または #dnf check-update kernel: これにより、システムの更新が表示されます。
#dnf search
#dnf repolist all: これにより、システムで有効になっているすべてのリポジトリがダウンロードされ、一覧表示されます。
#dnf list --recent または #dnf list --recent
#dnfupdateinfoリストが利用可能 または #dnf updateinfo list available sec: これらには、システムで利用可能なすべてのアドバイザリが一覧表示されます。 secオプションを含めると、「セキュリティ修正」というラベルの付いたすべてのアドバイザリが一覧表示されます。
#dnf updateinfo list available sec --sec-severity Critical: これにより、「クリティカル」とマークされたシステム内のすべてのセキュリティアドバイザリが一覧表示されます。
#dnf updateinfo FEDORA-2018-a86100a264 –info: これにより、-infoを介してアドバイザリの情報が検証されます。 スイッチ。
#dnf upgrade --security または #dnf upgrade --sec-severity Critical: これは、システムで利用可能なすべてのセキュリティアドバイザリに適用されます。 -sec-severity オプションで、重大度が「重大」、「重要」、「中」、「低」のいずれかにマークされているパッケージを含めることができます。
概要
これらは、DNFの機能、変更、およびコマンドのほんの一部です。 DNFのCLI、新しいプラグイン、フックAPIの詳細については、DNFガイドをご覧ください。