我刚刚在我的 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。