Escolar Documentos
Profissional Documentos
Cultura Documentos
Tutorial Do CentOS
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
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
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:
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
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
redundncia.
O grupo de volumes lgicos criado pelo instalador visto pelo sistema como
"/dev/VolGroup00"
os
volumes
lgicos
dentro
dele
so
vistos
como
o prprio
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
nome
"centos.gdhn.com.br":
da
mquina
domnio
que
ser
utilizado,
como
em
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
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
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
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
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
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
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
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:
Ele bem menos falador, retornando apenas os pacotes que possuem "httpd" no nome,
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:
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:
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
# 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
#
# 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:
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
[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