8 Yumバージョン3とDNFの比較

次の表では、Yum v3の機能、コマンドおよびオプションを、Oracle Linux 8で導入されたDNFツールと比較します。

Yum v3の機能、コマンドまたはオプション DNFの機能、コマンドまたはオプション 重要な相違点

--skip-brokenオプション

--skip-brokenオプション

--setopt=strict=0オプションの別名です

インストールに使用する場合: エラーが発生したり、操作が失敗することなく、すべてのパッケージ(またはDNFに渡されたもののうち、依存関係が壊れているもの)をスキップします。

DNFでは、どちらのオプションも使用できます。また、dnf.confファイルでこの動作をデフォルトとして設定することもできます。

アップグレードに使用する場合: --skip-brokenオプションを指定してyumコマンドをトリガーするために使用されていたセマンティクスがデフォルトとしてdnf updateに設定されています。--skip-brokenオプションをdnf upgradeコマンドで使用する必要はないことに注意してください。かわりに、トランザクションで最新バージョンのパッケージのみを使用する場合は、--bestオプションを使用してください。

yum updateコマンド

dnf updateコマンド

コマンド構文のみが変更されています。dnf updateyum updateの動作に違いはありません。

yum upgradeコマンド

dnf upgradeコマンド

構文の違いを除けば、dnf upgradeの動作はyum upgradeと同じです。Yum v3では、yum upgradeyum --obsoletes updateと同じです。

clean_requirements_on_removeオプション

clean_requirements_on_removeオプション

このオプションは、DNFではデフォルトで有効になっており、2つのYumバージョン間でremove操作の結果を比較したときに、DNFで削除されるパッケージの方が多いため、混乱が生じる可能性があります。

resolvdepコマンド

該当なし

特定のファイルを提供するパッケージを確認するには、dnf providesコマンドを使用します。

Yum v3のコマンドは、レガシー目的でのみ保持されています。

deplistコマンド

該当なし

パッケージの依存関係を確認するには、dnfrepoquery--deplistコマンドを使用します。

dnf repoquery --deplistコマンドとのYum v3の互換性のために、yumdeplistという別名が提供されています。

除外(およびリポジトリ除外)

除外(およびリポジトリ除外)

Yum v3では、インストールおよびアップグレード中に除外が考慮されます。一方、DNFでは、消去やリストを含むすべての操作が考慮されます。

includepkgsオプション

includeオプション

DNFでは、リポジトリ(およびメイン)構成のディレクティブ名が、DNFにおいてそれと対をなすexcludeとの整合性を高めるために変更されています。

skip_if_availableオプション

skip_if_availableオプション

このオプションは、DNFではデフォルトで有効になっています。

この設定を使用せず、かつ、関連するリポジトリ.iniファイルでskip_if_unavailable=Trueを明示的に設定しない場合、Yumはすぐに停止し、リポジトリ・エラーを報告します。

overwrite_groupsオプション

該当なし

この構成オプションは、DNFでは削除されました。かわりに、DNFでは、同じグループIDを持つ複数のグループが識別されると、それらのグループのコンテンツがマージされます。

mirrorlist_expireオプション

該当なし

DNFでは、期限切れになるメタデータのみでなく、mirrorlistファイルにもmetadata_expireが使用されます。

mirrorlistリポジトリ・オプションでのmetalinkの指定。

該当なし

DNFでは修正が適用されて、yum.conf(5)にある次の情報は該当しなくなっています。

mirrorlistのURLにmetalinkという語が含まれている場合は、mirrorlistの値がmetalinkにコピーされます(metalinkが設定されていない場合)。

alwayspromptオプション

該当なし

このオプションは、構成を簡略化するためにDNFから削除されました。

group_package_typesオプション

該当なし

このオプションは、構成を簡略化するためにDNFから削除されました。

upgrade_requirements_on_install

無効にした場合のように動作します。

DNFでは他のパッケージ・マネージャの使用が許容されているため、RPMDBに加えられたすべての変更がトランザクションの履歴に格納されているとは限らない可能性があります。したがって、DNFはこの状況では失敗しません。つまり、forceオプションは不要になります。

yum swapコマンド

dnfshellコマンド

このコマンドは、削除およびインストール・トランザクションを実行します。

dnf --allowerasingコマンド

dnf --allowerasingコマンドを使用するのは、C (Pを必要とする)を削除せずに、A (Pを提供する)を、Aと競合するB (同じくPを提供する)に置き換えるyum swap A Bの使用と同じです。

依存関係の解決フェーズ中に表示される依存関係処理の詳細。

該当なし

DNFでは、depsolverがすべての依存関係を更新候補として考慮するため、長い出力が生成されます。Yum v3の出力も、特に大規模なトランザクションについては、紛らわしく、非常に長くなることがあります。

yum providesコマンド

dnf providesコマンド

dnf providesコマンドの動作は、ドキュメント化されている方法に沿っていますが、yum providesコマンドの実行時には、ドキュメント化されていない特定の動作がYumによって適用されます。たとえば、yum provides sandboxコマンドを実行した場合、yumは、コマンドのsandbox部分を解釈するために追加のヒューリスティックを適用し、パッケージによって提供されるファイルと一致するように、PATH環境変数のエントリをコマンドの先頭に順に追加します。DNFは、ドキュメント化されていないこのような動作をエミュレートしません。

--enablepluginsオプション

該当なし

すべてのプラグインがデフォルトで有効になっているため、このオプションは、DNFについてはドキュメント化されていません。

throttleおよびbandwidthオプション

throttleおよびbandwidthオプション

DNFでは、同時に実行される複数のダウンロードについて、合計ダウンロード速度が制限されるようになりました。Yum v3ツールでは、異なるプロセスでダウンローダが実行されていたため、このサポートは提供されていませんでした。

