domingo, dezembro 27, 2009

Configuração Avançada do YUM

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.