Gerenciando pacotes com o yum/rpm

O Yellowdog Updater Modified ou conhecido também como YUM é uma ferramenta utilizada para gerenciar a instalação e remoção de pacotes em distribuições Linux que utilizam o sistema RPM. Originalmente desenvolvido para a distribuição Red Hat, hoje ele também é utilizado em distribuições como Fedora, CentOS entre outras.

Instalação, remoção e atualização de pacotes
[root@notebook ~]# yum search proftp
proftpd-utils.x86_64 : ProFTPD - Additional utilities
proftpd-devel.i686 : ProFTPD - Tools and header files for developers
proftpd-devel.x86_64 : ProFTPD - Tools and header files for developers
proftpd-ldap.x86_64 : Module to add LDAP support to the ProFTPD FTP server
proftpd-mysql.x86_64 : Module to add MySQL support to the ProFTPD FTP server
proftpd-postgresql.x86_64 : Module to add PostgreSQL support to the ProFTPD FTP server
proftpd.x86_64 : Flexible, stable and highly-configurable FTP server

search – É usado para encontrar qualquer pacote que contenha a palavra chave específica na descrição.

[root@notebook ~]# yum install proftpd.x86_64

install – Usado para instalar a versão mais recente de um pacote ou grupo de pacotes.

[root@notebook ~]# yum remove ftp-0.17-70.fc24.x86_64

remove/erase – Usado para remover os pacotes especificados junto com qualquer outro pacote dependente dos pacotes que estão sendo removidos.

[root@notebook ~]# yum update

update – Usado para atualizar os pacotes específicado para a versão mais recente. Caso não haja pacotes especificados, o yum tentará atualizar todos os pacotes instalados.

[root@notebook ~]# yum check-update

check-update – Verifica se há atualizações disponíveis para pacotes instalados.

[root@notebook ~]# yum list

list – Lista todos os pacotes instalados no sistema.

[root@notebook ~]# yum list available 

list available – Lista todos os pacotes disponíveis para instalar no sistema.

[root@notebook ~]# yum localinstall pacote.rpm 

localinstall – Instala o pacote ‘.rpm’ resolvendo dependências.

[root@notebook ~]# yumdownloader samba.x86_64

yumdownloader – Faz download de pacotes .rpm do repósitorio.

[root@celta ~]# yumdownloader --source samba.x86_64 

yumdownloader –source – Faz o download do source do pacote .rpm.

RPM

Agora vamos ver o RPM, o RPM é a abreviatura de Red Hat Package Manager, é um sistema de gerenciamento de pacotes de software, assim como o formato de arquivo usado por esse sistema. Ele é parte da Linux Standard Base e serve para instalar, atualizar, desinstalar, verificar e procurar softwares.

[root@celta ~]# rpm -qa 
ntp-4.2.6p5-25.el7.centos.x86_64
perl-Socket-2.010-4.el7.x86_64
vim-filesystem-7.4.160-1.el7_3.1.x86_64
libsemanage-2.5-4.el7.x86_64
langtable-data-0.0.31-3.el7.noarch

-qa – Lista todos os pacotes instalados no sistema, (-q| –query, -a| –all).

[root@celta ~]# rpm -ivh samba-4.4.4-12.el7_3.x86_64.rpm 

-ivh – Instala o pacote rpm mostrando o progresso. (-i|–install, -v| –verbose, -h| –hash). O v sinaliza uma saída detalhada, enquanto o sinalizador h exibe o progresso como uma série de hashes durante a instalação.

[root@celta etc]# rpm -qf yum.conf 
yum-3.4.3-150.el7.centos.noarch

-qf – Mostra de que pacote o arquivo faz parte.

[root@celta etc]# rpm -ql yum-3.4.3-150.el7.centos.noarch 
/etc/logrotate.d/yum
/etc/yum
/etc/yum.conf
/etc/yum.repos.d
/etc/yum/fssnap.d
/etc/yum/pluginconf.d
/etc/yum/protected.d
/etc/yum/vars
/etc/yum/version-groups.conf
/usr/bin/yum
...
...
...

-ql – Mostra os arquivos que o pacote faz parte.

[root@celta etc]# rpm -qc yum-3.4.3-150.el7.centos.noarch 
/etc/logrotate.d/yum
/etc/yum.conf
/etc/yum/version-groups.conf

-qc – Mostra os arquivos de configuração de um pacote.

[root@celta etc]# rpm -qd yum-3.4.3-150.el7.centos.noarch 
/usr/share/doc/yum-3.4.3/AUTHORS
/usr/share/doc/yum-3.4.3/COPYING
/usr/share/doc/yum-3.4.3/ChangeLog
/usr/share/doc/yum-3.4.3/INSTALL
/usr/share/doc/yum-3.4.3/PLUGINS
/usr/share/doc/yum-3.4.3/README
/usr/share/doc/yum-3.4.3/TODO
/usr/share/doc/yum-3.4.3/comps.rng
/usr/share/man/man5/yum.conf.5
/usr/share/man/man8/yum-shell.8
/usr/share/man/man8/yum.8

-qd – Mostra os arquivos da documentação de um pacote.

[root@celta ~]# rpm -qlp samba-4.4.4-12.el7_3.x86_64.rpm 
/etc/openldap/schema
/etc/openldap/schema/samba.schema
/etc/pam.d/samba
/usr/bin/eventlogadm
/usr/bin/smbstatus
...
...
...

-qlp – Mostra o conteúdo de um pacote rpm.

[root@celta ~]# rpm -qR bacula-director-7.0.5-7.el7.x86_64 
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/usr/bin/env
bacula-common(x86-64) = 7.0.5-7.el7
bacula-libs(x86-64) = 7.0.5-7.el7
bacula-libs-sql(x86-64) = 7.0.5-7.el7
config(bacula-director) = 7.0.5-7.el7
libbac-7.0.5.so()(64bit)
...
...
...

-qR – Mostra os pacotes e as bibliotecas que um pacote pertence.

Referências:
https://pt.wikipedia.org/wiki/RPM_(Linux)
https://access.redhat.com/documentation/pt-BR/Red_Hat_Network_Satellite/5.4/html/Reference_Guide/pup-yum.html