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

>

Red

Hat

Enterprise

Linux

>

CentOS

Fedora

Core

>

Red

Hat

Enterprise

Linux

>

CentOS

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.
PRXIMO: INSTALANDO

NDICE

Introduo

Instalando

Usando o yum

Repositrios adicionais

Plugins

Instalando

Voltando

http://www.centos.org/.
Na verso 5.1, o sistema distribudo tem nada menos do que 6 CDs de instalao (7

instalao,

voc

pode

baixar

as

imagens

do

sistema

no

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/ptBR/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"

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

nome

"centos.gdhn.com.br":

da

mquina

domnio

que

ser

utilizado,

como

em

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"
Setting
up
Update
Setting
up
Reading
repository
metadata
in
from
Could not find update match for mysql-server

Outra observao que, depois de atualizar um servio, necessrio recarregar o servio

plugin
Process
repositories
local
files

(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
# service yum start

Isso faz com que a atualizao seja agendada atravs do cron e seja (por padro)
executada

todos

os

dias

4:02

yum

da

manh,

como

especificado

on

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: "CentOSBase.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&repo=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 packages

yum

clean

headers

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"
Loading mirror speeds from cached hostfile

plugin

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
mirrorlist=http://mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=extras

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 nooficiais.
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
mirrorlist=http://mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=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

Base

[updates]
name=CentOS-$releasever
Updates
mirrorlist=http://mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=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
#baseurl
mirrorlist
gpgkey
gpgcheck
protect = 0

Hat
=
=
=

Enterprise

$releasever
RPMforge.net
dag
http://apt.sw.be/redhat/el5/en/$basearch/dag
http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
=
1

Você também pode gostar