Eliminar un archivo RPM sin tocar ninguno de los archivos

Eliminar un archivo RPM sin tocar ninguno de los archivos

Acabo de instalar un RPM totalmente empaquetado incorrectamente en mi distribución de openSUSE (el empaquetador agregó /y /usr/*como un archivo del paquete, por lo que no puedo desinstalarlo sin borrar todo el FS raíz)

¿Cómo puedo eliminar el paquete sin tocar ninguno de los archivos declarados?

Aquí están las informaciones:

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

Respuesta1

Teniendo un vago recuerdo de rpmlas numerosas opciones y comprobando elmanual, creo que esto debería funcionar:

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

Advertencia: no probado, verifique primero sus copias de seguridad.

Respuesta2

El rpm no eliminará el directorio cuando el directorio sea propiedad de algún otro paquete (y sea propiedad de filesystem) o cuando haya otros archivos que no sean propiedad de ningún otro paquete.

En otras palabras: rpm -qeste paquete no borrará tu fs.

información relacionada