一部のファイルを保持しながらrpmパッケージを削除する方法

一部のファイルを保持しながらrpmパッケージを削除する方法

httpd64ビットパッケージと32ビットパッケージのインストールに問題があります。

uninstallを介してパッケージの1つが削除された場合yum remove/etc/httpd/conf/httpd.conf

rpmファイルの削除を通過または除外する方法はありますかyum?両方のページを見ましたが、関連manするオプションは表示されませんでした。

注:アンインストール後にファイルをバックアップして復元できることがわかります。よりクリーンでエレガントなオプションがあるかどうか疑問に思います。

ベストアンサー1

rpm -e --justdb理想的ではありませんが、ファイルを削除せずにpkgを削除されたものとして記録して、同様の問題を解決しました。インストールセクションにのみリストされ、rpmアンインストールセクションにはリストされていない古いv4.4.2.3がありますが、アンインストールにも機能します。man rpm--justdb

概要:

  • 各pkgで宣言されたファイルを一覧表示します。
  • コンテンツを削除せずにデータベースから出るパッケージを削除するrpm -e --justdb PKG
  • 削除されたpkg宣言をクリーンアップして削除しますが、残りのpkg宣言されていないファイルは削除します。

準備する

pkg_keep="asterisk-core-1.6.2.24-1_centos5"
pkg_del="asterisk16-core-1.6.2.20-2_centos5"

# Record files claimed by each package
rpm -ql "${pkg_del}" > "files.${pkg_del}"
rpm -ql "${pkg_keep}" > "files.${pkg_keep}"

発信する pkg で宣言したが、残りの pkg では宣言していないファイルをリストします。 警告する: --line-regexp重要なので/fileフィルタリングされません/file2

grep -v -F --line-regexp -f "files.${pkg_keep}" "files.${pkg_del}" > files.cleanup

ファイルを削除せずにRPM DBから出るPKGを削除します。暗黙のman rpmifでは明確ではありません。必要かもしれません。--noscripts--justdb--nodeps

rpm -e --justdb --noscripts "${pkg_del}"

レビュー注意深い内容を削除しfiles.cleanup、その中にリストされているファイルを削除します。

リストされているファイルIMOを自動的に削除できますが、files.cleanupここでコマンドを発行すると、コピー/貼り付けリーダーが破損する可能性があります。

etckeeperまた、床だけに興味がある場合は、このようなものを使用することが役に立ちます/etc/

おすすめ記事