Você está na página 1de 16

Tutorial do CentOS

Introduo
O CentOS uma verso gratuita do Red Hat Enterprise, gerado a partir do cdigo fonte
disponibilizado pela Red Hat e mantido de forma bastante competente por um grupo de
desenvolvedores, que combina representantes de diversas empresas que utilizam o sistema
(sobretudo empresas de hospedagem) e voluntrios.
Ele , basicamente, uma verso gratuita do RHEL, que possui um excelente histrico de segurana
e conta com uma boa estrutura de suporte comunitrio e atualizaes pontuais de segurana,
qualidades que o tornam uma das distribuies Linux mais populares em servidores, sobretudo em
servidores web.
Se voc est interessado na estabilidade do Red Hat Enterprise, ou precisa rodar softwares como o
Oracle, que so suportados apenas nele, mas no tem como pagar caro pelo sistema, o CentOS
a sua melhor opo.
Red Hat x RHEL x CentOS x Fedora: Para quem est chegando agora, o Red Hat Linux foi uma
das primeiras distribuies Linux a conquistar um grande pblico. A primeira verso foi lanado
em 1994 e o sistema conseguiu ganhar espao tanto entre os desktops (devido relativa
facilidade de uso) quanto entre os servidores, devido boa estabilidade do sistema. O Red Hat
Linux foi descontinuado em 2004, dando lugar ao Fedora, que desenvolvido de forma
colaborativa e s diferentes verses do Red Hat Enterprise (tambm chamado de RHEL), a verso
comercial do sistema, destinada a grandes empresas.
O Red Hat Enterprise possui um ciclo de desenvolvimento mais lento (que prioriza a estabilidade)
e tem suas verses suportadas por um perodo de nada menos do que 7 anos aps o lanamento.
Para quem est acostumado com o rpido ritmo de desenvolvimento das distribuies Linux
domsticas, um sistema que suportado por 7 anos pode soar estranho, mas dentro do ramo
corporativo este um diferencial importante, j que atualizar os desktops e os servidores
sempre um processo arriscado e caro (devido mo de obra necessria, necessidade de treinar os
funcionrios, etc.), de forma que ciclos de desenvolvimento mais lentos e previsveis so
preferidos. Veja o caso do Windows, por exemplo, muitas empresas ainda usam servidores com o
2000 Server, ou mesmo com o NT 4.
O RHEL fornecido apenas em conjunto com um plano de suporte e no pode ser redistribudo em
seu formato binrio. Entretanto, todo o cdigo fonte est disponvel, de forma que algum que
pacientemente compile cada um dos pacotes disponibilizados pela Red Hat, acaba obtendo uma
cpia completa do sistema, que pode ser usada para todos os fins.
O CentOS nada mais do que um Red Hat Enterprise compilado a partir do cdigo fonte
disponibilizado pela Red Hat, com os logotipos as marcas registradas removidas. Isso garante que
os dois sistemas sejam binariamente compatveis (ou seja, um software compilado para rodar no
Red Hat Enterprise roda tambm na verso correspondente do CentOS sem precisar de
modificaes) e todos os passos de instalao e configurao dos dois sistemas so idnticos, o
que faz com que toda a documentao do Red Hat Enterprise se aplique tambm ao CentOS.
Ao aprender a trabalhar com o CentOS, voc automaticamente aprende a trabalhar com o Red Hat
Enterprise e vice-versa. A grosso modo, podemos dizer que o Fedora uma verso comunitria de
desenvolvimento do Red Hat Enterprise, enquanto o CentOS uma cpia praticamente exata do
sistema.
Com relao s verses, o Red Hat Enterprise 4 foi baseado no Fedora Core 3, enquanto o Red Hat
Enterprise 5 foi baseado no Fedora Core 6 e o Red Hat Enterprise 6 ser baseado no Fedora 9. As
verses do CentOS seguem as verses do Red Hat Enterprise, de forma que o CentOS 5
corresponde ao Red Hat Enterprise 5 e assim por diante:
Fedora Core 3 > Red Hat Enterprise Linux 4 > CentOS 4
Fedora Core 6 > Red Hat Enterprise Linux 5 > CentOS 5
Fedora 9 > Red Hat Enterprise Linux 6 > CentOS 6
Novas verses do Red Hat Enterprise so disponibilizadas a cada 18 ou 24 meses, mas recebem
um grande volume de atualizaes e correes de segurana durante este perodo. Isso leva ao
lanamento de sub-verses com as atualizaes pr-instaladas, como o Red Hat Enterprise 4.6 e o
Red Hat Enterprise 5.1, que so sempre seguidas pelas verses correspondentes do CentOS.
Assim como o sistema principal, as atualizaes e correes de segurana so disponibilizados
pela equipe do CentOS, novamente atravs de pacotes compilados a partir dos cdigos fontes
disponibilizados pela Red Hat. As atualizaes do CentOS so tipicamente disponibilizadas entre 24
e 72 horas depois das do Red Hat Enterprise (o que impressionante considerando que se trata
de um projeto voluntrio), mas muitas atualizaes crticas so disponibilizadas muito mais
rpido, em poucas horas. Assim como o Red Hat Enterprise, todos os releases do sistema so
suportados recebem atualizaes de segurana por um perodo de 7 anos. Com isso, o CentOS 4
ser suportado at 2012 e o CentOS 5 ser suportado at pelo menos 2013.
A grande diferena entre o CentOS e o Red Hat Enterprise a questo do suporte, j que, embora
caro, o suporte oferecido pela Red Hat bastante personalizado e os profissionais passam por um
exame de certificao exigente (o RHCE) que mistura testes tericos e prticos. Em servidores de
misso crtica, usar o Red Hat Enterprise e pagar pelo suporte geralmente uma boa opo, j
que alm de ajuda na implementao, voc tem uma equipe pronta para agir em caso de
problemas inesperados. Para os demais casos, voc pode perfeitamente utilizar o CentOS
contando com o suporte comunitrio oferecido atravs dos fruns do projeto.
O CentOS tambm bastante similar ao Fedora, mas nesse caso as diferenas so mais
evidentes, j que verses recentes do Fedora so baseadas em pacotes mais atuais, o que
invariavelmente leva a mudanas no sistema. De qualquer forma, os passos bsicos de instalao
e a configurao geral dos dois sistemas so praticamente iguais, de forma que as dicas desse
tpico se aplicam tambm ao Fedora.
Comparar o CentOS e o Fedora para uso em servidores desperta argumentos similares aos de uma
comparao entre o Ubuntu e o Debian. O CentOS segue as verses do Red Hat Enterprise, que
possui um ciclo de desenvolvimento muito mais longo, onde a principal preocupao a
estabilidade do sistema. O Fedora, por sua vez, desenvolvido em torno de ciclos muito mais
curtos, com uma nova verso sendo disponibilizada a cada 6 meses.
Por um lado isso bom, j que voc tem acesso a verses mais atuais dos pacotes, mas por outro
lado ruim, pois o lanamento mais freqente de novas verses aumenta sua carga de trabalho
como administrador, j que o sistema precisa ser atualizado mais freqentemente.
Alm de serem mais espaadas, as verses do CentOS recebem atualizaes de segurana por um
perodo muito mais longo, que torna a vida til das instalaes muito maior. Um servidor rodando
a verso mais atual do CentOS poderia ser mantido em servio por at 7 anos, recebendo apenas
as atualizaes de segurana, o que no seria possvel no Fedora, onde o suporte s verses
antigas encerrado muito mais rapidamente.
Em resumo, se voc no se importa de utilizar softwares ligeiramente antigos e quer um servidor
que oferea um baixo custo de manuteno e possa ser usado durante um longo perodo sem
riscos, o CentOS mais recomendvel. Se, por outro lado, voc precisa de verses recentes do
Apache, Samba ou outros servios, ou se tem alguma preferncia pessoal em relao ao Fedora,
tambm pode utiliz-lo sem medo.
Embora o Fedora seja em teoria menos estvel que o CentOS, ambas as distribuies podem ser
consideradas bastante estveis. Poderamos dizer que o CentOS "99% estvel" enquanto o
Fedora "98% estvel". Ou seja, existe diferena, mas ela relativamente pequena.

