刪除 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這個包不會擦除你的fs。

相關內容