¿Cómo puedo utilizar zypper
para enumerar las ubicaciones de los archivos instalados para un paquete determinado?
Respuesta1
rpmse puede utilizar para enumerar los archivos instalados de un paquete <package>
con:
rpm -ql <package>
Versión larga:
rpm --query --list <package>
zypper (por el momento) no admite la lista de archivos instalados.
Además, encuentro útil lo "inverso". Para encontrar el paquete "propietario" de un archivo, <file>
puede utilizar
rpm -qf <file>
devolver el paquete exacto.
Respuesta2
En openSUSE, existen varias formas de enumerar los archivos instalados. Con Zypper, intentaría:
zypper search -i
O:
zypper search --installed-only
Con RPM, puedes probar:
rpm -ql packageName | less
Respuesta3
Como no puedo agregar comentarios, agregaré otra respuesta e intentaré resumirla adecuadamente, porque las respuestas están casi completas pero dispersas.
Concremallerasolo no es posible, pero como el paquete lo instalacremallera, normalmente está en su disco duro. Si ya no está en el disco duro, puedes incluso descargarlo usandocremallera, sin tener que reinstalar:
zypper in --download-only <package_name>
Luego se muestra el nombre del paquete que se descarga. Normalmente, es el último nombre del paquete, porque las dependencias se recuperan primero (p. ej.firewalld-0.7.5-1.1.noarch.rpmpara paquetecortafuegos). Para encontrar el directorio simplemente puede usarencontraral igual que:
find /var/cache/zypp -name <package_name>
Debería devolver una sola línea con la ruta completa al archivo (por ejemplo/var/cache/zypp/packages/repo-oss/noarch/firewalld-0.7.5-1.1.noarch.rpm). Cuando haya encontrado el paquete y conozca su ruta, podrá utilizarrpm:
rpm -ql <path_to_package>
Quérpmluego enumera el contenido del paquete, incluidas las rutas donde esos archivos se instalarán en su sistema o donde ya se instalaron en su sistema.
Respuesta4
Respuesta tardía, pero otra opción es que, si está utilizando openSUSE, hay una pestaña que muestra los archivos instalados por un paquete en Yast2 Software Manager.
Puedes obtener (algunos de) los archivos de Zypper con este comando:
zypper if --provides <packagename>
Eso enumera todo lo que obtienes con el paquete. Por lo general, no es muy elaborado y no incluye las bibliotecas, pero no sé cuál es su caso de uso y podría ser suficiente.
P.ej
~$ zypper if --provides util-linux
Loading repository data... Reading installed packages...
Information for package util-linux:
-----------------------------------
Repository : openSUSE-Tumbleweed-Oss
Name : util-linux
Version : 2.39-3.1
Arch : x86_64
Vendor : openSUSE
Installed Size : 4.2 MiB
Installed : Yes
Status : out-of-date (version 2.39-2.1 installed)
Source package : util-linux-2.39-3.1.src
Upstream URL : https://www.kernel.org/pub/linux/utils/util-linux/
Summary : A collection of basic system utilities (core part)
Description :
This package contains a large variety of low-level system utilities
that are necessary for a Linux system to function. It contains the
mount program, the fdisk configuration tool, and more.
Provides : [27]
/bin/su
/bin/kill
/bin/more
/bin/mount
/bin/umount
util-linux(fake+no-canonicalize)
config(util-linux) = 2.39-3.1
eject = 2.1.0
fsck-with-dev-lock = 2.39
hardlink = 1.1
login = 4.0
rfkill = 0.5
util-linux = 2.39-3.1
util-linux(x86-64) = 2.39-3.1
/usr/bin/getopt
/usr/bin/ipcrm
/usr/bin/ipcs
/usr/bin/kill
/usr/bin/more
/usr/bin/mount
/usr/bin/renice
/usr/bin/setpriv
/usr/bin/su
/usr/bin/umount
/usr/sbin/nologin
/usr/bin/col
/usr/sbin/agetty