Instalando
Voltando instalao, voc pode baixar as imagens do sistema no http://www.centos.org/.
Na verso 5.1, o sistema distribudo tem nada menos do que 6 CDs de instalao (7 CDs na
verso de 64 bits), mas, assim como no caso do Debian, possvel fazer uma instalao
minimalista usando apenas o primeiro CD. Se baixar 4 GB no for um problema, voc pode ganhar
tempo baixando a verso em DVD.
Est disponvel tambm o NetInstall, uma imagem de boot com apenas 7 MB para instalao via
rede, onde o instalador baixa os pacotes necessrios via HTTP, FTP ou NFS durante a instalao.
perfeitamente possvel usar o NetInstall para fazer uma instalao via web, baixando apenas os
pacotes que sero realmente usados (em vez de baixar o DVD inteiro), mas a menos que voc
tenha uma conexo muito rpida, ou esteja fazendo uma instalao minimalista, isso no muito
recomendvel.
O mais comum que o NetInstall seja usado para instalar vrios servidores (imagine o caso de
uma empresa de hospedagem, por exemplo) a partir de um mirror local. Para configurar um, voc
precisa apenas copiar todos os arquivos do DVD de instalao para uma pasta e compartilhar o
contedo usando um servidor web ou FTP, informando o endereo IP do servidor e o diretrio
onde esto os arquivos ao instalar o sistema nas demais mquinas.
possvel ainda automatizar a instalao atravs do kickstart, um recurso disponvel tambm no
Fedora, onde voc gera um arquivo de configurao, contendo instrues para o instalador e
indica a localizao do arquivo usando um parmetro de boot, como em:
linux ks=http://192.168.1.254/ks.cfg
Este exemplo faz com que o instalador configure a rede via DHCP e tente acessar o arquivo
atravs de um servidor web interno. possvel carregar o arquivo via NFS, FTP, usando um
disquete ou mesmo gerar um CD de instalao personalizado, incluindo o arquivo. Ele uma boa
opo para ambientes onde voc precisa realizar um grande nmero de instalaes em pouco
tempo. Voc pode ver mais detalhes sobre ele aqui:
http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/pt-BR/Installation_Guide/ch-
redhat-config-kickstart.html
O CentOS utiliza o Anaconda, que o mesmo instalador grfico usado no Fedora. Para usar o
instalador grfico necessrio ter 512 MB de memria, mas possvel instalar o sistema em
mquinas antigas usando o instalador em modo texto, que pode ser acessado usando a opo
"linux text" na tela de boot:

Assim como em outras distribuies, voc pode incluir opes para o Kernel na linha de boot, de
forma a solucionar problemas de compatibilidade, como a "acpi-off", "noapic", "all-generic-ide",
"irqpoll" e "outras", como em:
linux noapic irqpoll
O instalador comea se oferecendo para realizar um teste da mdia de instalao e em seguida
pergunta sobre a linguagem do sistema (o portugus do Brasil est disponvel desde as primeiras
verses do sistema) e o layout do teclado.
Durante a instalao, voc pode ver o log de mensagens geradas pelo instalador pressionando
Ctrl+Alt+F3 e ter acesso a um terminal que pode ser usado para solucionar problemas
pressionando Ctrl+Alt+F2.
Em seguida temos o particionamento dos HDs, que comea com a clssica pergunta sobre utilizar
o layout padro, ou criar um layout personalizado:

O CentOS utiliza o LVM por padro, criando um nico volume lgico, englobando todo o espao
disponvel do HD e criando parties dentro dele. usada tambm uma partio /boot separada,
que fica fora do volume LVM, j que o grub no capaz de inicializar o sistema se o diretrio /boot
estiver dentro de um volume lgico:

O LVM (Logical Volume Manager) um recurso includo no Kernel Linux a partir da verso 2.4 que
cria uma camada de abstrao entre o sistema operacional e os HDs (ou outras unidades de
armazenamento utilizadas). Ele adiciona alguns complicadores adicionais na configurao, mas,
em compensao oferece um conjunto de vantagens bastante interessantes.
Imagine que no LVM o sistema no v HDs e parties, mas sim um ou mais volumes lgicos.
Cada volume se comporta como se fosse uma partio, que formatada e montada da forma
usual (um volume pode ser usado inclusive como partio swap). Estes volumes so agrupados
em um grupo de volumes lgicos (logical volume group) que se comporta de forma similar a um
HD.
O pulo do gato que o grupo de volumes lgicos pode combinar o espao de vrios HDs e ser
modificado conforme necessrio, incorporando mais HDs. Os volumes lgicos dentro dele tambm
podem ser redimensionados livremente conforme for necessrio.
Se voc precisa de mais espao dentro do volume referente pasta home, por exemplo, voc
poderia reduzir o tamanho de um dos outros volumes do sistema (que estivesse com espao vago)
e aumentar o tamanho do volume referente ao home, tudo isso com o servidor operante.
Outra possibilidade ir adicionando novos HDs ao servidor conforme precisar de mais espao. Ao
instalar um novo HD, voc comearia criando um volume fsico, englobando todo o espao do HD.
Uma vez que o volume fsico criado, voc pode expandir o grupo de volumes lgicos, de forma
que ele incorpore o espao referente ao novo HD. A partir da, voc pode expandir os volumes
lgicos, usando o espao livre.
Caso seja utilizada uma controladora SCSI ou SAS com suporte a hot-swaping, possvel at
mesmo adicionar, remover ou substituir HDs, fazendo as alteraes necessrias nos volumes
lgicos, tudo sem interrupes.
importante enfatizar que o LVM apenas uma mudana na forma como o sistema acessa os
discos, ele no um substituto para o RAID. No LVM voc pode agrupar vrios HDs em um nico
grupo de volumes lgicos, mas se um dos HDs apresentar defeito, o servidor ficar inoperante e
voc perder os dados armazenados no disco afetado, diferente do RAID, onde voc pode
sacrificar parte do espao para ter uma camada de redundncia.
O grupo de volumes lgicos criado pelo instalador visto pelo sistema como "/dev/VolGroup00" e
os volumes lgicos dentro dele so vistos como "/dev/VolGroup00/LogVol00",
"/dev/VolGroup00/LogVol01", etc. Estes nomes usados por default no so muito descritivos, mas
possvel alter-los usando o prprio particionador. Naturalmente, possvel tambm deixar de
usar o LVM, voltando ao sistema normal de particionamento. Nesse caso voc s precisa deletar
os volumes e o grupo de volumes lgicos e criar a parties desejadas usando o espao disponvel.
Para o particionamento do HD, valem as regras que vimos no meu tutorial anterior sobre
instalao de servidores Linux, ou seja, usar volumes separados para os diretrios "/tmp", "/var" e
"/home", de acordo com a aplicao do servidor.
Em seguida temos a tela de configurao do gerenciador de boot. Diferente de um desktop, onde
muitas vezes precisamos configurar o gerenciador para inicializar vrios sistemas operacionais, em
um servidor utilizamos sempre um nico sistema, o que simplifica as coisas. Voc pode rodar
outros sistemas operacionais simultaneamente usando VMware Server ou o Xen, utilizando
mquinas virtuais.