installonlypkgsオプション

installonlypkgs

DNFでは、installonlypkgs構成オプションのリスト値がDNFのデフォルトに追加されます。Yum v3では、オプション値によってデフォルトが上書きされます。

deltarpm_percentageオプション

該当なし

ブール型のdeltarpmオプションは、差分RPMファイルを使用するかどうかを制御します。Yum DNFでは、deltarpm_percentageオプションの使用はサポートされていません。かわりに、このツールは、DRPM/RPMの比率の最適な値を選択して、特定の状況でdeltarpmの使用が適切かどうかを判断します。

.srpmファイルおよび存在しないパッケージの処理

.srpmファイルおよび存在しないパッケージの処理

ローカルの.srpmファイルに対してインストール操作を要求するコマンドが実行された場合、DNFは初期段階でエラーが発生して停止します。Yum v3は警告を発行し、tourパッケージをインストールして続行します。Yum DNFは、使用可能なパッケージと一致しないパッケージ仕様についても同じエラーを発行することに注意してください。

インストールするパッケージを、それが不要になるパッケージに昇格。

インストールするパッケージを、それが不要になるパッケージに昇格。

DNFでは、あるパッケージ(A)をインストールする要求が別のパッケージ(B)のインストールに自動的に置き換えられることはありません(パッケージBによってパッケージAが不要になる場合)。obsoletes構成オプションが有効になっている場合、Yum v3の動作は、このアクションを実行することです。ただし、この動作はドキュメント化されておらず、問題となる可能性があります。

--installrootオプション

--installrootオプション

DNFでは、このオプションについてより予測可能な動作が提供され、--configオプションとは異なる方法でパスが処理されます。このパスは常にホスト・システムに関連しています。Yum v3では、このパスがinstallrootオプションと結合されます。また、reposdirオプションも、Yum DNFでは若干異なる方法で処理されます。たとえば、installroot内に1つのreposdirsパスが存在する場合、リポジトリは厳密にinstallrootから取得されます。一方、Yum v3では、reposdirの各パスがテストされます。

トランザクション表の後に表示されるプロンプト

トランザクション表の後に表示されるプロンプト

DNFでは、トランザクション表の後に表示されるプロンプトがYum v3の場合とは異なります。DNFでは、トランザクション表が表示された後にダウンロード機能は提供されません。トランザクションを続行するかどうかを確認するプロンプトのみが表示されます。パッケージをダウンロードするには、downloadコマンドを使用します。

listコマンド

listコマンド

DNFにおけるこのコマンドの動作は、すべてのリポジトリからすべてのパッケージをリストすることです。つまり、異なるリポジトリ名を持つ重複するパッケージ名がリストされる可能性があります。この変更は、ユーザーが好みのリポジトリを選択できるようにするために加えられました。

DNFには、yum-updateonbootコマンドを直接置き換えるものはありません。ただし、dnfautomaticコマンドを実行することにより、同様の結果を得ることができます。

次の表では、Yum V3のプラグインとDNFのプラグインを比較します。

Yumバージョン3のプラグイン DNFのプラグイン パッケージ

yum check

dnf repoquery --unsatisfied

dnf

yum-langpacks

dnf-langpacks

yum-plugin-auto-update-debug-info

debuginfo-install.confのオプション

dnf-plugins-core

yum-plugin-copr

dnf copr

dnf-plugins-core

yum-plugin-fastestmirror

dnf.conffastestmirrorオプション

dnf

yum-plugin-fs-snapshot

dnf-plugins-extras-snapper

yum-plugin-local

dnf-plugins-core

yum-plugin-merge-conf

dnf-plugins-extras-rpmconf

yum-plugin-priorities

dnf.confpriorityオプション

dnf

yum-plugin-remove-with-leaves

dnfautoremove

dnf

yum-plugin-show-leaves

dnf-plugins-core

yum-plugin-versionlock

dnf-plugins-core

yum-rhn-plugin

dnf-plugin-spacewalk

次の表では、Yum v3のユーティリティとDNFのプラグインを比較します。

Yumバージョン3のユーティリティ DNFのプラグイン DNFパッケージ

debuginfo-install

dnf debuginfo-install

dnf-plugins-core

find-repos-of-install

dnf list installed

dnf

needs-restarting

dnf tracer

dnf-plugins-extras-tracer

package-cleanup

dnf listdnf repoquery

dnfdnf-plugins-core

repoclosure

dnf repoclosure

dnf-plugins-extras-repoclosure

repodiff

dnf repodiff

dnf-plugins-core

repo-graph

dnf repograph

dnf-plugins-extras-repograph

repomanage

dnf repomanage

dnf-plugins-extras-repomanage

repoquery

dnf repoquery

dnf

reposync

dnf reposync

dnf-plugins-core

repotrack

dnf download –resolve –alldeps

dnf-plugins-core

yum-builddep

dnf builddep

dnf-plugins-core

yum-config-manager

dnf config-manager

dnf-plugins-core

yum-debug-dump

dnf debug-dump

dnf-plugins-extras-debug

yum-debug-restore

dnf debug-restore

dnf-plugins-extras-debug

yumdownloader

dnf download

dnf-plugins-core

次の表では、Yum v3のpackage-cleanupコマンドとそれに代わるDNFのコマンドを示します。

Yumバージョン3のコマンド DNFコマンド

package-cleanup--dupes

dnfrepoquery--duplicates

package-cleanup--leaves

dnfrepoquery--unneeded

package-cleanup--orphans

dnfrepoquery--extras

package-cleanup--oldkernels

dnfrepoquery--installonly

package-cleanup--problems

dnfrepoquery--unsatisfied

package-cleanup--cleandupes

dnfremove--duplicates

package-cleanup--oldkernels

dnfremove--oldinstallonly