Configuração Avançada do YUM
Introdução
O YUM é a ferramenta padrão para gerenciamento de pacotes das distribuições FEDORA, REDHAT e CENTOS. Semelhante ao APT-GET utiliza repositórios remotos para distribuir pacotes tanto oficiais como desenvolvidos por terceiros.
Este tutorial orienta sobre como utilizar o YUM de maneira avançada, isto é, configurando plugins e outras opções de configuração com recursos interessantes.
Os passos aqui desenvolvidos foram executados em um CENTOS 5.4. Dependendo da distribuição utilizada poderão haver mudanças.
Arquivos de Configuração
O YUM utiliza os seguintes diretórios e arquivos de configuração:
/etc/yum.conf
/etc/yum.repos.d
/etc/yum/pluginconf.d
/etc/logrotate.d/yum
[root@hermes ~]# cd /etc/yum.repos.d/ [root@hermes yum.repos.d]# ls CentOS-Base.repo CentOS-Media.repo Citrix.repo epel.repo epel-testing.repo mirrors-rpmforge remi.repo rpmforge.repo |
[root@hermes yum.repos.d]# cd /etc/yum/ [root@hermes yum]# ls pluginconf.d [root@hermes yum]# cd pluginconf.d/ [root@hermes pluginconf.d]# ls fastestmirror.conf security.conf |
Arquivo comentado: /etc/yum.conf
[root@hermes ~]# cat /etc/yum.conf [main] cachedir=/var/cache/yum keepcache=0 debuglevel=2 logfile=/var/log/yum.log distroverpkg=redhat-release tolerant=1 exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 # Set to ‘1’ if you wish to show any duplicate packages from any repository, from package listings like the info or list commands showdupesfromrepos=1 # Note: yum-RHN-plugin doesn't honor this. metadata_expire=1h installonly_limit = 5 # PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d [root@hermes ~]# man yum.conf [root@hermes ~]# cat yum.conf cat: yum.conf: No such file or directory [root@hermes ~]# cat /etc/yum.conf [main] cachedir=/var/cache/yum keepcache=0 debuglevel=2 logfile=/var/log/yum.log distroverpkg=redhat-release tolerant=1 exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 showdupesfromrepos=1 # Note: yum-RHN-plugin doesn't honor this. metadata_expire=1h installonly_limit = 5 # PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d |
Plugin: yum-security
O pacote yum-security instala um plugin capaz de executar updates de pacotes que estejam marcados com problemas de segurança e vulnerabilidades. Isto é extremadamente útil, pois nem sempre é necessário fazer um update de pacotes apenas para obter a versão mais recente.
As informações sobre problemas de segurança e vulnerabilidades são obtidas a partir das seguintes fontes:
- RedHat advisory
- RedHat Bugzilla database
- CVE number from MITRE's Common Vulnerabilities and Exposures directory
Para instalar o pacote basta executar como root: yum install yum-security
Após a instalação do pacote estão disponíveis novos comandos no yum:
- yum list-sec: lista os pacotes utilizando o RedHat Advisory ID e a classificação de cada update conforme os tipos enhancement, bugfix ou security.
- yum list-sec cves: lista os pacotes substituindo o RedHat Advisory ID pelo CVE ID.
- yum list-sec bzs: lista os pacotes utilizando o RedHat Bugzilla ID
Caso um pacote tenha vários registros estará listado vários vezes.
Para pode instalar apenas os pacotes com problemas de segurança executar como root:
yum update --security
Caso seja escolhido instalar apenas um pacote específico utilizar o comando:
yum update --bz 410101
O comando acima instala o pacote cujo RedHat Bugzilla ID é o 410101
Outro comando disponível é o yum info-sec <advisory-number> que fornece informações detalhadas sobre as vulnerabilidades envolvidas no pacote.