A opo "Utilizar uma senha no gerenciador de inicializao" define uma senha de boot, que
solicitada pelo grub no incio do boot. Esta senha raramente usada em servidores, pois impede
que o servidor seja reiniciado sem que algum esteja presente no local para digitar a senha no
boot seguinte. Ela tambm no eficiente como uma proteo contra acesso local do servidor,
pois facilmente burlvel.
Em seguida temos a configurao da rede. Tanto ao configurar um servidor para a Internet quanto
ao configurar um servidor de rede local, muito provvel que voc configure tambm um
domnio. Na Internet a funo do domnio obvia, j que atravs dele que os visitantes
acessaro os sites hospedados, mas um domnio pode ser til tambm em uma rede local,
facilitando o acesso s mquinas e viabilizando o uso de diversos servios adicionais. Mesmo o
Active Directory (utilizado em redes Microsoft) fortemente baseado no uso de domnios.
Gerenciar nomes de domnio tarefa para o Bind. Por enquanto, voc pode se limitar a configurar
o "fully qualified domain name" do servidor, ou seja, seu nome completo, incluindo o nome da
mquina e o domnio que ser utilizado, como em "centos.gdhn.com.br":

Depois de ajustar o fuso-horrio e definir as senhas do sistema, chegamos seleo dos pacotes
que sero instalados. Todas as categorias disponveis so opcionais, de forma que se voc
simplesmente desmarcar todas, far uma instalao minimalista do sistema, em modo texto.
As categorias importantes no nosso caso so a "Server" (a seleo padro de pacotes, incluindo o
Samba, Apache, FTP, etc.) e, opcionalmente, a "Server-GUI", que instala o ambiente grfico e as
ferramentas grficas de administrao. interessante ativar tambm o "Packages from CentOS
Extras", que torna disponvel um conjunto de pacotes adicionais, disponibilizados pela equipe do
CentOS.

