Como posso listar todos os arquivos que foram instalados por um pacote ZYpp/Zypper?

Como posso listar todos os arquivos que foram instalados por um pacote ZYpp/Zypper?

Como posso zypperlistar os locais dos arquivos instalados para um determinado pacote?

Responder1

rpmpode ser usado para listar arquivos instalados de um pacote <package>com:

rpm -ql <package>

versão longa:

rpm --query --list <package>

O zypper (no momento) não oferece suporte à listagem de arquivos instalados.

Além disso, acho o "reverso" útil. Para encontrar o pacote que "possui" um arquivo <file>você pode usar

rpm -qf <file>

devolvendo o pacote exato.

Responder2

No openSUSE, existem algumas maneiras de listar os arquivos instalados. Com o Zypper, eu tentaria:

zypper search -i

Ou:

zypper search --installed-only

Com RPM, você pode tentar:

rpm -ql packageName | less

Responder3

Como não posso adicionar comentários, acrescentarei outra resposta e tentarei resumi-la adequadamente, pois as respostas estão quase completas, mas dispersas.

ComZípersozinho não é possível, mas como o pacote é instalado porZíper, geralmente está no seu disco rígido. Se não estiver mais no disco rígido, você pode baixá-lo usandoZíper, sem precisar reinstalar:

zypper in --download-only <package_name>

O nome do pacote baixado é então mostrado. Normalmente, é o último nome do pacote, porque as dependências são recuperadas primeiro (por exemplofirewalld-0.7.5-1.1.noarch.rpmpara pacotefirewalld). Para encontrar o diretório você pode simplesmente usarencontrarigual a:

find /var/cache/zypp -name <package_name>

Deve retornar uma única linha com o caminho completo para o arquivo (por exemplo/var/cache/zypp/packages/repo-oss/noarch/firewalld-0.7.5-1.1.noarch.rpm). Quando você encontrar o pacote e souber seu caminho, poderá usarrpm:

rpm -ql <path_to_package>

O querpmthen lists é o conteúdo do pacote, incluindo os caminhos onde esses arquivos serão instalados em seu sistema ou já foram instalados em seu sistema.

Responder4

Resposta tardia, mas uma outra opção é se você estiver usando o openSUSE, há uma aba que mostra os arquivos instalados por um pacote no Yast2 Software Manager.

Você pode obter (alguns) arquivos do Zypper com este comando:

zypper if --provides <packagename>

Isso lista tudo o que você ganha com o pacote. Normalmente não é muito elaborado e não inclui as bibliotecas, mas não sei qual é o seu caso de uso e pode ser suficiente.

Por exemplo

~$  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

informação relacionada