¿Cómo puedo enumerar todos los archivos que han sido instalados por un paquete ZYpp/Zypper?

¿Cómo puedo enumerar todos los archivos que han sido instalados por un paquete ZYpp/Zypper?

¿Cómo puedo utilizar zypperpara 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

información relacionada