Marcando a opo "Personalizar agora" voc tem acesso ao menu de seleo de pacotes. Se voc
marcou a categoria "Server-GUI" ou uma das categorias desktop, voc notar que os pacotes
referentes ao X, alm do Gnome ou KDE e um conjunto de aplicativos grficos estaro marcados.
Assim como o Fedora, o CentOS inclui um conjunto de aplicativos grficos para configurao do
sistema que podem ser teis em muitas situaes, de forma que muitos administradores preferem
manter o ambiente grfico instalado, mesmo em servidores que sero apenas acessados
remotamente. Voc pode perfeitamente manter os pacotes relacionados ao ambiente grfico
instalados, mas manter o ambiente grfico inativo enquanto no o estiver usando (de forma a no
consumir recursos do servidor).
Nas primeiras instalaes, recomendo que desmarque os pacotes dentro da categoria "Servidores"
e instale cada servio manualmente, assim voc pode estudar melhor o processo de configurao
de cada um:

Diferentemente do Red Hat Enterprise, que possui verses distintas para servidores (Red Hat
Enterprise Linux), servidores de misso crtica (Red Hat Enterprise Linux Advanced Platform) e
para estaes de trabalho (Red Hat Enterprise Linux Desktop), cada uma contendo uma coleo
de pacotes especficos para as tarefas a que so destinadas, o CentOS uma distribuio
unificada, que simplesmente inclui todos os pacotes disponveis nos repositrios.
Isso significa que, alm de ser usado como servidor, que o que estudaremos aqui, o CentOS
tambm pode ser usado como sistema desktop, j que inclui o Gnome, KDE e um conjunto
bastante completo de aplicativos que podem ser marcados durante a instalao.
Depois de concluda a cpia dos arquivos, aberto um agente de configurao (que no RHEL
chamado de Red Hat Setup Agent), que conclui a configurao do sistema. Duas opes
importantes so a configurao do firewall e do SELinux.
O configurador do firewall na verdade um wizard, que permite que voc selecione as portas
referentes aos servios que ficaro ativos no servidor (as portas selecionadas so abertas e todas
as demais fechadas) e, a partir das respostas, gera as regras correspondentes para o IPtables,
que o firewall propriamente dito. Alm das portas dos servios padro, voc pode adicionar
manualmente qualquer porta que precisar manter aberta. No exemplo estou abrindo a porta 901,
usada pelo swat:

