Exame dos pacotes RPM
O utilitário rpm é uma ferramenta de nível inferior que pode recuperar informações sobre o conteúdo de arquivos de pacote e pacotes instalados. Por padrão, a ferramenta obtém informações de um banco de dados local de pacotes instalados. Use a opção -p do comando rpm para obter informações sobre um arquivo de pacote baixado, mas desinstalado. Use essa opção para inspecionar o conteúdo do pacote antes de instalar.
Recuperar informações gerais sobre pacotes instalados:
-
rpm -qa : lista todos os pacotes instalados.
-
rpm -qf FILENAME : determina que pacote fornece o FILENAME.
[user@host ~]$ rpm -qf /etc/yum.repos.d
redhat-release-9.1-1.0.el9.x86_64
Obter informações sobre pacotes específicos:
- rpm -q : lista a versão do pacote instalada atualmente.
[user@host ~]$ rpm -q dnf
dnf-4.10.0-4.el9.noarch
-rpm -qi : fornece informações detalhadas sobre o pacote.
-rpm -ql : lista os arquivos instalados pelo pacote.
[user@host ~]$ rpm -ql dnf
/usr/bin/dnf
/usr/lib/systemd/system/dnf-makecache.service
/usr/lib/systemd/system/dnf-makecache.timer
/usr/share/bash-completion
/usr/share/bash-completion/completions
/usr/share/bash-completion/completions/dnf
...output omitted...
- rpm -qc : lista somente os arquivos de configuração instalados pelo pacote.
[user@host ~]$ rpm -qc openssh-clients
/etc/ssh/ssh_config
/etc/ssh/ssh_config.d/50-redhat.conf
- rpm -qd : lista somente os arquivos de documentação instalados pelo pacote.
[user@host ~]$ rpm -qd openssh-clients
/usr/share/man/man1/scp.1.gz
/usr/share/man/man1/sftp.1.gz
/usr/share/man/man1/ssh-add.1.gz
/usr/share/man/man1/ssh-agent.1.gz
...output omitted...
- rpm -q —scripts : lista os scripts de shell que são executados antes e depois de o pacote ter sido instalado ou removido
[user@host ~]$ rpm -q --scripts openssh-server
preinstall scriptlet (using /bin/sh):
getent group sshd >/dev/null || groupadd -g 74 -r sshd || :
getent passwd sshd >/dev/null || \
useradd -c "Privilege-separated SSH" -u 74 -g sshd \
-s /sbin/nologin -r -d /usr/share/empty.sshd sshd 2> /dev/null || :
postinstall scriptlet (using /bin/sh):
if [ $1 -eq 1 ] && [ -x "/usr/lib/systemd/systemd-update-helper" ]; then
# Initial installation
/usr/lib/systemd/systemd-update-helper install-system-units sshd.service sshd.socket || :
fi
...output omitted...
- rpm -q —changelog : lista as informações de log de alterações para o pacote.
[user@host ~]$ rpm -q --changelog audit
* Tue Feb 22 2022 Sergio Correia <scorreia@redhat.com> - 3.0.7-101
- Adjust sample-rules dir permissions
Resolves: rhbz#2054432 - /usr/share/audit/sample-rules is no longer readable by non-root users
* Tue Jan 25 2022 Sergio Correia <scorreia@redhat.com> - 3.0.7-100
- New upstream release, 3.0.7
Resolves: rhbz#2019929 - capability=unknown-capability(39) in audit messages
...output omitted...
Consultar arquivos de pacotes locais:
- rpm -qlp : lista os arquivos que o pacote local instala.
[user@host ~]$ ls -l podman-4.0.0-6.el9.x86_64.rpm
-rw-r--r--. 1 student student 13755101 Mar 22 11:35 podman-4.0.0-6.el9.x86_64.rpm2637-15.el9.x86_64.rpm
[user@host ~]$ rpm -qlp podman-4.0.0-6.el9.x86_64.rpm
/etc/cni/net.d
/etc/cni/net.d/87-podman-bridge.conflist
/usr/bin/podman
...output omitted...