Linux
刪除 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 <engineerarun@gmail.com> 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
對 的眾多選項進行模糊記憶
rpm
,並檢查手冊,我認為這應該可以解決問題:rpm -e --justdb nnn rm /usr/bin/nnn /usr/share/man/man1/nnn.1.gz
警告:未經測試,請先檢查您的備份。
當目錄由某個其他包擁有(並且它由 擁有
filesystem
)或有一些其他文件不屬於任何其他包時,rpm 不會刪除該目錄。也就是說:
rpm -q
這個包不會擦你的fs。