Voc pode ajustar a configurao do firewall aps a instalao atravs do utilitrio "system-config-
securitylevel" (disponvel no Sistema > Administrao > Nvel de Segurana e Firewall). Existe
tambm uma verso em modo texto do aplicativo, o "system-config-securitylevel-tui", que pode
ser acessada via terminal (e inclusive remotamente, via SSH).
possvel tambm desativar a configurao do firewall e configurar as regras do IPtables
manualmente, como veremos a seguir. Escrever um script de firewall mais simples do que pode
parecer primeira vista.
Enquanto estiver estudando, recomendo que faa justamente isso; desativando o firewall na
configurao e configurando o IPtables manualmente. Isso evita que voc se depare com
problemas inesperados introduzidos por portas fechadas no firewall. Depois que voc entender a
configurao manual do IPtables, pode voltar a configurar o firewall atravs do wizard caso
prefira.
Continuando, temos o SELinux (Secure Linux), um sistema que visa reforar a segurana do
sistema, aplicando um conjunto de diretivas rgidas de segurana. O grande problema que o
SELinux interfere no funcionamento de um grande volume de servios e de softwares adicionais, o
que torna necessrio criar excees para cada caso.
Isso faz com que o modo "Enforcing" (Forando) do SELinux seja aconselhvel apenas em
situaes onde a segurana realmente seja um fator crtico e onde o administrador possua
profundos conhecimentos do sistema, de forma a diagnosticar problemas causados pelas polticas
de segurana e criar as excees necessrias. Um meio termo o nvel "Permissive" (permissivo),
onde o SELinux aplicado apenas a alguns servios especficos (o Apache e o Bind, por exemplo)
e age apenas em relao a eles.
Mesmo sem o SELinux, o CentOS uma distribuio bastante segura. Enquanto voc estiver
estudando sobre o sistema e utilizando-o em servidores de rede local, interessante desativar o
sistema. Com isso, voc evita situaes onde determinados servios no esto funcionando
(apesar da configurao estar correta) por causa das restries do SELinux.

Para desativ-lo depois da instalao, edite o arquivo "/etc/selinux/config" e substitua a linha
"SELINUX=enforcing" ou "SELINUX=permissive" por:
SELINUX=disabled
necessrio reiniciar o micro para que a alterao entre em vigor. O reboot demora alguns
minutos, pois o sistema precisa realizar um conjunto de modificaes nos arquivos.
A menos que voc tenha manualmente desmarcado o pacotes "openssh-server" durante a
instalao, o servidor SSH ser instalado e ficar ativo por padro, o que permite que voc faa o
restante da configurao do servidor remotamente:
$ ssh root@servidor
O arquivo de configurao do SSH no CentOS o "/etc/ssh/sshd_config", o mesmo usado no
Debian e no Ubuntu. O nome do pacote tambm o mesmo, "openssh-server". A nica diferena
que o script usado para controlar o servio o "/etc/init.d/sshd" e no "/etc/init.d/ssh".









Usando o yum
O yum (Yellow dog Update, Modified) o gerenciador de pacotes usado por padro no CentOS, no
Fedora e no Red Hat Enterprise. O yum foi originalmente desenvolvido pela equipe do Yellow Dog
(uma distribuio baseada no Red Hat, destinada a computadores com chip PowerPC) e foi
sistematicamente aperfeioado pela equipe da Red Hat, at finalmente assumir o posto atual.
O yum trabalha de forma bem similar ao apt-get, baixando os pacotes a partir dos repositrios
especificados nos arquivos de configurao, junto com as dependncias necessrias. Assim como o
apt-get, ele capaz de solucionar conflitos automaticamente e pode ser tambm usado para
atualizar o sistema. Essencialmente, o yum e o apt-get solucionaram o antigo problema das
dependncias (um pacote precisa de outro, que por sua vez precisa de um terceiro) que
atormentava os usurios de distribuies mais antigas.
Existem muitas diferenas entre o CentOS e o Debian, uma delas o formato dos pacotes
utilizados: o CentOS utiliza pacotes .rpm, enquanto o debian utiliza pacotes .deb. Ambos tambm
utilizam repositrios separados, com pacotes construdos especificamente para cada uma das duas
distribuies, de forma que existem algumas diferenas nos nomes dos pacotes e arquivos de
configurao usados.
Diferente do apt-get, onde voc precisa rodar o "apt-get update" antes de cada instalao para
atualizar a lista de pacotes, o yum faz a atualizao automaticamente cada vez que uma
instalao solicitada, checando os repositrios, baixando os headers do pacotes e calculando as
dependncias antes de confirmar a instalao, como nesse exemplo:

