(2019.1)
package-cleanup コマンド (yum-utils パッケージ) が, いよいよ廃止される.
dnf は, Fedora 18 (2013年1月) で導入され、Fedora 22 (2015年5月) でデフォルトの package manager になった。Fedora 29 ではまだ package-cleanup コマンドは残っているが、アップデートで時々、うまく動かなくなっている。dnf への移行が必要.
Fedora 29 での廃止は見送られたが, Fedora 30 で今度こそ廃止の予定; Yum Won't Be Dropped For Fedora 29
yum 関連は, python2 に依存している残り少ないパッケージの一つ。この他はもう mariadb ぐらいしか残っていない。python2 時代の終わりでもある。
package-cleanup --leaves のアルゴリズムは壊れており、その点でも dnf に移行するメリットがある。
しかしながら、コマンドライン・オプションが変わってしまうため、単にコマンド名を替えるだけでは上手くいかない。
というわけで、簡単に対比表を作っておく。
package-cleanup コマンドは, dnf のサブコマンドで置き換えられる。
dnf は, サブコマンドが多すぎて, man とか info では、追いつかない。DNF Command Reference — DNF 4.0.10-1 documentation
package-cleanup のオプション | 内容 | 同等の dnf サブコマンド |
---|---|---|
--problems
| 手元のRPMデータベース上で問題がないか表示する. List dependency problems in the local RPM database | repoquery --unsatisfied
|
--orphans
| インストールされていて、提供元のリポジトリにないものを表示. List installed packages which are not available from currently configured repositories. リポジトリを使わずに別にrpmファイルをインストールしたようなもの以外は、すべて削除していい。 | repoquery --extras
|
--dupes
| バージョン違いなど重複してインストールされているパッケージ. Scan for duplicates in your rpmdb | repoquery --duplicates
|
--cleandupes
| 重複を探し、古いほうをアンインストールするところまでやってくれる. Scan for duplicates in your rpmdb and remove older | remove --duplicates
|
--leaves
| 手元のRPMデータベース上で, ほかのどのRPMからも依存されていないパッケージを表示する. List leaf nodes in the local RPM database. 余計なものである可能性が高い。rpmパッケージでないソースコードをコンパイルするとき必要なライブラリ・ヘッダ以外であれば、すべて削除していい。 | repoquery --unneeded
|
--oldkernels
| Remove old kernel and kernel-devel packages | remove --oldinstallonly
|
こうやって見ると、検索なのか削除なのかが混乱していたのが、整理されている。