Remova um arquivo RPM sem tocar em nenhum dos arquivos

Remova um arquivo RPM sem tocar em nenhum dos arquivos

Acabei de instalar um RPM totalmente empacotado incorretamente na minha distribuição openSUSE (o empacotador adicionou /e /usr/*como um arquivo do pacote, então não posso desinstalá-lo sem limpar todo o FS raiz)

Como posso remover o pacote sem tocar em nenhum dos arquivos declarados?

Aqui estão as informações:

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

Responder1

Tendo uma vaga lembrança das rpminúmeras opções de e verificando omanual, acho que isso deve funcionar:

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

Aviso: não testado, verifique primeiro seus backups.

Responder2

O rpm não removerá o diretório quando o diretório pertencer a algum outro pacote (e pertencer a filesystem) ou quando houver outros arquivos que não pertencem a nenhum outro pacote.

Em outras palavras: rpm -qdeste pacote não irá limpar seu fs.

informação relacionada