Isso faz com que a instalao de pacotes usando o yum seja um pouco mais demorada que
usando o apt-get. Ou seja, ganha-se de um lado mas perde-se do outro. :)
Para instalar um pacote, use o comando "yum install", como em:
# yum install mysql-server
Para remov-lo posteriormente, use:
# yum remove mysql-server
O yum possui tambm um recurso de busca, que bastante til quando voc est procurando por
um pacote, mas no sabe o nome exato, ou em casos de pacotes que possuem nomes diferentes
em relao a outras distribuies. Use o comando "yum search", seguido por alguma palavra ou
expresso, que faa parte do nome do pacote ou descrio, como em:
# yum search samba
Ele retorna um relatrio contendo todos os pacotes relacionados, incluindo o texto de descrio de
cada um. Isso resulta geralmente em uma lista relativamente longa. Para fazer uma busca mais
restrita, procurando apenas nos nomes dos pacotes, use o parmetro "list", como em:
# yum list httpd
Ele bem menos falador, retornando apenas os pacotes que possuem "httpd" no nome, sem
pesquisar nas descries.
Uma terceira opo a "provides" que mostra pacotes que incluem um determinado arquivo,
pesquisando no no nome ou na descrio, mas sim no contedo dos pacotes. Ele bastante til
em casos em que voc precisa de alguma ferramenta ou biblioteca que faz parte de outro pacote
maior, como em:
# yum provides mcedit
Em caso de dvida, voc pode verificar se um determinado pacote est instalado e qual a verso
usando o comando "rpm -q", como em:
# rpm -q samba
samba-3.0.25b-0.el5.4
Para atualizar um pacote j instalado, use o comando "yum update", como em:
# yum update samba
O comando "yum install" tambm pode ser usado para atualizar pacotes. A diferena entre o
"install" e o "update" que o "update" se limita a atualizar pacotes j instalados. Ao perceber que
o pacote solicitado no est instalado, ele exibe um aviso e aborta a instalao, como no exemplo
abaixo. Isso reduz a possibilidade de voc acabar instalando um novo servio por engano:
# yum update mysql-server
Loading "installonlyn" plugin
Setting up Update Process
Setting up repositories
Reading repository metadata in from local files
Could not find update match for mysql-server
Outra observao que, depois de atualizar um servio, necessrio recarregar o servio (como
em "service smb restart") para que a nova verso passe a ser usada. Esta mais uma pequena
diferena com relao s distribuies derivadas do Debian, onde os servios so reiniciados de
forma automtica depois de atualizados.
Para atualizar todo o sistema, comece usando o parmetro "check-update", que lista as
atualizaes disponveis:
# yum check-update
Se usado sem especificar um pacote, o "update" vai atualizar de uma vez s todos os pacotes do
sistema, de forma similar ao "apt-get upgrade" do Debian:
# yum update
Existe ainda o comando "yum upgrade", que um pouco mais incisivo, incluindo tambm pacotes
marcados como obsoletos (que no existem mais na verso atual). Ele til em casos em que
necessrio atualizar uma verso antiga do sistema:
# yum upgrade
possvel tambm fazer com que o yum atualize o sistema automaticamente todas as
madrugadas. Para isso, basta ativar o servio "yum" e configur-lo para ser ativado durante o
boot:
# chkconfig yum on
# service yum start
Isso faz com que a atualizao seja agendada atravs do cron e seja (por padro) executada
todos os dias s 4:02 da manh, como especificado no arquivo "/etc/crontab".




















