Como posso zypper
listar 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