どのファイルにも触れずにRPMファイルを削除する

どのファイルにも触れずにRPMファイルを削除する

openSUSE ディストリビューションに、完全に間違ってパッケージ化された RPM をインストールしました (パッケージ作成者がパッケージのファイルとして追加した/ため/usr/*、ルート FS 全体を消去しないとアンインストールできません)

宣言されたファイルに触れずにパッケージを削除するにはどうすればいいでしょうか?

情報は次のとおりです:

rpm -qi nnn-4.0-1.x86_64
Name        : nnn
Version     : 4.0
Release     : 1
Architecture: x86_64
Install Date: Fri 28 May 2021 01:53:46 CEST
Group       : other
Size        : 112871
License     : BSD 2-Clause
Signature   : (none)
Source RPM  : nnn-4.0-1.src.rpm
Build Date  : Tue 13 Apr 2021 13:19:31 CEST
Build Host  : 43528e776956
Packager    : Arun Prakash Jana <[email protected]>
URL         : https://github.com/jarun/nnn
Summary     : The unorthodox terminal file manager.
Description :

Distribution: (none)
rpm -ql nnn-4.0-1.x86_64
/
/usr
/usr/bin
/usr/bin/nnn
/usr/share
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/nnn.1.gz

答え1

の数多くのオプションを漠然と記憶しrpmマニュアル、これでうまくいくと思います:

rpm -e --justdb nnn
rm /usr/bin/nnn /usr/share/man/man1/nnn.1.gz

警告: テストされていません。まずバックアップを確認してください。

答え2

filesystemディレクトリが他のパッケージによって所有されている場合 (および によって所有されている場合)、または他のパッケージによって所有されていない他のファイルがある場合、rpm はディレクトリを削除しません。

言い換えれば、rpm -qこのパッケージはファイルシステムを消去しません。

関連情報