Repositrios adicionais
A lista de repositrios usados pelo yum dividida em diversos arquivos, organizados na pasta
"/etc/yum.repos.d/". No CentOS, a pasta inclui por padro apenas dois arquivos: "CentOS-
Base.repo" e "CentOS-Media.repo". O primeiro inclui os repositrios oficiais da distribuio,
enquanto o segundo permite que voc instale pacotes contidos nos CDs (ou no DVD) de
instalao.
O arquivo "CentOS-Base.repo" contm diversas entradas como a abaixo, uma para cada
repositrio:
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&re
po=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
Ao adicionar repositrios adicionais, voc criaria novos arquivos dentro da pasta
"/etc/yum.repos.d/", um para cada repositrio adicional.O yum verifica os arquivos dentro da
pasta cada vez que executado, fazendo com que o novo repositrio passe a ser usado
automaticamente.
Normalmente, os responsveis pelos repositrios disponibilizam arquivos de configurao prontos,
que precisam ser apenas copiados para dentro da pasta "/etc/yum.repos.d". Para adicionar o
repositrio kbs-centos-extras, por exemplo, voc baixaria o arquivo "kbsing-CentOS-Extras.repo",
disponvel no http://centos.karan.org/.
Assim como o apt-get, o yum utiliza chaves GPG para checar a autenticidade dos pacotes antes de
fazer a instalao. Cada pacote assinado digitalmente pelo desenvolvedor, o que atesta que o
pacote foi realmente gerado por ele. Mesmo que algum tentasse adulterar o pacote (incluindo um
rootkit ou um script malicioso, por exemplo), no teria como falsificar tambm a assinatura, o que
levaria o yum a reportar o problema e abortar a instalao.
Ao adicionar um novo repositrio, necessrio adicionar tambm a chave pblica do
desenvolvedor, usando o comando "rpm --import", como em:
# rpm --import http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
Normalmente, a URL com a chave pblica GPG fica em destaque dentro da pgina com instrues
de como adicionar o repositrio.
Da mesma forma, para remover um repositrio posteriormente, voc removeria o arquivo da
pasta, de forma que o yum deixe de us-lo. interessante tambm limpar o cache do yum,
usando os comandos:
# yum clean headers
# yum clean packages




Plugins
O yum oferece tambm suporte a plugins, que permitem expandir as funcionalidades do
gerenciador. Dois plugins bastante populares so o fastestmirror e o protectbase.
O fastestmirror faz com que o yum cheque a velocidade dos mirrors a cada instalao e baixe
sempre os pacotes a partir do mirror mais rpido (evitando os problemas de lentido que atingem
muitos usurios), enquanto o protectbase faz com que o yum d prioridade para os pacotes dos
repositrios oficiais, evitando que eles sejam substitudos por pacotes de outros repositrios
adicionados manualmente.
Para ativar o fastestmirror, basta instalar o pacote "yum-fastestmirror", como em:
# yum install yum-fastestmirror
Isso faz com que ele passe a ser usado automaticamente. Voc notar que o yum passar a exibir
duas mensagens adicionais durante cada operao:
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
Naturalmente, para que o fastestmirror possa escolher o repositrio mais rpido a utilizar,
necessrio que seja especificada uma lista de mirrors dentro da configurao de cada repositrio
na pasta "/etc/yum.repos.d". Voc notar que as entradas referentes aos mirrors oficiais incluem
uma linha "mirrorlist", que indica a localizao de um arquivo com a lista dos mirrors disponveis,
como em:
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&re
po=extras
Ao adicionar novos repositrios manualmente, no se esquea de pesquisar sobre a localizao do
arquivo com a lista dos mirrors, de forma a especific-lo na configurao.
Para ativar o protectbase, instale o pacote yum-protectbase:
# yum install yum-protectbase
Para que ele se usado, necessrio adicionar a linha "protect=1" ou "protect=0" na configurao
de cada um dos repositrios includos na pasta "/etc/yum.repos.d". Os repositrios com o
"protect=1" sero protegidos pelo protectbase, evitando que os pacotes sejam substitudos por
pacotes de verses mais recentes includos nos repositrios adicionais. Com isso, os repositrios
adicionais passam a realmente ser usados apenas para instalar pacotes que no fazem parte dos
repositrios principais, reduzindo bastante a possibilidade de problemas ao usar repositrios no-
oficiais.
importante proteger pelo menos os repositrios "base" e "updates", dentro do arquivo
"/etc/yum.repos.d/CentOS-Base.repo", como em:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&re
po=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
protect=1
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&re
po=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
protect=1
As demais entradas devem receber a opo "protect=0", como em:
[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1
protect = 0

Você também pode gostar