Você está na página 1de 239

LpI-1

"O LPI certifica profissionais


4' edio -Atualizado para 1 PIC-1 3.5 (2012) de Linux em 3 liveis: LPIC-
1. LPIC-2 e LPIC-3, cada
Esto presentes neste livro as mudanas que significaram o salto para unia com duas provas. No
a verso 3.5 da certificao LPIC-1.0 carregador Li/ol no Litilizado momento do lanamento
uciano SiqLleira foi editor pela maioria das disiribuies e foi abandonado, dando lugar ao Grub - deste livro, o LPI conta com
desenvolvedor na Linux agora chamado Grub Iegacy - e a sua nova verso, o Grub 2. cerca de 40.000 profissionai:
ew Media do Brasil de certificados no lllLIndo
Ainda no contexto da instalao e iniciahzao. foram incluidos os conceitos
todo, e o Brasil participa

C
006 a 2009, perodo em bsicos de LVM e dos controladores de servio Upslad e Systemd, bastante
ue pubhcou os livros de com cerca de 5 a 6%
conhecidos por sua utilizao nas distribuies Ubuntu. Fedora e derivadas.
ertificao LPI- 1 e LPI-2, deste total. Em nosso pais,
ibuntu, Mquinas Virtuais Dentre as alteraes menores destacam-se o incluso das ferramentas de sistema de a certificao profissional
oni Virtualbox, Virtual izao arquivos ext4, revogao do chave GPG e excluso do servidor de lontes do X. Todos os est crescendo e ganhando

LPI1
;om Xen, lnfraestrutura de objetivos detalhados e em portugus encontram-se no apndice presente no final deste livro. corpo medida que as
empresas esto percebendo
edes, Desenvolvimento Com muito orgulho apresentamos essa 43 edio atualizada. Desde seu lanamento,
Web com Ajax e PHP. tal i liportncia nos
o livro tem recebido diversas manifestaes positivas de seus leitores, seja aqueles
processos de recrutamento,
autor trabalha com estudando de forma independente ou aqueles nas diversas instituies que o adotam
seleo e promoo. Os
inux h vrios anos e como material didtico em seus cursos. Realizando seus estudos com este livro voc
empregados j sentem rlue
Icompanhou de perto seguramente estar apto a obter sucesso no exame para Certificao LPIC-1
a certificao profissional
i evoluo do universo aumenta a empregabilidade
)pen Source. e, consequentemente, o
reconhecimento profissional.
rora da rea de tecnologia.
ormou-se em psicologia
101 102
)ela Universidade Estadual
aulista. Atualmente, Luciano Antonio Siqueira o treinamento e a
itua como desenvolvedor certificao profissional
reelancer e trabalha com em Linux so essenciais
jravao e produo para o desenvolvimento de
nusical, alm de profissionais, assim como
3xcursionar com para a alimentao do
;ua banda, ecossislema Linux, e esta
obra, por meio de seu autor
e editores, executar um
papel-chave neste sentido.
De minha parte, fico milito
feliz com esta iniciativa o
convido a todos para que
faam uso e desfrutem destc
Curso completo para LPIC-1 material extremamente bem
escrito, completo e de fcil
41 edio revisada e ampliada. leitura que o Luciano foi
Exerccios em todos os tpicos. capaz de desenvolver."
Livro preparado para a nova
prova vlida a partir de 2012. Jos Carlos Gouveia

' (
Certificaao

L P I ml
Luciano Antonio Siqueira

Certf icaao

LPIml
LINUX MW MEDIA

4 edio

So Paulo
2012
Ceutificao LPI-1
por Luciano Antonio Siqueira

Direitos autoraia e marcas roglslmdas C 2004 -2012:


Linux N. Media do Brasil Editora Uda.

Nenhum material pode ser reproduzido em qualquer moio, em parte ou no todo, sem penflisso expreasa da editora. Assume-se
que qualquer corTeapondncla recebida, tal como cartas, ornaila, tes. fotogratlaa, artigos e desenhos, fornecIda para publicao
ou licenciamento a terceiros do forma mundial no-exclusive pela Unux New Media do Brasil, a menos que explicitamente indicado.
Unux txna mama regiatrada de Linua Tornielda.

Reviso: Aileen Nakamura

Proleto grfico e diagramao: Paola Viveiros

Capa: Paola Viveiros

Linux New Media do Brasil Editora Ltda.


Rua So Bento, 500
Conj. 802 - Centro
CEP: 01010-001
So Paulo - SP - Brasil
Tel: +55(0)11 3675-2600
Fax: +55 (0)11 3672-1799

Siqueira, Luciano Antonio

Certificao LPI-1 / Luciano Antonio Siqueira. - So Paulo: Linux New Media do Brasil Editora Ltda, 2012.

ISBN: 978-85-61024-32-1

1. Linux 2. Informtica 3. LPI 4. Certificao 5. Redes 6. Computao


Run, rabbit rim.
Dig that hole, forget the sun,
and when tu last the work is done.
Don't sit dvwn itr time iv dig anorber one.

Brcathe
(Waters, Gilmour, Wright)

Corra, coelho. / Cave um buraco, esquea o sol, /


E quando o trabalho finalmente acabar 1 No descanse, hora de cavar outro.
Sumrio

Prefcio 9

Introduo 11

Tpico 101: Arquitetura de Sistema 17


101.1 Identificar e editar configuraes de hardware 18
101.2 Incio (boot) do sistema 25
101.3 Alternar runlevels, desligar e reiniciar o sistema 30

Tpico 102: Instalao do Linux e administrao de pacotes 37


102.1 Dimensionar parties de disco 38
102.2 Instalar o gerenciador de inicializao 40
102.3 Controle das bibliotecas compartilhadas 43
102.4 Utilizao do sistema de pacotes Debian 45
102.5 Utilizao do sistema de pacotes RPM eYIJM 47

Tpico 103: Comandos GNU e Unix 57


103.1 Trabalhar na linha de comando 58
103.2 Processar fluxos de texto com o uso de filtros 63
103.3 Gerenciamento bsico de arquivos 67
103.4 Puxos, pipes (canalizao) e redirecionamentos de sada 73
103.5 Criar, monitorar e finalizar processos 75
103.6 Modificar a prioridade de execuo de um processo 77
103.7 Procurar em arquivos de texto usando expresses regulares 78
103.8 Edio bsica de arquivos com o vi 80

Tpico 104: Dispositivos, sistemas de arquivos Linux e padro FHS


-Filesystem Hierarchy Standard 87
104.1 Criar parties e sistemas de arquivos 88
104.2 Manuteno da integildade de sistemas de arquivos 89
104.3 Controle da montagem e desmontagem dos sistemas de arquivos 91
104.4 Administrar cotas de disco 93
104.5 Controlar permisses e propriedades de arquivos 94
104.6 Criar e alterar links simblicos e hardlinks 98
104.7 Encontrar arquivos de sistema e conhecer sua localizao correta 100
Tpico 105: Shelis, scripts e administrao de dados 107
105.1 Personalizar e trabalhar no ambiente shell 108
105.2 Editar e escrever scdpts simples 110
105.3 Administrao de dados SQL 115

Tpico 106: Interfaces de usurio e Desktops 123


106.1 Instalar e configurar o Xli 124
106.2 Configurara gerenciador de login grfico 129
106.3 Acessibilidade 131

Tpico 107: Tarefas administrativas 139


107.1 Administrar contas de usurio, grupos e arquivos de
sistema relacionados 140
107.2 Automatizar e agendar tarefas administrativas de sistema 144
107.3 Localizao e internacionalizao 146

tpico 108: Servios essenciais do sistema 153


108.1 Manuteno da data e hora do sistema 154
108.2 Configurar e recorrer a arquivos de log 156
108.3 Fundamentos de MTA (MailTransferAgent) 158
108.4 Configurar impressoras e impresso 159

Tpico 109: Fundamentos de rede 169


109.1 Fundamentos dos protocolos de Internet 170
109.2 Configurao bsica de rede 176
109.3 Solues para problemas de rede simples 180
109.4 Configurar DNS cliente 185

Tpico 110: Segurana ii


110.1Tarefas administrativas de segurana 192
110.2 Segurana do host 200
110.3 Proteo de dados com criptografia 202

Apndices 217

Respostas dos exerccios 247


Prefcio

O Linux j representa, hoje, um mercado anual de mais de 18 bilhes de dlares e,


de acordo com especialistas, deve atingir um patamar superior a 50 bilhes em me-
nos de trs anos. Alm disso, cerca de 50% dos departamentos de Ti das empresas j
usam Linux e Open Source em suas reas mais importantes.
Como consequncia, a demanda por profissionais qualificados e certificados em
Linux deve crescer e muito no mercado corporativo. E focando nessa necessidade
que o autor Luciano Siqueira, a Linux New Media e o Senac, na figura do Daniel
Guedes, viabilizaram este projeto de produzir uma obra completa, abrangente e, ao
mesmo tempo, legvel. Este livro oferece todas as condies para que um profissional
ou estudante se prepare para as provas de certificao LPI, a qual, alm de ser a mais
importante certificao profissional em Linux, neutra e completamente indepen-
dente de qualquer distribuio Linux.
O LPI certifica profissionais de Linux em 3 nveis: LPTC-1, LPIC-2 e LPIC-3,
cada uma com duas provas. No momento do lanamento deste livro, o LPI conta
com cerca de 40.000 profissionais certificados no mundo todo, e o Brasil participa
com cerca de 5 a 6% deste total. Em nosso pas, a certificao profissional est cres-
cendo e ganhando corpo medida que as empresas esto percebendo tal importncia
nos processos de recrutamento, seleo e promoo. Os empregados j sentem que
a certificao profissional aumenta a empregabilidade e, consequentemente, o reco-
nhecimento profissional.
O treinamento e a certificao profissional em Linux so essenciais para o desen-
volvimento de profissionais, assim como para a alimentao do ecossistema Linux, e
esta obra, por meio de seu autor e editores, executar um papel-chave neste sentido.
De minha parte, fico muito feliz com esta iniciativa e convido a todos para que faam
uso e desfrutem deste material extremamente bem escrito, completo e de fcil leitura
que o Luciano foi capaz de desenvolver.
Parabns a todos os envolvidos.

Jos Carlos Gouveia

Jos Carlos Gouvela Diretor Geral do Linux Professionai lnstrtute - LPI - da Amrica Latina. Anteriormente, trabalhou
por cinco anos para a SGI - Silicon Graphics - como Diretor Geral da Amrica Latina, foi diretor geral da Novell. Platinum
Technology, PeopleSolI e JDEdwards, diretor da Anderson Consutting (Accenture) e da Dun&Bradstreet Software e gerente
da EDS. Gouveia formado em Cincia da Computao pela Unicamp, com ps'graduao pela Unicamp e pela PUC-RJ.
Inoduo

Introduo primeira edio

Se h algo de que os entusiastas e profissionais envolvidos com Linux no podem


reclamar a oferta de documentao oferecida pela maioria dos programas desen-
volvidos para o sistema. So milhares de pginas explicando minuciosamente cada
aspecto da configurao do sistema, englobando desde um simples comando para
lidar com arquivos de texto at um complexo servidor de email.
Porm, justamente a quantidade, mesmo que no negligenciando qualidade, que
pode tornar-se obstculo para o aprendizado. No raro encontrar, inclusive entre
profissionais da rea, queixas quanto falta de objetividade oferecida pelas pginas
de manuais, via de regra extensas e deveras tecnicistas.
Minha prpria experincia mostrou que o caminho mais comum de aprendizado
o que pode ser chamado de um auto-didatismo assistido, ou seja, a pessoa aprende
por si s at um determinado ponto, do qual s avana se auxiliada por um usurio
ou um grupo de usurios mais experientes.
A Internet tambm fonte indiscutvel de conhecimento sobre Linux. Sites sobre
o sistema brotam diariamente, mas, via de regra, contm material insuficiente para
quem quer ir alm das simples receitas e dicas. Para aqueles que no dominam o
ingls, soma-se a tudo isso a barreira da lngua, tornando ainda mais difcil conseguir
material especfico e de qualidade.
A certificao oferecida pelo Linux Professional Institute - www.lpi.org sempre
teve o pressuposto de ser independente quanto a distribuies e preparao do can-
didato, e talvez seja justamente a que residam sua fora e reconhecimento. Sendo
extremamente democrtica, porm, o profissional que deseja certificar-se pode se
sentir rfo durante a preparao.
para suprir essa demanda que o material aqui apresentado Foi escrito, tendo
como objetivo especfico a preparao para o exame de certificao LPJ Nvel 1. Es-
truturado exatamente conforme as exigncias do prprio Linux Professional Instirute
(ver apndice deste livro), nenhum ponto foi deixado de lado.
Mesmo sendo o contedo exigido para a prova bastante extenso, cada item
abordado de maneira objetiva, com demonstraes prticas de utilizao. correto
afirmar que o material til, mesmo para aqueles que ainda no tm o exame de
certificao em vista mas que desejam aprofi.indar seu conhecimento sobre Linux.
A leitura do livro no dispensa a experimentao prtica, devendo, assim, ser
acompanhado dela. Dado o grande volume de assuntos abordados, a utilizao das
ferramentas e dos conceitos demonstrados muito importante para fixao do con-
tedo, principalmente para quem o est vendo pela primeira vez.

11
Certificao LPI-1

Certamente, este livro lhe ser bastante til, tanto na preparao para o exame
quanto para referncia posterior. O conhecimento adquirido no decorrer de sua lei-
tura e sua formalizao por meio do certificado tero papel decisivo na sua vida
profissional. Bons estudos e boa prova!

12
Introduo

Introduo terceira edio (


Muita coisa aconteceu desde a ltima vez que a Certificao LPI foi alterada. Al-
guns dos contedos que eram abordados encontravam pouca aplicao prtica. Alm
disso, a organizao dos tpicos no obedecia a uma ordenao lgica e em alguns
pontos no havia distino entre as provas da certificao nvel 1 e as provas da cer-
tificao nvel 2.
A reviso 3.0, alm de eliminar alguns contedos ultrapassados e incluir novos
contedos atualmente mais relevantes, procurou estabelecer focos ainda mais distin-
tos entre a certificao nvel 1 e a certificao nvel 2.
A certificao nvel 1 procura abordar todos os aspectos que envolvem a confi-
gurao e a manuteno de uma mquina local conectada a rede. J a certificao
nvel 2 tem por objetivo geral a configurao e a manuteno de um ambiente de
servidor. Apesar das mudanas, prevalece a poltica do LPI de abordar somente
as ferramentas tradicionais de um sistema GNU/Linux, independente de distri-
buio. A seguir, est a viso geral das modificaes nessa nova reviso da prova,
fornecida pelo prprio LPI.

Viso geral das mudanas nos exames LPIC nvel 1

A nova reviso dos objetivos para as provas LPIC nvel 1, vlida a partir de abril de
2009, levou as provas para a verso 3.0. Essa a segunda reviso completa dos obje-
tivos, que padroniza a verso para o mundo todo. No mbito geral, o LPI antecipou
o cicio de cinco anos para revises completas. Por volta de cada dois anos e meio, os
objetivos sero modificados para refletir as possveis mudanas do Linux. A prxima
verso do LPIC-1 ser a 3.5 e refletir essa reviso parcial.
Alm dessas revises principais, haver adendos includos numa mdia trimestral,
com o intuito de esclarecer pontos e detalhes dos exames. Esses adendos no alteram
a verso da prova, pois tm apenas o intuito de esclarecer a cobertura da prova para
organizadores de cursos e livros.

Os novos pesos
O peso total de cada prova foi estabelecido em 60. Isso significa que, salvo em provas
com perguntas "beta" para fins de desenvolvimento do exame, cada prova ter exa-
tamente 60 questes. Portanto, a indicao de peso 3 em um determinado objetivo
indica que haver trs questes sobre o tema na prova (exceto, novamente, no caso
de haver questes beta para fins de desenvolvimento dos exames).

13
Cerifilcao LPI-1

Numerao dos objetivos


A numerao dos objetivos era passvel de dvida em funo de sua falta de une-
aridade. Por isso, os prefixos 1. e 2. foram descartados nessa reviso. Em todos os
momentos em que numeraes como l.nx.y ou 2.m.y aparecem, o fazem para citar
os objetivos antigos.

Reduo de contedo duplicado


Em verses anteriores dos objetivos da certificao LPI, alguns tpicos eram aborda-
dos tanto nos exames do nvel 1 quanto nos exames do nvel 2. Em alguns casos, o
mesmo contedo aparecia em diferentes provas dentro do mesmo nvel dc certifica-
o. A atualizao dos objetivos buscou reduzir as ocorrncias de contedo duplicado
em diferentes provas ou objetivos.
Contudo, algumas tecnologias - como DNS - so importantes nos dois nveis de
certificao e esto distribudas nos locais apropriados. Por exemplo, na certificao
nvel 1, a abordagem sobre o DNS est restrita configurao do cliente do servio.
Na certificao nvel 2, a abordagem passa para configurao e segurana de servi-
dores DNS.

Verses de programas
Quando apropriado, as verses especficas de programas so mostradas nos objetivos.
Por exemplo, a abordagem do Kernel 2.4 foi descartada para priorizar a verso 2.6.
As questes relacionadas ao ReiserES limitam-se verso 3 do sistema de arquivos, e
o servidor Bind 8.x no mais abordado na prova.

Alteraes de contedo
A maioria dos servios de rede e demais tarefas administrativas foram movidas para a
certificao nvel 2. O foco da certificao nvel 1 foi mais direcionado para o uso e
administrao de um sistema Linux local. Por exemplo, para obter a certificao nvel
1 ainda necessrio saber lidar com a configurao do NTP e Syslog.

Manuseio de base de dados SQL


Dados armazenados em bases SQL tornaram-se muito relevantes na medida em que
esses bancos de dados ficaram mais fceis de administrar e interagir. Para esse novo
objetivo, necessrio saber ler, incluir, atualizar e apagar dados a partir do banco.
Nenhum banco de dados especfico abordado, apenas o padro de instrues SQL.

14
Introduo

Acessibilidade
A nova verso da prova de certificao nvel 1 introduz a necessidade de preocupao
com questes de acessibilidade, programas e tecnologias assistivas.

Localizao e internacionalizao
Questes que envolvem outros idiomas alm do ingls so abordadas. Inclui configura-
o de fuso honirio, codificaes de caracteres e configuraes de ambiente relacionadas.

Criptografia de dados
A utilizao do ssh como ferramenta de segurana para o usurio final ganhou mais
relevncia. Alm disso, tambm abordada a utilizao do GPG (GnuPG).
Os contedos includos so expressivos e devem receber ateno, mas mesmo os
contedos abordados nas outras verses da prova sofreram alguma modificao e
no devem ser negligenciados. Essa terceira edio do livro Certificao LPI-1, sob
chancela da Linux New Media do Brasil - editora da reconhecida revista Linux Ma-
gazine - contempla todos os aspectos da certificao. Alm disso, foram indudos
100 exerccios do mesmo tipo daqueles que sero encontrados na prova. Tudo para
que o candidato possa sentir ainda mais segurana ao buscar sua certificao. O

15
Peso total do tpico
a prova: &

r
L Tpico 101,
Arquitetura
de Sistema
Principais temas abordados:

Aspectos fundamentais de configurao


de hardware no Linux;
Iniciaizao (bool) do sistema;
Nveis de execuo e desligamento.

1
Certificao tPI-1

101.1 Identificar e editar configuraes de hardware


Peso 2

A parte mais fundamental de um sistema operacional a comunicao com o


hardware da mquina. Antes mesmo que o sistema operacional seja encarregado, o
BIOS (Basic JnputlOurput System, ou Sistema Bsico de Entrada/Sada) identifica
e realiza testes simples nos itens ftindamentais de hardware, como processador,
memria e disco.

Ativao de dispositivos
O hardware bsico do sistema configurado por meio do utilitrio de configurao
de BIOS, a tela azul mostrada ao pressionar a tecla [Del] ou lF21 logo aps ligar o com-
putador. Por meio desse utilitrio, possvel liberar e bloquear perifricos integrados,
ativar proteo bsica contra erros e configurar endereos I/O, IRQ e DMA. Em
geral, as configuraes automticas de fbricas no precisam ser alteradas. Contudo,
pode ser necessrio ativar ou desativar dispositivos integrados, como teclados, con-
troladora USB, suporte a mltiplos processadores etc.

Inspeo de dispositivos
Existem duas maneiras bsicas de identificar recursos de hardware dentro de um sis-
tema Linux: utilizando comandos especficos ou lendo arquivos dentro de sistemas
de arquivos especiais.

Comandos de inspeo
So dois os comandos fluidamentais que identificam a presena de dispositivos:
1 spci: Mostra todos os componente conectados ao barramento PCI, como
controladoras de disco, placas externas, controladoras USB, placas integra-
das etc.
lsusb: Mostra os dispositivos USB conectados mquina.

Por que desativar o teclado?


Teclados so realmente necessrios em computadores Desktop, diretamente operados
pelo usurio sentado sua frente. Contudo, no caso de servidores, o teclado dispensvel,
pois raramente essas mquinas so operadas "ia/oco". Via de regra servidores so
operados remotamente, com ferramentas como o OpenSSH. Retirar o teclado pode
causar problemas, pois algumas mquinas interrompem a inicializao ao detectar sua
ausncia. Por isso importante desalivar a deteco do teclado no utilitrio de configurao
do BiOS, para evitar que o servidor no volte ao ar aps um reincio de sistema.

18
Tpico 101: Arquitetura e Sistema

Os comandos 1 spci ei susb mostram uma lista de todos os dispositivos no barramento


PCI e USB cuja presena foi identificada pelo sistema operacional. Isso no quer dizer
que o dispositivo esteja funcional, pois para cada componente de hardware necessrio
um componente de software que controla o dispositivo correspondente. Esse cornpo-
nente de software chamado mdulo, e na maioria dos casos j est presente no sistema
operacional. O comando 1 smod lista todos os mdulos atualmente carregados no sistema.
O seguinte trecho de sada do comando 1 spci mostra que uma placa de udio
externa foi identificada:

01:01.0 Network controiler: RaLink RT2561/RT61 802.119 PCI


01:02.0 Multimedia audio controller: VIA Technologies Inc. 10E1712 [Envy24] PCI
Muiti-Channei I/O Controiler (rev 02)
02:00.0 Ethernet controiler: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI
'-. Express Gigabit Ethernet controlier (rev 01)

Podemos obter mais detalhes desse dispositivo com o prprio comando 1 spci,
fornecendo o endereo do dispositivo (os nmeros no incio da linha) com a opo
-s e detalhando a listagem com a opo -v:

# ispci -s 01:02.0 -v
01:02.0 Muitinedia audio controiler: VIA Technologies Inc. 10E1712 [Envy24] PCI
'-.. Muiti-Channe) 110 Controiler (rev 02)
Subsystem: VIA Technoiogies Inc. M-Audio Deita 66
Flags: bus master, nedium devsei, iatency 32, IRQ 22
I/O ports at 1t800 [size=32]
I/O ports at b400 [size=16]
I/O ports at b000 [size16]
I/O ports at aBOO [size-64]
Capabilities: [80] Power Management version 1
Kernel driver in use: 10E1712
Kernel modules: snd-ice17l2

Com essa sada podemos identificar o modelo da placa (M-Audio Deita 66) e o
mdulo correspondente sendo utilizado pelo sistema (snd-icel 712). Uma situao
como essa indica que:
o dispositivo foi identificado;
um mdulo correspondente foi carregado;
o dispositivo est pronto para uso.

19
Certificao LPI-1

Com o comando lsmod verificamos a presena do mdulo snd-1ce1712:

$ lsmod
Module Size Used by

w83627ehf 23048 0
hwtnonvid 6912 1 w83627ehf
hrnon 6300 1 w83627e1h1`
ip 13444 O
fuse 53660 1
sndice1712 62756 O
snd_hda_codec_analog 62464 1
sndice17xxak4xxx 1168 1 sndjce1712
snd_ak4xxx_adda 11904 2 sndJce1712,snd_ice17xx_ak4xxx
snd_hda_intel 29000
snd_hda_codec 64128 2 snd_hda_codec_analog,snd..hddjntel
sndcs8427 11520 1 snd_1ce1712
snd_hwdep 10372 2 snd_usb_audio,snd_hda_codee
snd_ac91_codec 102052 1 sndJce1712
ovSlI 75664 0

A sada do comando lsmod dividida cm trs colunas:


Module. Nome do mdulo;
Size Memria ocupada pelo mdulo, em bytes;
Used by Mdulos dependentes.

Mdulos x Drivers
No sistema operacional Windows, os correspondentes dos mdulos so os
chamados dri vers. Na maiorias dos casos os drivers para Windows so fornecidos
pelos prprios fabricantes do dispositivo. Poucos fabricantes desenvolvem e
fornecem os drivers de seus dispositivos para Linux, ficando os prprios
desenvolvedores do Linux responsveis por produzir esses drivers. Por esse motivo,
alguns componentes que funcionam no Windows com o driver fornecido pelo fabricante podem
no possuir um mdulo funcional no Linux. Apesar disso, poucos so os casos de dispositivos
que no funcionam no Linux, como alguns modelos dos j ultrapassados Winmodems.

20
Tpico 101: Arquitetura e Sistema

comum que alguns mdulos possuam dependncias, como o caso do snd -1 ce1712.
Por tratar-se de um mdulo de dispositivo de udio, ele depende de outros componen-
tes do sistema de som do Linux, o sistema Alsa, tambm carregados como mdulos.
O comando isusb semelhante ao lspci e produz uma sada como essa:

lsusb
Bus 301 Device 031: D 1d6b:0002 Linux Foundat!on 2.3 rout hub
Bus 305 Device 021: OlZdi:1003 Huwei rechno]oges Co., tta. 220 HSDPA Moder /
270 HSDPA/HSUPA Modem
Bus 005 Device CC1; ID 1d6b:CCC1 Linux Foundation 1.1 root hub
Bus 304 Devce 031: ID ld6b:0001 nux Puundaton 1.1 root hub
Bus 303 Device 002: 10 040:0212 E.an .Microelectroncs Corp. Laser Mouse
Bus 003 Device 301: ID ld6b:3301 Linux Fourdation 1.1 root h:b

Bus 032 Jevice 302: 10 35a9:a511 Omrivision Technologies. Inc. OVSI)+ Webcam
Bus 002 flevice 001: 13 116b:C001 Linux Founuation 1.1 root hub

Ele mostra os canais USB disponveis e os dispositivos conectados. So exibidos


mais detalhes sobre os dispositivos com a opo -v. Um dispositivo especfico pode
ser escolhido ao informar o ID com a opo -ii:

II lsusb -v -d 12d1:1003
Bus 005 Device 021: ID 12d1:1003 Huawei Techno'.ogies Co.. Ltd. 220 HSDPA odem /
'-.. [270 HSDPA/HSUPA Mode
'Jevice 3escrptor:
bLength 18
bescriptorType 1
bcdUSB 1.10
bDevceCIass O (Defined at Interface leve])
bflevicesubClass O
bDeviceProtoco] O
bMaxPacketSize 64
idvendor 0x12d1 Huawei Techno)ogies Co., Ltd.
dPrcduct 0x1003 [220 HSDPA Modeir / [270 HSDPA/9S9A Moder
bcdDevice 0.30
iManufacturer 1 HJAWE] Technologies
iProduct 2 HUAWEI obi]e
iSeria' 0

21
Certificao LPI-1

Arquivos especiais e de dispositivos


Tanto o 1 spciquanto o 1 susb e o 1 sinod servem como facilitadores de leitura das infor-
maes de hardware armazenadas pelo sistema. Essas informaes ficam em arquivos
especiais localizados nos diretrios fproc e /sys.
O diretrio /proc contm arquivos com informaes dos processos ativos e de
recursos de hardware. Por exemplo, o arquivo /proclscsilscsi contm informaes
sobre a controladora SCSI identificada no sistema:

II cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 02 Id: 00 Lun: 00
Vendor: MegaRAID Model: L00 RAID1 70006R Rev: 1137
Type: Direct-Access ANSI SCSI revision: 02

Alguns arquivos importantes encontrados no diretrio /proc:


/proc/cpuinfo: Informao sobre o(s) processador(es) encontrado(s) pelo sistema;
/proc/diiia: Informao sobre os canais de acesso direto memria;
/proc/ioports: Informao sobre endereos de memria usados pelos dispositivos;
/proc/interrupts: Informao sobre as requisies de interrupo (lROJ nos
processadores.

Os arquivos em /sys tem flino semelhante aos do /proc. Porm, o /sys tem fun-
o especfica de armazenar informaes de dispositivos, enquanto que o /proc agrega
muitas informaes de processos tambm.
Tratando-se de dispositivos, outro diretrio muito importante o /dev. Nele en-
contramos arquivos especiais que representam a maioria dos dispositivos do sistema,
particularmente dispositivos de armazenamento.
Um disco IDE, por exemplo, quando conectado ao primeiro canal IDE da placa
me, representado pelo arquivo fdev/hda. Cada partio nesse disco ser identifica-
da como /devlhdal, /dev/hda2 e at a ltima partio encontrada.

Coldplug e Hotplug
So vrios os componentes responsveis por identificar o dispositivo e carregar o
mdulo correspondente. O sistema trata de maneira semelhante tanto os dispositi-
vos internos fixos quanto os dispositivos removveis e externos. Conceitualmente, os
dispositivos podem ser classificados como Coldpluge Hotplug.
Em linhas gerais, Coldplug significa a necessidade de desligar a mquina para
conectar um dispositivo. Exemplos de dispositivos coldplug so placas PCI e dis-
Tpico 101:Arquitetura e Sistema

positivos IDE. Na maioria dos computadores, CPU e mdulos de memria so


coldplug. Porm, alguns servidores de alta performance suportam hotplug para
esses componentes.
Hotplug o sistema que permite conectar novos dispositivos mquina em fun-
cionamento e us-los imediatamente, como no caso de dispositivos USB. O sistema
botplug foi incorporado ao Linux a partir do kernel 2.6. Dessa forma, qualquer
barramento (PCI, USB etc.) pode disparar eventos hotplug quando um dispositivo
conectado ou desconectado.
Assim que um dispositivo conectado ou dcsconectado, o hotplug dispara um
evento correspondente, geralmente trabalhando junto ao subsistema Udev, que atu-
aliza os arquivos de dispositivos em Idev.
Mesmo alguns dispositivos coldplug so configurados pelo sistema hotplug. Na
hora da inicializao, o script /etc/init.d/hotplug (ou /etc/rc.d/rc.hotplug em al-
guns sistemas) dispara os scripts agentes em /etc/hotpl ug/ para configurar aqueles
dispositivos que j estavam presentes antes de a mquina ser ligada.

Dispositivos de armazenamento
No Linux, todo dispositivo de armazenamento encontrado identificado por um
arquivo dentro do diretrio /dev. O nome utilizado para o arquivo depende do tipo
do dispositivo (IDE, SATA, SCSI etc) e das parties nele contidas. Os nomes so
definidos como mostrado na tabela Nomes dos dispositivos de armazenamento
no Linux. Em alguns sistemas, se o Kernel Linux for configurado para tal, mesmo
os discos IDE podem se identificar como discos SATA. Nesse caso, os nomes sero
criados com o prefixo sd, mas ainda ser respeitado o esquema de nomes por maiteri
nave (no primeiro canal IDE, sda para master e sdb para slavc, por exemplo).
Dispositivos de CD/DVD e disquetes tambm tm aquivos correspondentes em
Idev. Um drive de CD/DVD conectado ao segundo canal IDE ser identificado
como fdev/hdc. Um dispositivo de disquete 3,5" tradicional identificado pelo
arquivo /dev/fd.

Dispositivos SCSI
Os dispositivos SCSI possuem algumas particularidades em relao a outros dispo-
sitivos de armazenamento. H basicamente dois tipos de dispositivos SCSI: 8 bit (7
dispositivos, alm da controladora) e 16 bit (15 dispositivos alm da controladora).
Dispositivos SCSI so identificados por meio de um conjunto de trs nmeros,
chamado SCSI_ID, que especificam:
Canal SCSI: cada adaptador SCSI suporta um canal de dados, no qual so
anexados os dispositivos SCSI. So numerados a partir de zero (0);

23
Certificao LPI-1

LO Nomes dos dispositivos de armazenamento no Linux


IDE Canal IDE utilizado fdev/hdal
(Primeira partio do disco conectado
Master/Siave
como master no primeiro canal IDE)
Nmero da partio
/dev/hdb2
(Segunda partio do disco conectado
como siave no primeiro canal IDE)
/dev/hdc3
(Terceira partio do disco conectado
como master no segundo canal DE)

ATk ; a1dejitodJtojSIQ$ '. .

.iSte; _____________________
Jdev/s,db1 1
- (M!ii - pidflegpnfltm) -
SCSI Ordem de identificao do disco pelo BIOS /dev/sdal
(Primeira partio do primeiro disco)
Nmero da partio
/dev/sdbl
(Primeira partio do segundo disco)
sT
(Crt6e e - t jrI1fl dd- endrlve, n caso dej estarem
pendres) i.peSptSdois discos SALA ou SCSI)
Nerba1

ID do dispositivo: a cada dispositivo atribudo um nmero ID nico, alter-


vel por meio de jumpers ou do BIOS da controladora. A faixa de IDs vai de O
a 7cm controladores de 8 birs e de O a 15 em controladores de 16 bits. O ID
da controladora costuma ser 7;
Nmero lgico da unidade (LUNJ. usado para determinar diferentes dis-
positivos dentro de um mesmo canal SCSI. Pode indicar uma partio em
um disco ou um dispositivo de fita especfico em um dispositivo multi-fita.
Atualmente no muito utilizado, pois adaptadores SCSI esto mais baratos
e podem comportar mais alvos por barramento.

Todos os dispositivos SCSI encontrados so lisrados em /proc/scsi/scsi. O co-


mando scsi_info usa as informaes desse arquivo para mostrar o SCSI_ID e o modelo
do dispositivo solicitado. Exemplo de contedo do arquivo /proc/scsi/scsi:

24
Tpico 101: Arquitetura e Sistema

est Iproc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 02 Id: 00 Lun: 00
Vendor: MeyaRATD Model : 100 RAbi 70006R Rev: 1137
Type: Oirect-Access ANSI SCSI revision: 02

Por padro, o dispositivo SCSI de inicializao o de ID 0, o que pode ser alte-


rado no BIOS da controladora. Se existirem tanto dispositivos SCSI quanto IDE, a
ordem da inicializao precisa ser especificada no BIOS da mquina. O

101.2 Incio (boot) do sistema


Peso 3
LA
possvel passar opes para o kernel no momento da inicializao, com propsitos
que vo desde especificar o montante de memria at entrar no modo de manuten-
o do sistema. O processo de inicializao tambm importante para identificar se
dispositivos e servios foram identificados e configurados corretamente.

Carregador de boot (Bootloader)


H dois principais programas responsveis por carregar um sistema Linux: o Grub e
Lilo, ambos denominados bootloader (carregador de boot). O mais popular deles
Grub, mas o Lilo ainda utilizado em algumas distribuies. Ambos funcionam de
maneira semelhante. Antes de carregar o kernel, o hootloader apresenta um prompt
no qual possvel alterar o comportamento padro de carregamento do sistema.
Geralmente necessrio apertar uma tecla como [Ese] ou [Tab] para que o prompt
aparea (figura 1).
Aps entrar no menu do Grub (figura 2), pressione a tecla [e] para entrar no sub-
menu de inicializao (figura 3).

Figura 1. O Grub aguarda alguns segundos para que o usurio aperteatecia [Esc] e acione o prompt de bool.

25
Certificao LPI-1

Para passar argumentos ao kernel, necessrio escolher a linha que inicia pelo ter-
mo kernel (figura 3) e apertar novamente a tecla [e]. A linha poder ser editada com
os parmetros desejados (figura 4).
No caso do exemplo, foi adicionado o parmetro i ni t para definir um controlador
de inicializao diferente de /sbi nu i ni t. Feito isso, basta pressionar [Enterj para voltar
ao menu anterior e, em seguida, pressionar IbI para iniciar o sistema. Nesse caso, ser
invocado um shell - o interpretador fbin/bash - e o sistema bsico estar disponvel
para tarefas como recuperao e correo de problemas.
Outras utilidades para os parmetros no boot so indicar o kernel a carregar, pas-
sar parmetros de configurao e alterar o runlevel(nfvel de execuo) inicial.
A maioria dos parmetros obedece ao formato item=valor. Exemplo de parme-
tros mais comuns na tabela Parmetros de inicializao. Dessa mesma forma,

ferentes verses de kernel.

Figura 3. No submenu de inicializao esto as diferentes linhas usadas para carregar o sistema.

26
Tpico 101: Arquitetura e Sistema

Figura 4. Os parmetros passados diretamente ao kernel no menu de inicializao do Grub.

possvel passar parmetros para os mdulos compilados estaticamente no kernel.


Para que os parmetros sejam automaticamente passados em todo boot, eles po-
dem ser indudos na instruo append no arquivo /etc/lilo.conf ou no arquivo
/boot/grub/rnenu.lst do Grub.
Outra possibilidade de uso do prompt do boorloader alterar o runlevel inicial do
sistema. Os parmetros aceitos so s, single, 1, 2, 3, 4, 5.
Se nenhum parmetro for passado, o ruulevd inicial ser aquele especificado no
arquivo /etc/inittab.

Parmetros de irticializao

acpi Liga/desliga o suporte a ACPI. acpi=oft

mil Define um outro programa para executar no lugar de /sbin/init. init=/bin/bash

mem Define o quanto de memria RAM estar mem=512M


disponvel para o sistema.

maxcpus Nmero mximo de processadores (ou ncleos) visiveis para maxcpus=2


o sistema (apropriado apenas para mquina com suporte
a multiprocessamento SMP). Valor O desliga o suporte
a SMP - corresponde a utilizar o parmetro nosmp.

guieI No exibe a maioria das mensagens de mnicializao. quiet

vga Seleciona um modo de vdeo. vga=773

root Define uma partio raiz diferente da pr- root/dev/sda3


determinada pelo carregador de boot.

ro ou rw Realiza a montagem inicial como somente ro


leitura ou como leitura e escrita.

27
Certificao LJ'l-1

Mensagens de inicializao
Em algumas distribuies Linux, como Ubuntu e Fedora, as mensagens de iniciali-
zao so suprimidas e em seu lugar exibida uma tela de abertura. Apesar de mais
interessante do ponto de vista esttico, a supresso das mensagens de inicializao
pode atrapalhar o diagnstico de possveis problemas. Para exibir as mensagens de
inicializao nesses casos, basta retirar as opes quiet e splash do linha de carrega-
mento do Kernel.
Dessa forma, sero exibidas mensagens de diagnstico e possveis mensagens de
erro referentes a hardware e software. Cada etapa da inicializao demonstrada

Etapas da inicializao

Neste momento o kemel ser Iniciado. A partir
dessas informaes podemos vedficar que o
dispositivo raiz indicado para o sistema ser a
primeira partio no primeiro disco (MOO), o
sistema de arquivos identificado (exl2fs), o tipo
da partio (0x63- Linux). Tambm mostrado
qual imagem do kemel ser utilizada (/batf
vmllnuz2.6.18-4-666)eairnagem (sehouver)
nitrd (/boot/inttrd.Img2.5.1B-4186).

Assim que o kernel assume o controle,


informaes conseguidas lunto ao BIOS
e outras Informaes de hardware so
mostradas na tela. um processo multo
rpido e dificilmente pode ser acompanhado.

O hardware fundamental do sistema.


como portas seriais, teclado e
mouse, ser ento iniciado.

28
Tpico 101: Atquitetura e Sistema

no diagrama Etapas da mi- 2 Lilo e mdulos externos


cializao a seguir. lembre-se de reinstalar o Lilo executando o comando
-

Para inspecionar o proces- filo toda vez que sua configurao for alterada. Para os
-

so de inicia]izao do sistema, mdulos externos, parmetros so passados diretamente


usado o comando dniesg. As com o comando niodprobeou podem constar em seus
mensagens do carregamento arquivos de configurao em Ietc/modprobe.d

so armazenadas em Iva ri
1 ogidniesg, alm de outras mensagens do kernel, que podem ser checadas dentro do
arquivo ivariloglmessages. O

Outros itens de hardware sendo


identificados e minimamente
configurados, como barramentos,
discos rigidos e dispositivo de rede

Assim que a identificao inicial do hardware


terminar e a partio raiz for montada, o
ser disparado e as configuraes
mais avanadas de hardware e os daemons
sero iniciados. Neste estgio, entre outros
procedimentos, so montadas as demais
parties, inclusive a partio swap,
conforme constadas em t-

Continuando a ltima etapa, demais


daemons de servios so disparados e o
usurio poder ingressar no sistema.

-J
Certificao LFt-1

101.3 Alternar runlevels, desligar e reiniciar o sistema


Peso 3

O runlevel (nvel de execuo do sistema) o grau de interao com o usurio


que o sistema opera. O programa /sbin/init, invocado logo no incio do processo
de boor, identifica o nvel de execuo informado no carregamento do kernel ou
no arquivo de configurao /etciinittab e carrega os programas - scripts e servios
- correspondentes, indicados nesse mesmo arquivo. Na maioria das distribuies Li-
nux os scripts invocados pelo init ficam no diretrio /etc/init.d. Em algumas outras
distribuies esses scripts ficam em /etc/rc.d.

O nveis de execuo (runleveis)


Os runlevels so numerados de O a 6 e suas fttnes podem variar de uma distribuio
para outra. Via de regra, o prprio arquivo /etc/inittab, que define os runleveis, traz
tambm informaes a respeito de cada um. O formato das entradas nesse arquivo
Id: runlevels:ao:processo.
O termo id um nome de at quatro caracteres para identificar a entrada do init-
tab. O termo runleveis a lista dos runlevels para os quais a ao da entrada dever ser
executada. O termo ao o tipo de ao a ser tomada e o termo processo o comando
a ser acionado.
Os tipos mais comuns para aes so mostrados na tabela Aes de runleveis.

. Aes de runleveis.

sysin Processo executado durante o boot do sistema.

ctrlaltdel O processo ser executado quando o init receber o sinal 816/NT, o que significa
que as teclas [Ctr]J+[Alt]+[DeI] foram pressionas.

Exemplo de trecho do arquivo /etc/inittab:


si: :sysinit:/etc/init.d/rcS
---:S:wait:fsbin/sulogin
1:2345:respawn:/sbin/getty 38400 ttyl
2:23:respawn:fsbin/getty 38400 tty2

Na maioria dos casos, a numerao dos runlevels representam:


O: desligamento do sistema;

30
Tpico 101:kquitetura e Sistema

1: usurio nico (modo de manuteno, sem rede ou servios);


2: multiusurio (estado padro na maioria dos sistemas);
3: multiusurio (padro em algumas distribuies);
4: no utilizado na maioria das distribuies;
5: no utilizado na maioria das distribuies;
6: reinicializao do sistema.

Os nicos runleveis comuns a toda distribuio Linux so O, 1 e 6. O runlevel pa-


dro, aquele que ser utilizado a menos que outros sejam passados no carregamento
do kernel, definido no prprio arquivo /etc/inittab, na entrada id:x:initdefault.
O x o nmero do runlevel iniciado por padro. Esse nmero jamais pode ser O ou
6, pois causaria o desligamento ou a reinicializao logo durante o boot.
Por ser o primeiro programa iniciado logo aps a inicializao do kernel, o PJD
(nmero de identificao de processo) do init ser sempre 1.

Alternando entre runlevels


Para alternar entre runlevels aps o boot, pode-se usar o prprio comando init ou
o comando telinit, fornecendo como argumento o nmero do runlevel desejado.
Para identificar em qual runlevel o sistema est operando, utilizado o comando
cognato chamado run/evel O comando runlevel mostra dois algarismos: o primeiro
mostra o runlevel anterior e o segundo, o runlevel atual.

Desligamento e reinicializao
O principal comando usado para desligar ou reiniciar o sistema o comando shutdo-

t wn, pois agrega algumas funcionalidades importantes. Ele automaticamente notifica


todos os usurios no sistema com uma mensagem exibida no terminal, e novos logins
so bloqueados.
Aps invocar o shutdown, todos os processos recebem o sinal SJGTERLvi, seguido
de SJGKILL, antes de o sistema desligar ou alternar o runlevel. O padro, caso no
sejam usadas as opes h ou -r, que o sistema alterne para o runlevel 1, ou seja, u-
surio nico. O comando shurdown invocado utilizando a sintaxe shutelown [opo]
horrio [mensagem]

Apenas o argumento horrio obrigatrio. Ele indica quando efetuar a ao requi-


sitada, e seu formato pode ser:
hh:rnrn: horrio para execuo;
+111: minutos at a execuo;
now ou +0: execuo imediata.

31
Certificao LPI-1

Algumas das opes mais usadas do comando shutdown so:


-a: usar o arquivo de permisso /etc/shutdown.allow;
-r: reiniciar a mquina;
-h: desligar a mquina;
-t segundos: define o tempo de espera antes de o comando shutdown executar
a ao solicitada.

O argumento mensagem ser o aviso enviado a todos os usurios que estiverem


logados no sistema.
Para impedir que qualquer usurio reinicie a mquina pressionando [CtrI]i-[Att]+[Defl,
a opo -a deve acompanhar o comando shutdown presente na linha do arquivo
/etc/inittab referente ao ctrlaltdel. Dessa forma, somente os usurios cujos no-
mes de login constarem no arquivo /etc/shutdown.allow podero reiniciar o sistema
usando a combinao de teclas.

Systemd
O Systemd um gerenciador de sistema e servios para Linux compatvel com o pa-
dro SysVe LSB. Ele possui uma forte capacidade de paralelizao, utiliza ativao
por sockers e D-Bus para iniciar os servios, disparo sob demanda dos daemons, rno-
nitoramento dos processos por cgroups, suporte a snapshots e restauro do estado do
sistema, controle dos pontos de montagem e implementa uma lgica elaborada de
controle de servios baseada em dependncia de transaes. Atualmente, o sistema
operacional Linux mais popular a adotar o systemd o Fedora.
O systemd d incio e supervisiona todo o sistema e baseado no conceito de
unidades. Uma unidade composta por um nome e um tipo e possui um arqui-
vo de configurao correspondente. Portanto, a unidade para um processo servidor
ht'd ( como o Apache) ser httpd.service e seu arquivo de configurao tambm se
chamar httpd.service.

Existem sete tipos diferentes de unidades:


service: o tipo mais comum, onde servios podem ser iniciados, interrompidos,
reiniciados e recarregados.
socket: esse tipo de unidade pode ser um socket no sistema de arquivos ou
na rede. Cada unidade do tipo socker possui uma unidade do tipo service
correspondente, que iniciada somente quando uma conexo chega uni-
dade socket.
device: uma unidade para um dispositivo presente na rvore de dispositivos
do Linux. Um dispositivo exposto como unidade do sysremd se houver uma

32
Tpico 101:Arquitetura e Sistema

regra do udev com essa finalidade. Propriedades definidas na regra udev podem
ser utilizadas como configuraes para determinar dependncias em unidades
de dispositivo.
mount: um ponto de montagem no sistema de arquivos.
automount: um ponto de montagem automtica no sistema de arquivos. Cada
unidade automount possui uma unidade mount correspondente, que iniciada
quando o ponto de montagem automtica acessado.
target: agrupamento de unidades, de forma que sejam controladas em conjun-
to. A unidade mulri-user.target, por exemplo, agrega as unidades necessrias ao
ambiente multi-usurio. correspondente ao nvel de execuo nmero 5 em
um ambiente controlado por SysV
snapshot: semelhante unidade target. Apenas aponta para outras unidades.

Interagir com unidades do systemd


O principal comando para administrao das unidades do systemd o systemctl.
Tomando como exemplo a unidade httpd. servi ce, as aes mais comuns na tabela
a seguir:

O Parmetros do
Iniciar o servio syste:ct start nttpd.servce

interromper o servio syt.r: ':t up httr,d.ervve

Reiniciar o servio systect] restart httpd.service

Exibir o estado do servio, incluindo se est ou rio ativo s1it.

iniciar o servio no boot syste"ct' enabe httpd.service.

Retirar o servio do boot 5 .7 ct t J'dCe 5tp..serv'.e

Verificar se o servio ativado no boot syster.:ct1 s-erat'ed bttpd.ser y ice;


(0 ativado, 1 desativado) echo $1

Alterando o nvel de execuo


O systemd no trabalha com o conceito de nveis de execuo. Sua abordagem uti-
lizar um target para cada situao como login grfico, multi-usurio etc.

33
Certificao 191-1

O correspondente ao nvel de execuo 3 (multi-usurio) o target multi-user. O


comando systemcti isolate alterna entre os diferentes targets. Portanto, para manu-
almente alternar para o target multi-user, utiliza-se:

systemctl isolate iulti-user.target

Para facilitar o entendimento, h targets de correspondncia para cada nvel de


execuo tradicional, que vo do runlevelo.target ao runleve16target. Apesar disso,
o systemd no utiliza o arquivo /etc/i ni ttab. O target padro do sistema aquele
apontado pelo link simblico /etc/systemd/system/defaul t target. Os targets dispo-
nveis encontram-se no diretrio /lib/systemd/systen/. O comando systemeti list-
-units --typetarget exibe todos os targets carregados e ativos.

Upstart
O upstart um gerenciador de servios utilizado como substituto ao tradicional init.
Como o systemd, seu principal objetivo tornar o boot mais rpido ao carregar
os servios paralelamente. Atualmente, o sistema operacional Linux mais popular a
adotar o upstart o Ubuntu.
Os scripts de inicializao utilizados pelo upstart localizam-se no diretrio
/etc/init.

Controle dos servios com Upstart


Os servios do sistema so listados com o comando i ni tctl li st. Tambm so exibi-
dos o estado do servio e o nmero do processo (se ativo):

# initeti list
avahi-daernon start/running, prccess 483
mountall-net stop/waiting
rc stop/waiting
rsyslog start/running, process 432
tty4 start/running, process 801
udev start/running. process 291
upstart-udev-brdge start/running, process 283
ureadhead-other stoplwaiting
whoopsie start/running. process 863
apport start/running
console-setup stop/waiting
hwclock-save stop/waiting

34
Tpico 101: Arquitetura e Sistema

irqbalance stop/waiting
plyrnouth-log stop/waiting
ttyb start/running, process 811
failsafe stop/waiting

Cada ao do upstart possui um comando independente. Por exemplo, para ini-


ciar o sexto terminal virtual com o comando start:

start tty6

Verificar seu status com o comando status:

status tty6
tty start/running, process 3282

E interromp-lo com o comando stop:

stop tty

O upstarr no utiliza o arquivo /etc/inittab para definir os nveis de execuo,


mas os comandos tradicionais runlevel e tel init so utilizados para verificar e alter-
nar entre os nveis de execuo.

35
Tpico 101: Arquitetura e Sistema

Questes Tpico 101


Q
1. Qual comando pode ser usado para inspecionar o hardware geral do sistema?
a. is
b. lspci
C. find
d. hwlook

2. Como possvel verificar quais mdulos esto carregados pelo sistema?


a. Com o comando depmod.
13. Lendo o arquivo /ctc/modprobe.conf.
c. Com o comando lsmod.
ci. Com o comando uname -m.

3. A sada abaixo:

Bus 002 Oevice 003: ID 046d:c06 ogtecn. fc. M I;V69aiH M UV96 0ptc8
'-. Wheel Mouse
Bus 002 Dev 1 ce 002: :o 43c:20U5 De'' 2o"jter Carp. RT7D50 Keyboaro
Bus 002 Devce D0: ID d6b:000I Vnx FD.reation 1.1 root hub

corresponde execuo de qual comando?

a. lsusb
13. cat /proc/devices
C. lspci
ci. car /devlusb

4. Dispositivos hotplug so dispositivos:


a. mais caros, de melhor desempenho.
13. que aquecem, prejudicando o funcionamento da mquina.
C. que devem ser conecrados com a mquina desligada.
ci. que podem ser conecrados com a mquina em funcionamento.

37
Certificao LPI-1

5. Qual o caminho completo para a segunda partio de uni disco IDE conectado
ao primeiro canal IDE?

6. Qual opo deve ser passada para o kernel para limitar o total de memria dispo-
nvel para o sistema?
a. mcmlimit
13. mem
c. limit
d. totalmem

7. Qual nvel de execuo corresponde ao desligamento do sistema?


a. O
13. 1
e. 2
d. 3

8. Qual com*Qdo usado para verificar o nvel de execuo atual do sistema? D


somente o comando, sem argumentos.

9. Quais comandos podem ser utilizados para desligar o computador corretamente?


Marque todos as respostas corretas.
a. shutdown
13. telinit
C. ctrlaltdel
d. powerdown

10. Qual linha do arquivo /etcinirtab define o nvel de execuo tm4ro do sistema?
a. xx:defaulc2
13, xx:initdefaulc3
e. xx:3:initdefault
cl. xx:telinic:3
7 Peso total do tpico
-f
na prova: II
/

L Tpico 102:
Instalao do Linux
e administrao
de pacotes
Principais temas abordados:

Elaborao de esquema de
parties para o Linux:
Configurao e instalao de um
gerenciador de inicializao;
Controle de bibliotecas
compartilhadas por programas:
Utilizao dos sistemas de
pacotes Debian e RPM.

[.
Certificao LPI-1

102.1 Dimensionar parties de disco


Peso 2

No Linux, todos os sistemas de arquivos em parties so acessados por um processo


chamado montagem. Nele, unia determinada partio de dispositivo de armazena-
mento vinculada a um diretrio, chamado ponto de montagem.

Sistema de arquivos raiz


O principal ponto de montagem a chamada raiz CLa rvore de diretriosou simplesmen-
te raiz e representada por uma barra (1). necessariamente o primeiro diretrio a ter
seu dispositivo vinculado. Aps a partio ser identificada com o cdigo hexadecimal 83
(representado por 0x83, Linux Native) e formatada que os arquivos do sistema opera-
donal podero ser copiados. Todo esse processo feito de forma quase transparente pelo
utilitrio de instalao das distribuies atuais. Depois de montada a raiz, os diretrios
comidos nesse dispositivo podero ser pontos de montagem para outros dispositivos.
Ordem de montagem dos sistemas de arquivo a partir do boot:
O carregador de boot (Grub ou Lilo) carrega o kernel e transmite as informa-
es sobre a localizao do dispositivo raiz;
Com a raiz montada, os demais dispositivos so montados conforme as ins-
trues encontradas no arquivo fetc/fstab.

muito importante que o arquivo /etc/fstab esteja no sistema de arquivos do dis-


positivo raiz. Caso contrrio, no ser possvel montar os demais sistemas de arquivo,
dado que as informaes de montagem destes no sero encontradas.
Em geral, duas parrics so o mnimo exigido em sistemas Linux tradicionais. Uma
ser a raiz e a outra ser a partio de swap. Pode ser necessria uma terceira partio pe-
quena, criada no incio do disco, apenas para armazenar o kernel e o carregador de mi-
cializao secundrio. Fora essas, no h regras inflexveis quanto criao de parties,
devendo ser avaliado o melhor esquema para a hino que o sistema desempenhar.

Q Swap no memria RAM


O espao de swap utilizado somente quando no h mais memria RAM disponvel, evitando
possveis talhas e at travamentos de sistema. Quando a memria RAM insuficiente, o
prprio sistema se encarrega de colocar na swap aqueles dados de memria que no esto
sendo utilizado no momento. Contudo, muitos dados em swap significam um sistema muito
lento, pois o tempo de leitura e escrita em disco muito maior quando comparado memria
RAM. Portanto, alocar mais espao de swap num sistema com pouca memria RAM no ser
soluo para melhor desempenho.

40
Tpico 102: Instalao do Linux e administrao de pacotes

A partio swap
Todos os programas em execuo, bibliotecas e arquivos relacionados so manridos na
memria do sistema para tornar o acesso a eles muito mais rpido. Contudo, se esses
dados alcanarem o tamanho mximo de memria disponvel, todo o funcionamento
ficar demasiado lento e o sistema poder at travar. Por esse motivo, possvel alocar
um espao em disco que age como uma memria adicional, evitando a ocupao total
da memria RAM e possveis travamentos. No Linux, esse espao em disco chamado
Swap e deve ser criado numa partio separada das parties de dados convencionais.
Uma partio swap identificada pelo cdigo hexadecimal 82 (0x82), atribudo na
sua criao. Geralmente, o tamanho da partio swap corresponde ao dobro da quan-
tidade de memria RAM presente no sistema. Essa regra, apesar de no ser prejudicial,
no far diferena em sistemas com vrios gigabytes de memria RAM. Apesar de no
ser comum, possvel utilizar mais de uma partio de swap no mesmo sistema.
recomendvel criar parties de swap nos dispositivos mais velozes. Se possvel, em
dispositivos distintos daqueles cujos dados sejam frequentemente acessados pelo sistema.
Tambm possvel criar grandes arquivos como rea de swap, o que geralmente feito
em situaes emergenciais, quando o sistema ameaa ficar sem memria disponvel.

Diretrios em outras

Iva r Esse diretrio contm as filas de email, impresso e bancos de dados,


dados que so muito manipulados. Ele abriga tambm os arquivos de
log, cujo contedo est em constante alterao e crescimento.
Itmp Espao temporrio utilizado por programas. Uma partio distinta
pan ftmp impedir que dados temporrios ocupem todo o espao no
diretrio raiz, o que pode causar travamento do sistema.
(home Contm os diretrios e arquivos pessoais dos usurios. Uma partio
distinta ajuda a limitar o espao disponvel para usurios comuns e
evita que ocupem todo o espao disponvel no dispositivo.
/boot Ponto de montagem para a partio contendo o kernel e arquivos do bootloader Grub. A
separao desse diretrio necessria apenas nos casos em que a arquitetura da mquina
exila que o kernel esteja antes do cilindro 1024 do disco rgido. Tambm necessria quando
o booltoader no for capaz de trabalhar com o sistema de arquivos utilizado na partio raiz.
/usr Programas, cdigos-fonte e documentao. O ciclo de alterao desses arquivos
longo, mas coloc-los em um dispositivo distinto reduz a intensidade de
acesso num mesmo dispositivo e pode aumentar a performance.

Outros pontos de montagem


Tudo no sistema pode ficar alojado diretamente na partio raiz. Em certos casos,
porm, interessante criar uma partio distinta para alguns diretrios especficos,
principalmente em servidores que sejam muito exigidos.

41
Certificao LPI-1

Sugestes de diretrios que podem estar em outros dispositivos/parties so mos-


trados na tabela Diretrios em outras parties.
Alguns diretrio e arquivos no devem estai fora da partio raiz, como ocaso do fetc,
ibm, isbi n e os diretrios especiais, como idev, iproc, isys. Esses dirct6rios e os arquivos que
eles contm so necessrios para que o sistema inicie e possa montar os demais dispositivos.

LVM
O LVM - Logical Volume Management um mtodo que permite interagir com os
dispositivos de armazenamento de maneira integrada, sem lidar com peculiaridades
inerentes ao hardware, Com o LVM, possvel redimensionar e incluir espao sem
necessidade de reparticionamento ou de mexer nos dados armazenados.

Um esquema LVM pode ser dividido em cinco elementos fundamentais:


VG: Volume Group. Nvel mais alto de abstrao do LVM. Rene a coleo de
volumes lgicos (LV) e volumes fsicos (PV) em uma unidade administrativa.
PV: Phisical Volume. Tipicamente um disco rgido, uma partio do disco ou
qualquer dispositivo de armazenamento de mesma natureza, como um dispo-
sitivo RAID.
LV: Logical Volume, O equivalente a uma partio de disco tradicional. Tal qual
uma partio tradicionaL deve ser formatado com um sistema de arquivos.
PE: Physical Extent. Cada volume fisico dividido cm pequenos "pedaos",
chamados PE. Possuem o mesmo tamanho do LE (Logicai Exient).
LE: Logical Extent. Semelhante ao PE, cada volume lgico tambm dividido
em pequenos "pedaos", chamados LE. Seu tamanho o mesmo para todos os
volumes lgicos.

Criao de um Volume Group


O kernel mantm as nformaes de LVM em um cache, gerado pelo comando vys-
can. Este comando deve ser executado mesmo que ainda no existam parries LVM,
circunstncia em que ser criado um cache vazio.
Em seguida, os PVs devem ser iniciados. muito importante assegurar que as
parties utilizadas esto vazias, para evitar qualquer perda acidental de dados. Por
exemplo, para criar PV nas parties /dev/sdbl e IdevIsdb2:

# pvcreate idevisdbl
Physical volume "fdev/sdbl" succesfully created
# pvcreate idevisdb2
Physical volume "/devisdb2" succesfuily created

42
Tpico 102: Instalao do Linux e administrao de pacotes

Como os PV iniciados, um novo grupo de volumes pode se criado. Para criar um


grupo de volumes chamado meulvm, como o comando vgcreate:

vycreate meu] vn /devfsdbl /dev/sdb2

Os PY so indicados em sequncia, aps o nome do VG. Diversas opes, como o


tamanho de PE, podem ser indicadas. Na sua ausncia, valores padro so utilizados.
Aps a criao do VG, sua ativao para uso feita com o comando vgchange:

vgchange -a y meulvm

Informaes tcnicas do VG recm criado - como tamanho e espao disponvel -


so exibidas com o comando vqdisplay, indicando como parmetro o nome do VG
em questo.

Incluso de volumes
Os LV so criados dentro de um VG ativo que possua espao livre disponvel. O
tamanho do LV pode ser especificado em nmero de extents com a opo - ou em
MB com a opo - L. Por exemplo, para criar um LV de 500 MB no VG mculvm:

lvcreate - 500 meulvm 0


Como no foi especificado um nome para o LV, um padro numerado ser utiliza-
do. Caso seja o primeiro LV no VG, ser nomeado como Iva/O, se for o segundo, ser
nomeado Ivoli e assim por diante. Sua localizao no sistema de arquivos ser dentro
do diretrio doVG em Idev: /dev/meulvrn/lvolO, /dev/meu]vm/lvoll etc.
Com os LV prontos, os sistemas de arquivos podem ser criados com os comandos
tradicionais como o mkJi. O

102.2 Instalar o gerenciador de inicializao


Peso 2

O gerenciador de inicializao - ou simplesmente bootivader - o componente res-


ponsvel por localizar e carregar o kernel Linux. Ele desempenha o estgio interme-
dirio entre o fim dos procedimentos do BIOS e o incio do sistema operacional.
Logo aps finalizar os procedimentos bsicos de diagnstico da mquina, o BIOS
carrega para a memria os dados presentes na MBR do disco definido como dis-

43
Certilicao LPI-1

positivo de boot. Esses dados correspondem a um programa bastante simples - o


carregador de boot - que dever tomar conta da mquina a partir daquele momento.
A MBR (MasterBoot Recordou Registro Mestre de Inicializao) ocupa o primeiro
setor do disco (512 bytes). Esse primeiro setor contm a tabela de parties e o car-
regador de inicializao. Assim que carregado pelo BIOS, o bootloader l as confi-
guraes (que podem estar gravadas no prprio MBR ou dentro de unia partio) e
a partir delas localiza e carrega o Kernd.
Atualmente, a maioria das distribuies Linux utiliza o Grub como carregador de
boot. A verso tradicional do Grub, chamada legaty, est gradualmente sendo substi-
tuda por sua implementao mais moderna, chamada Grub2.

GRUB Legacy
O GRUB (Grand Unified Bootloader) hoje o carregador de boor mais utilizado pelas dis-
tribuies Linux. Debian, Ubuntu, Fcdora etc o urili2anl como carregador de boor padro.
Ele tambm instalado na MBR, com o comando comando fsbinfqrub-install,
que obtm as instrues a partir do arquivo de configurao /boot/grubfrnenu.1 st.
O arquivo pode ser dividido em duas partes. Uma trata das configuraes gerais do
carregador de boot e a outra define cada opo de inicializao e suas configuraes.
Principais opes globais de fbootfqrub/menu. 1 st:
default: opo padro a ser inicializada (comeando por O);
timeout: tempo de espera para iniciar o boot, em segundos;
Op6es individuais para cada opo de boot:
title: nome para o itern;
root: localizao do carregador de segundo estgio e do kernel (hdo,O equiva-
le a /dev/hda ou /dev/sda, de acordo com tipo de dispositivo instalado);
kernel: caminho para o kernel (relativo opo root);
ro: montar inicialmente em modo somente leitura;
initrd: caminho para a imagem initrd.
A grande vantagem do GRUB em relao ao Lilo dispensar a reinstalao na
MBR toda vez que a configurao for alterada. Isso s possvel porque o carregador
de boot instalado na MBR pelo GRUB capaz de localizar o arquivo de configurao
diretamente na partio de origem.

GRUB2
GRIJB2 o sucessor do GRUB. Diferentemente de outros saltos de verso, onde
atualizaes no representam mudanas estruturais drsticas, o GRUB2 est to-
talmente reescrito. Apesar de manter muitas semelhanas com o GRUB Legacy,
praticamente todos os seus aspectos esto modificados.

44
Tpico 102: Instalao do Linux e administrao de pacotes

Dentre as melhorias trazidas pelo GRUB2, destacam-se:


Suporte a scripts com instrues condicionais e funes;
Carregamento dinmico de mdulos;
Modo de recuperao;
Menus personalizados e temas;
Carregar LiveCD a partir do disco rgido;
Suporte a plataformas diferentes da x86;
Suporte universal a UUIDs.

Diferenas entre GRUB2 e GRUB Legacy


Para o usurio final, no h diferenas entre o GRUB2 e o GRUB Legacy. O menu
de boot ainda muito parecido e as atualizaes continuam transparentes.
J o administrador do sistema precisa ficar atento a algumas diferenas importantes:
Ausncia do arquivo /boot/grub/menu.lst, substitudo por fboot/grub/grub.cfg
(em alguns casos, pode estar em /etc/qrub2/). Este, por sua vez, gerado auto-
maticamenre e no deve ser editado diretamente;
O comando do Grub find boot/grub/stagel no existe mais. O estgio 1.5 foi
eliminado;
No GRUB2, o principal arquivo de configurao para modificar do menu de
booto /etc/defaultfgrub;
Configuraes avanadas so definidas em arquivos separados localizados no
diretrio /etc/grub.df.
A numerao das parties inicia a partir do 1 e no mais de O;
A incluso dc diferentes kernels Linux e outros sistemas operacionais - como
Windows - feita automaticamente.
A atualizao do menu de inicializao do grub - a incluso de novos kerne!s e altera-
es feitas em /etc/defaul t/grub - s acontecer com a execuo do comando update-grub.
O comando update-grub pode se chamar update-grub2 em algumas distribuies ou
at pode estar ausente. Nesses casos, utilize grub-mkconfig -o /boot/grubtgrub.cfg ou
grub2-mkconfi g o /boot/grub2/grub . cfg, conforme for apropriado.

Configuraes
Todas as alteraes mais triviais so feitas no arquivo /etc/defu1t/grub. a partir desse
arquivo que ser gerado o arquivo /boot/grub/grub.cfg, que em vrios aspectos corres-
ponderia ao antigo menu.] st. O propsito do /etc/defaul t/qrub tornar a edio mais
simples e afastar as configuraes internas do grub para o arquivo /boot/grub/grub.cfg.

45
Certificao LPI-1

Mesmo aps atualizaes de kernel, a tendncia que esse arquivo permanea


inalterado. Seu contedo no est vinculado a nenhum kernel especfico, como no
caso do Ubuntu 12.04:

GRUB_OEFAULT=O
GRUS_NI DDEN_TIMEOUT=O
GRUB_U1 DDEN_TIM[OUL..OUI ET=true
GRUB_T1 MEOUT=1O
GRUB_DlSTRIBUTOR1sb_re1ease -1 -s 2> /dev/null 11 echo Debian'
GRUB_CMDL!N[_LINUX_DEFAULT'quiet splash"
GRUB_CMDLINE_LINUX="'

Para outras distribuies, como a Fedora 16, poucas diferenas podem ser notadas:

GRUBJIM[OUT=6 3
GRUBOISTRIBUTOR-Fedora'
GRUB_DEFAULTsaved
GRUB_CMDLINE_LINUX='rd.rnd=O rd.lvm-Q rd.driro LANG=ptjR.UTF-8 quiet
'-..SYSFONT=1atarcyrheb-sun15 rhgb rd.luks=O KEYTABL[=br-abnt2'

Traia-se de definies gerais, aplicveis ao comportamento do menu de boot e aos ker-


neis em geral. A seguir esto listadas as principais definies do arquivo fetcigrub/dcfault:
GRUB_DEFAULT: o sistema iniciado por padro. Pode ser a ordem numrica
(comeando poro), o nome como definido no arquivo grub. cfg, ou saveeh para
utilizar sempre a ltima escolha.
GRUB_SAVEDEFAULT: se definido como frue e a opo GRUB_DEFAULT
for saved a ltimo item escolhido ser utilizado como padro.
GRUB_HDDEN_TIMEOUT: quantos segundos aguardar sem exibir o menu
do grub. Durante esse perodo, o menu s aparecer ao pressionar uma tecla.
GRUB_HIDDEN_TJMEOUT_QUIET: se true, no ser exibido um conta-
dor mostrando o tempo restante para chamar o menu.
GRUB_TIMEOUT: tempo em segundos para exibio do menu do Grub. Se
o valor for -1, o menu ser exibido at que o usurio faa uma escolha.
GRUB_DISTJUBUTOR: nome descritivo para o irem.
GRUB_CMDLINE_LINUX linha de parmetros para o kernel (cine/tine).
Nessa opo os parmetros sero utilizados tanto para o modo normal quanto
para o modo de recuperao.
GRUB_CMDLINE_LINUX_DEFAULT: linha de parmetros para o kernel
(cmdline). Nessa opo os parmetros sero utilizados apenas para o modo normal.

46
Tpico 102: Instalao do Linux e administrao de pacotes

GRIJB_DISABLE_LINUX_UUID: se truc no localizar dispositivos por UUID.


GRUB_GFXMODE: resoluo da tela para o menu do grub e subsequente
inicializao, por exemplo 1024x768. A profundidade de cor tambm pode ser
especificada no formato 1024x768x16, 1024x764x24 etc. Dependendo do tipo
de vdeo e monitor, nem todas as resolues podem ser usadas. Para contornar
esse problema, uma lista de resolues separadas por vrgula pode ser especifica-
da. Caso uma resoluo no possa ser utilizada, a seguinte ser utilizada at que
uma delas funcione corretamente.
GRUBDISABLE_LJNTJX_RIcOVERY; se frue, no exibe a opo para re-
cuperao do sistema.
GRUB_INIT_TUNE: tocar um som no speaker interno antes de exibir o
menu do Grub. O formato tempo hertz durao, onde tempo corresponde s
batidas por minuto (60/tempo), hertz frequncia do som seguido de sua du-
rao (em unidades de tempo). O tempo definido apenas uma vez mas podem
haver mais de um par de hertz seguidos de durao.
GRUB_DISABLE_OS_PROBER descarta a busca automtica por outros sis-
temas operacionais.
Aps alterar o arquivo Ietcldefault/grub, o arquivo de configurao principal
grub.cfg deve ser gerado novamente. Como j mencionado, se o comando
update-qrub no estiver disponvel, utilize grub-rnkconfig /boot/grub/grub.cfg ou
grub2-rnkconfi g 0 /boot/grub2/grub. cfg, conforme for apropriado.

Dispositivos de inicializao alternativos


Mesmo que no exista um carregador de boot apropriado instalado no MBR ou
exista alguma falha que prejudique seu funcionamento, possvel iniciar o sistema
utilizando uma mdia alternativa, como um Live CD de distribuio ou um pendrive
preparado para isso.
A maioria das distribuies Linux fornece CDs ou DVDs de inicializao para ins-
talao do sistema. Essas mdias podem ser usadas para acessar e inicializar um sistema
j instalado e que possa estar inacessvel por uma eventual falha do carregador de mi-
cializao. Aps realizar o boot com uma mdia alternativa, os arquivos de configurao
do sistema estaro acessveis e podero ser alterados para corrigir possveis problemas.
Boa prtica fazer uma cpia da MBR, pata restaur-la no caso de ser sobrescrita
por outro sistema operacional.
Para fazer um becape da MBR, basta copiar os primeiros 512 bytes do disco, o que
pode ser feito com o comando dd:

dd ifr/dev/hda of'mbr.backup bs=1 count=512

47
Certificao LPI-1

Esse becape pode ser guardado e depois restaurado para a MBR:

dd ifmbr.backup of=/dev/hda

102.3 Controle das bibliotecas compartilhadas


Peso 1

Funes comuns e compartilhadas por diferentes programas so armazenadas em ar-


quivos chamados bibliotecas. Para compilar um programa necessrio que as biblio-
tecas do sistema possam ser localizadas por cada componente, que cria um vnculo
entre suas prprias fiines e as funes nas bibliotecas.
O vnculo pode ser esttico ou dinmico, ou seja, as funes de uma biblioteca po-
dero estar embutidas no programa compilado ou apenas mapeadas para a biblioteca
externa. Programas estticos no dependem de arquivos externos, porm so maiores
que programas dinmicos.

Identificar bibliotecas compartilhadas


Para conhecer as bibliotecas necessrias a um programa utilizado o comando ldd:

$ ldd /usr/bin!vi 4
linux-gate.so.l => (Oxffffe000)
iibterincap.so.2 => /lib/libternicap,so.2 (0x20a1F000)
libresolv.so .2 -> /lib/libresolv.so.2 (Oxb809c000)
libc.so.6 => /lib/libc.so.6 (Oxb7f50000)
/1ibfld-linux,so,2 (xbBOcf000)

O programa vi, um editor de textos simples, requer algumas poucas bibliotecas.


Na sada mostrada, todas as bibliotecas foram localizadas com sucesso. Portanto, o
programa carregar corretamente.
Se copiarmos esse mesmo programa de uma outra distribuio, onde fora compi-
lado com outras bibliotecas, o programa no funcionar corretamente, pois aquelas
bibliotecas de que precisa podem no ser encontradas:

$ ldd ./vi 4
linux-gate.so .1 => (Oxffffe000)
libncurses.so .5 => /lib/libncurses.so.5 (Oxb7fed000)
libselinux.so.l -> not found

48
Tpica 102: Instalao do Linux e administrao de pacotes

libcso.6 => /lib/libc.so.6 (Oxb7eal000)


libd1.so.2 -> /libflibd1.so,2 (Oxb7e9d000)
flib/ld-linux.so.2 (Oxb8048000)

Podemos identificar que no foi possvel localizar uma das bibliotecas - 1 bsel 1 nux.
so .1 -, portanto o programa no funcionar corretamente ou simplesmente no
poder ser executado. A melhor soluo para esses casos instalar o programa
apropriado para a distribuio utilizada, mas podem haver casos em que a instalao
manual de cada biblioteca necessria.

Localizao das bibliotecas


O programa responsvel por carregar a biblioteca e lig-la ao programa que dela
depende o ld.so , que invocado por um programa toda vez que este necessita de
uma funo localizada numa biblioteca externa.
O ld.so consegue localizar a biblioteca em questo com auxlio do mapeamen-
to encontrado no arquivo /etc/]d.so.cache. As localidades-padro de bibliotecas
de sistema so / lI b e /us ri] 1 b. Diretrios contendo bibliotecas adicionais devem
ser includos no arquivo /etc/ld.so.conf. H distribuies que possuem o diretrio
/etc/1 d. so. conf . d/, que pode possuir outros arquivos com localizaes de bibliotecas.
A execuo do comando ldconfig fundamental para que as alteraes em
/etc/1 d. so . conf atualizem o /etc/1 d .50. cache, que por sua vez possa ser utilizado
pelo ld.so.
Outra maneira dc deixar uma localizao de biblioteca ao alcance do ld.so adi-
cionar seu respectivo caminho varivel de ambiente L0J1IBRARY_PTH, com o co-
mando export LD_LIBRARY_PATH-cantinho_da_biblioteca. Esse mtodo, porm, garante
apenas o acesso temporrio do 1 d .so ao diretrio em questo. No Encionar fora
do escopo da varivel de ambiente ou quando a varivel deixar de existir, mas um
mtodo til para usurios que no podem alterar o ietc/1 d.so. conf ou para a execu-
o pontual de programas.

102.4 Utilizao do sistema de pacotes Debian


Peso 3

O sistema de pacotes Debian - utilizado por diversas distribuies, como Ubuntu


- torna possvel a instalao de praticamente todos os programas disponveis para
Linux sem que o usurio precise preocupar-se com bibliotecas ou com outros pro-
gramas necessrios.

49
Certificao LPI-1

Cada pacote de programa, com extenso deb, traz internamente as informaes


sobre todos os programas e bibliotecas dos quais depende.
As principais ferramentas de administrao de pacotes .deb so:
dpkg: Comando para instalao de pacotes individuais;
apt-get: Busca um pacote em repositrios remotos e o instala, assim como as
suas dependncias;
aptitude: Alternativa ao apt-get. Agrega algumas outras funes.

Instalao, remoo e atualizao de pacotes


O grande trunfo de utilizar um sistema de pacotes como esse a possibilidade de resol-
ver dependncias, ou seja, se o pacote a ser instalado necessitar de outros programas ou
bibliotecas ausentes no sistema, estas podero ser automaticamente baixadas e instaladas.

Repositrios
Para usufruir da resoluo automtica de dependncias, necessrio discriminar cor-
retamente a origem dos pacotes, que deve ser apropriada para a sua distribuio. Es-
sas origens so determinadas pelo arquivo /etc/apt/sources.list e, em alguns casos,
em arquivos adicionais no diretrio /etc/apt/sources.list.d/.
Cada linha do arquivo /etc/aptfsources li st determina um repositrio. Por exem-
plo, a linha deb http:f/ftp.br.debian.org/debian/ lenny main contrib non-free espe-
cifica o repositrio deb da distribuio Debian em um servidor no Brasil. O termo
lenny identifica a verso da distribuio, e os trs ltimos termos - main, contrib,
non-J*ee determinam a categoria dos pacotes a serem baixados.
Cada distribuio possui repositrios prprios, oficiais e no-oficiais. Depois de
alterar o arquivo /etc!apt/sources.list, necessrio executar o comando apt-get
update ou aptitude update para que as informaes dos pacotes e dependncias dispo-
nibilizados por cada repositrio sejam baixados e atualizados localmente.

Instalao
Para procurar programas, pode ser utilizado o comando apt-cache search nome_do_progra -
ma ou aptitude search nome_do_programa. No necessrio indicar o nome exato do pro-
grama, pois qualquer termo que ocorra na descrio do pacote tambm ser consultado.
Se nenhum resultado aparecer, possvel que os ndices no tenham sido atuali-
zados com apt-get update ou que o programa procurado no exista nos repositrios
indicados em /etc/apt/sources.list.
A instalao pode ser feita com apt-get instal 1 nome_do_programa ou aptitude i ns-
tail nome_do_programa. Caso haja pendncias, o administrador ser consultado em

50
Tpico 102: Instalao do Linux e administrao de pacotes

relao instalao desses programas. As dependncias no instaladas sero automa-


ticamente copiadas e instaladas.
Para instalar pacotes copiados separadamente, sem recorrer aos repositrios, usa-
do o programa dpkg:

dpkg -j virtuabox2.2_2.2.2-46594_Ubuntu_jaunty_i386.deb 0
Em alguns casos, a instalao de um pacote tambm apresentar um assistente de
configurao. Caso seja necessrio reconfigurar o pacote futuramente, utiliza-se o
comando dpkg-reconfigure:
dpkg-reconfigure virtualbox-2.2

Remoo
A remoo de programas feita pelo prprio apt-get. O comando apt-get remove
nome_do_programa desinstala o programa. De forma semelhante, o comando aptitude
remove nome_do_programa produz o mesmo resultado. Para remover o pacote e tam-
bm os arquivos de configurao relacionados, utilizado o comando apt-get remove
- -purge nome_do_pacote.

Atualizao de programas
Atualizar pacotes to ou mais simples que instal-los. Para atualizar um programa
para sua ltima verso disponvel nos repositrios usado o comando apt-get upgrade
nome_do_pacote.
Para realizar uma atualizao completa de todos os pacotes que possuem novas
verses no repositrio, basta utilizar o comando apt-get upgrade ou aptitude upgrade.

Inspeo de pacotes
Alm de proporcionar grande facilidade para instalar, remover e desinstalar programas,
o sistema de pacotes do Debian permite fazer diversos tipos de inspeo nos pacotes.
Comandos teis para fins de inspeo de pacotes esto na tabela Comandos
de inspeo. O

102.5 Utilizao do sistema de pacotes RPM e YUM


Pesa 3

Semelhante ao sistema de pacotes Debian, existe o sistema de pacotes RPM. Origi-


nalmente desenvolvido para a distribuio Red Hat, hoje ele tambm usado em
distribuies como Fedora, CentOS, entre outras.

51
Certificao LI'l-1

O comando RPM
O principal comando de administrao de pacotes o rpm. Sua aplicao semelhan-
te a do dpkg no sistema de pacotes Debian, que instalar pacotes individualmen-
te. Algumas abreviaes de opes do rpm so parecidas, porm realizam diferentes
aes, dependendo de sua posio na linha de comando.
A distino feita a partir da primeira opo da esquerda para a direita. O primei-
ro argumento passado ao comando rpm o argumento principal. As demais so as
sub-opes do argumento principal.
Um pacote . rpm pode ser instalado simplesmente invocando o comando rpm
-ivh nome do pacote.rpm. Veja na tabela Principais opes do rpm os argumentos
mais utilizados.
As sub-opes do comando rpm modificam a maneira como a opo principal
atua, principalmente em relao opo -q (investigao de pacotes). A tabela Prin-
cipais sub-opes do rpm mostra algumas dessas sub-opes.
Outras opes muito importantes do rpm so:
- -nodeps: Instala o pacote sem verificar as dependncias;
- -force: Fora a instalao/atualizao.
- -test: Mostra como seria a instalao, mas no instala;
requi res: Com opo principal "q' mostra as exigncias para o pacote
especificado;
- -whatrequi res: Com opo principal "q' mostra quais programas dependem
do pacote.

Comandos de

dpkg -1 nome do_pacote Mostra estado do pacote, se est instalado e


se h algum problema na instalao.
dpkg -s nome_do_arquivo Procura qual pacote instalou o arquivo especificado.
dpkq L nome do_pacote
- Lista os arquivos instalados pelo pacote especificado.
dpkg contents pacote. deb
- - Lista o contedo do pacote especificado.
apt -cache show nome_do_prog rama Mostra a descrio e os detalhes sobre o
pacote do programa especiticado.

Q Atualizao dos repositrios


Para que as informaes sobre as novas verses de programas sejam encontradas,
necessrio manter a base de informaes locais sobre os repositrios remotos atualizada.
Isso feito com o comando apt-get upiate ou aptitude update. conveniente programar a
execuo peridica de um desses comandos para evitar a perda de atualizaes importantes.

52
Tpico 102: Instalao do Linux e adminishao de pacotes

Converso e extrao
Uma das formas de listar o contedo de um pacote RPM utilizando o comando
rplfl2cpi o. Esse comando simplesmente mostra na sada padro o contedo do arquivo
RPM no formato cpio. Dessa forma, podemos listar todo o contedo de um arquivo
ou mesmo atrair algum arquivo especfico.
Por exemplo, para listar o contedo do pacote VirtualBox-2.2.2_46594Jedora11-1.
i586.rpm, usamos:

$ rpm2cpio VirtualBox-2.2.2_46594_fedora11-I.i586.rpm 1 cpio -t


,/etcfrc.d/init.d/vboxdrv
./etcfvbox
./Hb/raodules
./lib/niodulesf2.6.29.1-102.fcll.1586
./lib/modules/2.6.29.1-102.fcll,15B6/misc
./lib/modulesl2.6,29. 1-102.fcIl.iS86fmisc/vboxdrv.ko
./1ib/modues/2.6,29.1102.fcl1.i586/misc/vboxnetfIt.ko

Principais opes do rpm

-j ou - -instafl Instala o pacote.


- 7t- )JowaJLJ$JiP
- F ou - fresben Atualiza o pacote apenas se j estiver instalado.
Y ou flvKy Vrjfj ei? -
-q ou - - query Investiga pacotes e arquivos.
e oti efase
- oesttlt ,L A

do rpm

a Aplica uma varivel a todos os pacotes instalados.


e Com opflo
Com opo principal q' lista arquivos de documentao,
om ppa rrtcip wiffiPtCisia,oiro tQiIM !t
h Mostra o progresso do procedimento solicitado. -

Com sobrtpm detrm;nadact,


Com opo principal 'q, lista todos os arquivos e diretrios do pacote.

v Modo mais descritivo.

53
Gerlificao LPI-1

Para extrair um ou mais arquivos especficos de dentro de um pacote RPM, usamos as


opes - i e -d. A opo -1 determina a extrao, a opo - d obriga a criao da rvore de
diretrio como comida no pacote RPM, e a opo -v informa o progresso da operao:

$ rpm2cpio Virtualaox2.2.2j6594_fedorall-1.i586.rpm 1 cpio -ivd *pdf'

Com esse comando, todo arquivo PDF contido no pacote ser extrado para den-
tro da rvore de diretrios correspondente:

/usr/share/doc/VirtualBox-2.2.2_46594_fedorall/UserManual .pdf

O nico arquivo PDF encontrado, UserManual .pdf, foi extrado para sua pasta cor-
respondente, mas dentro da pasta em que o comando foi executado.

O gerenciadorvliM
O comando yum semelhante ao comando apt-get do Debian. Ele capaz de instalar
um programa a partir da Internet e automaticamente identificar e instalar as depen-
dncias desse programa.
Em seu arquivo de configurao, /etc/yum. conf, podemos determinar como sero
diversos comportamentos do programa. Algumas opes padro desse arquivo so:
o cachedir: Diretrio de armazenamenro dos pacotes e demais arquivos de
dados. O padro /var/cacheyum;
keepcache Valor 1 ou O. Determina se o yum deve manter os pacotes e ar-
quivos relacionados aps uma instalao bem sucedida. O padro 1 (manter
arquivos);
reposdir : Lista de diretrios em que o yum ir procurar arquivo . repo, que
define os repositrios. Os padres so Jetcfyum. repos . d e /etc/yuin/repos . d.
Cada arquivo dentro desses direrrios deve conter uma seo [repositrio]
que define o repositrio a ser usado. Estes sero unidos queles repositrios
eventualmente definidos no prprio arquivo /etc/yum.conf;
debuglevel : Nvel da mensagens de aviso. Nveis teis vo de O 10. O
padro 2;
errorlevel: Nvel das mensagens de erro. Nveis teis vo de O 10. O padro 2.
logfile: Caminho completo para o arquivo de log do yum;
gpgcheck: Valor 1 ou O. Determina se o yum deve ou no fazer a verificao
de assinatura GPG dos pacotes.
Apesar de ainda funcionar, a opo upgrade rio comando aptitude no recomendada nas verses mais recentes do
programa. Em seu lugar, deve ser usada a opo safe-upgrade.

54
Tpico 102: Instalao do Linux e administrao de pacotes

Os arquivos .repo definem os repositrios e opes especficas a cada um deles. Essen-


cialmente, eles devem conter ao menos uma seo [repositrio], com o seguinte formato:
a
w
[Identificador]
nameNome descritivo do repositrio
baseurl=ur] ://caniinho/para/o/reposirio/

Esses so os elementos essenciais de uma definio de repositrio. Cada entrada


rcprcscnta:
[Identificador]: Termo nico que identifica cada repositrio;
naine: Texto de descrio do repositrio;
baseurl: URL para o diretrio onde o diretrio "repodata" do yum est.
Pode ser uma URL http://,ftp:I/oufile:I/. Pode ser especificada mais de uma URL
na mesma entrada baseuri.

Algumas opes podem ser aplicadas pata cada repositrio individualmente:


enabled : Valor 1 ou a Determina se o repositrio deve ser usado;
gpgcheck : Valor ] ou a Determina se deve ser feita a verificao GPG para
os pacotes desse repositrio.

O comando yum agrega as fi.rnes de instalao, atualizao e remoo de pacotes.


Os comando mais comuns do yum so:
yum search pacote: Localiza determinado pacote ou pacote contendo o
termo procurado;
yum instail pacote: Instala o pacote;
UIP remove pacote ou yum erase pacote: Desinstala o pacote;

-
Q O comando cpio
O comando cpio serve para aglutinar e extrair arquivos de dentro de um arquivo aglutinado,
mas tambm pode ser usado simplesmente para copiar arquivos. Sua finalidade semelhante
do comando tar, podendo inclusive ler e escrever nesse formato.
/

Q yumdownloader
Se a inteno apenas baixara pacote RPM do repositrio sem instal-lo, a melhor opo o
comando yurndownloader. Sua utilizao muito simples, bastando indicar o nome do pacote
com argumento. Para copiar o cdigo-fonte do pacote no lugar do programa compilado, basta
fornecera opo source.
1

55
Certificao LPI-1

yum provides recurso ou yum whatprovides recurso: Localiza qual pacote, ins-
talado ou no, que fornece determinado recurso ou arquivo. Aceita caracteres
cornga como o asterisco;
yum update: Sem nenhum outro argumento, atualiza todos os pacotes desatua-
lizados que estiverem instalados. Com um nome de pacote como argumento,
atualiza somente o pacote especificado;
yum upgrade: Mesma funo da instruo update, mas pode ser utilizado para
atualizar a distribuio para a verso mais atual.

O comando yuni update com o argumento - -obsoletes atua exatamente como o co-
mando yum upgrade. A diferena verificar ou no os pacotes obsoletos durante uma
atualizao. Esse recurso importante para evitar quebra de dependncia e funciona-
lidade ao atualizar para uma verso mais recente da distribuio.

Assinaturas de pacotes
Para garantir a autenticidade de cada pacote, possvel verificar sua assinatura, forne-
cida pela distribuio responsvel pela sua criao e manuteno.
Se a distribuio for Fedora, por exemplo, as chaves so incorporadas ao banco
de dados do rpm com o comando rpm --import /usr/share/rhn/RPM-GPG-K[Y-FEDORA.
Dessa forma, todo pacote copiado do servidor Fedora pode ser verificado com rpm
- checksig nome_do_pacote.
A integridade do pacote instalado pode ser verificada com a opo -i/. A opo
ia verifica todos os pacotes instalados. A anlise feita tendo como referncia os
arquivos originais do pacote.
A sada dessa anlise pode ser bastante intensa, na qual cada caractere tem um
significado especfico. A tabela Caracteres de verificao mostra quais so os signi-
ficados dos caracteres numa sada de verificao. O

LO Caracteres de
(ponto) Teste bem sucedido.
7 oste nopdewreallzdc
M A permisso ou o tipo do arquivo mudou.
5 AsornaMD5ii6qivo ferent.
O O dispositivo foi modificado.
L O.!InKsmb*o.M mndfiado,
li O dono do arquivo mudou.
13 O gruo do arhM mudou.
T A data do arouivo mudou.

56
VI
.2
o
o
1
a,
LiJ

______
Certificao LPI 1
-

Questes Tpico 102


~C_ 1. Quai comando pode ser usado para listar as parties do dispositivo /dev/sda?
a. cat Idev/sda
b. Is -1 /devlsda
c. fdisk -p /dcv/sda
d. fdisk -1 Idevlsda

2. Qual cdigo hexadecimal que identifica uma partio Linux Swap?


a. SI
b. 82
c. 83
d. Se

3. Quais diretrios na partio raiz podem ser pontos de montagem para outras par-
ries? Marque todos os corretos.
a. /sbin
b. /etc
C. /var
cl. /home

4. No Grub2, qual arquivo alterado para modificar o tempo de exibio do menu


de boor?
a. /boor/grubfmcnu.Isr
b. /ctc/grub2.conf
c. /etc/defauk/grub
d. Ierclgrublgruh

5. O principal arquivo de configurao do carregador Grub legacy o


a. /boot/grub/menu.lsr
b. /etdgrub.conf
c. /etc/menu.lst
d. /erc/grub/menu.lsr

58
Tpico 102: Instalao do Linux e administrao de pacotes

6. Qual o comando usado para identificar as bibliotecas compartilhadas que um


programa necessita? D somente o comando, sem argumentos.

7. Qual o principal arquivo de configurao que determina a localizao das biblio-


tecas compartilhadas do sistema? Informe o caminho completo.

8. Qual comando deve ser executado aps alterar o arquivo /etclapt/sources.list?


a. apt-get search
b. apt-ger upgrade
C. apt-get update
d. apt-get safe-upgrade

9. Qual opo do dpkg localiza o pacote que instalou determinado arquivo?


a.-s
b. -L
C. --contents
d. --file

10. Qual opo do comando rpm mostra os pacotes exigidos por um arquivo .rpm?
a. --requires
b. --whatrequires
e. --depends
d. --needed

59
t2
-- peso total do tpico
-/ 1apra:26

Tpico 103.
Comandos
GNU e Unix
Principais temas abordados:

Interao com o bash via linha de comando;


Uso de comandos de filtragem de texto;
Comandos de manipulao de
arquivos e diretrios;
Redirecionamentos e pipes;
Monitoramento, manejo e alterao
de prioridade de processos;
Expresses regulares;
Edio de textos com o Vi.
Certificao LPI-1

103.1 Trabalhar na tinha de comando


Pesa 4

A maneira tradicional de interagir com um computador com Linux - especialmente


um servidor - usando a chamada linha & comando. A linha de comando apresenta
o prompt do shell indicando que o sistema est pronto para receber instrues. Nor-
malmente, o prompt terminado com o caractere $ indica que um usurio comum
que est utilizando o sistema. Quando terminado com o caractere aY, indica tratar-se
do usurio root.

O shell Bash
O shdll o ambiente que faz a intermediao entre o usurio e os recursos do com-
putador, como se fosse um ambiente de programao em tempo real para executar
tarefas. O shell padro na maioria das distribuies Linux o bash (Bourne Again
Shel, ao qual os procedimentos aqui apresentados referem-se.
Alguns comandos importantes esto mostrados na tabela Comandos embutidos
do Bash.
O comando alias til para facilitar a entrada de comandos recorrentes que levem
muitos argumentos. Usar alias sem argumentos mostra quais alias esto configurados:

$ alias
alias is-is --calor-auto'

O exemplo mostra um alias para o comando Is configurado na sesso atual. Os


alias podem ter qualquer nome, desde que no contenham espaos ou caracteres
especiais, como pontos de exclamao ou interrogao.
O shell interpreta a primeira palavra fornecida como um comando. O caminho
completo ou relativo para o comando precisa ser fornecido, a menos que este esteja
localizado em um dos diretrios comidos na varivel de ambiente PATH. Se o pro-
grama encontrar-se no diretrio de trabalho atual e fora dos diretrios contidos em
PATH, seu nome precisar ser precedido por .1, por exemplo ./scri pt sh.

Variveis
As variveis usadas no shell so semelhantes s usadas em linguagens de programao.
Nomes de variveis so limitados a caracteres alEnumricos. Para criar ou modificar
uma varivel, no devem ser usados espaos:

nome_d a_v a vel=va lo rd a_va riv ei

62
Tpico 103: Comandos GNU e Unix

Qcomandos embutidos do Bash

alias Cria um alias (nome alias rei-' rei -1 Obriga a confirmao toda vez
alternativo) para que o comanda rei for utilizado.
um comanda.
exec Um comando invocado nec tal mi t 1 Muda para a nvel do execuo
com nec substitui a 1 (single) e em sefluida
sesso atual do shell. encerra a sesso do sh&l.
acho Replica um texto informado echo $PATH Exibe o contedo da varivel
ou contedo de varivel, de ambiente $PATH,
env Sem argumentos, exibe as env DISPLAY-: 1,0 xclock Abre o programa xclock alterando
variveis de ambiente e seus o valor da varivel de ambiente
contedos. Pode executar $DISPIAY, O escopo da alterao
um comando com varivel compreendo somente a instncia
de ambiente modificada. do comando executado,
export Define uma varivel de export PTH-$PATH: / Redefine a varivel $PTH para
ambiente para a sesso usr/local/Ibin incluir o caminho /usr/ loca] /

e para todas as sesses bi n. Note que o valor mostrado


iniciadas a partir dela. colocando o sinal $ antes da varivel.
A atribuio de valor feita sem o $.
pwd Mostra o diretrio atual. pwd H duas formas de utilizar o
ou pwd, como comando ou como
ECHO $PWD varivel. O comando pwd mostra
o diretrio atual, que tambm
est contido na varivel $PWD.
set Define o valor de set NOME-'ronaldo' Atribui varivel $NOME
uma varivel. Sem o valor ronaldo.
argumentos, mostra as
variveis j definidas.
unset Remove uma varivel unset NOME Exclui a varivel $NOME.
na sesso.

O valor dc uma varivel mostrado colocando o caractere $ no nome:

echc $ncme_da_varve 1

H dois tipos de variveis, as locais e as exportadas.


Locais: Acessveis apenas na sesso atual do shell.
Exportadas: Acessveis na sesso atual e demais sesses iniciadas a partir dessa.

O comando set mostra todas as variveis definidas. Para ver apenas aquelas que
so exportadas, usa-se o comando env. Se uma varivel pode ser acessada por qual-
quer processo ou sesso do shell, chamada de varivel globaL

63
Certificao LPI-1

9 Variveis pr-definidas
DISPUY Determina em qual display do X o programa deve exibir suas janelas.
-
HOME Caminho para o diretrio pessoal do usurio.
LOmIAME Ojome d hsirIc2SQL para entrarJw Qsteni
PATH Lista de diretrios nos quais programas sero procurados caso tenham
sido solicitados sem seu caminho completo ou relativo.
PWO Oflir'et6riatuat
SHELL O shell utilizado (via de regra, fbin/bash).
TERM O tipo ije rnMaort1 tetml+e ntIKzado Seu tontedo varia
e SES ifint terMIal d X u um cosotty.

Algumas variveis de ambiente podem ser pr-definidas, sejam variveis internas


do Bash ou definidas nos arquivos de configurao. A tabela Vailveis pr-definidas
mostra algumas delas.
Outras variveis embutidas do Bash atuam quase como comandos, devolvendo
valores que so especialmente teis em scripts. So elas:
$1: PID do ltimo processo executado;
$$: PID do shell atual;
$7: retorna o valor O se o ltimo comando foi bem sucedido, caso contrrio
retorna o valor 1;
-: corresponde ao diretrio pessoal do usurio atual;
-ai aor: corresponde ao diretrio pessoal do usurio chamado ahwr.

Comandos sequenciais
A grande maioria das tarefas depende da execuo de mais de um comando. Para exe-
cutar trs comandos em sequncia, independente do resultado de cada uni, utiliza-se
o formato:

comandol comando? comando3 $


Executar o comando seguinte apenas se o anterior foi bem sucedido (se retornou O):

comandol && comando? && comando3

Executar o comando seguinte apenas se o anterior no foi bem sucedido (se retor-
nou diferente de O):

comandol 11 comando2 11 comando3 1


64
Tpico 103: Comandos CMI e Unix

Referncia e manuais
Em funo do grande nmero de comandos disponveis no ambiente Linux, um
recurso que agiliza a digitao de comando e caminhos existentes a utilizao
da tecla [TAB]. Aps digitar as primeiras letras dc um comando ou caminho de
diretrio, a tecla [TABI completa a linha de acordo com os comandos e caminhos
encontrados.
Praticamente todos os comandos e arquivos de configurao no Linux acompa-
nham um manual. Esse manual est acessvel por intermdio do comando man, que
demonstra em detalhes as Funes do item em questo. Para ver um manual, basta
usar o comando man, tendo o comando ou arquivo como argumento.

90_comando info
O comando i nfo urfia espcie de alternativa aos manuais man. No lugar de usar o comando
man, essas referncias so acessveis com o comando info. Em geral, informaes disponveis
em pginas mio tambm esto disponveis em pginas de manual, porm de forma menos
detalhada. Por padro, os arquivo desse tipo de documentao so armazenadas em /usr/
share/info.
,1

Em sua maioria, os manuais tm a seguinte organizao:


Nome: Assunto da pgina de manual seguido por uma descrio breve;
Sinopse: A sintaxe do comando;
Descrio; Descrio detalhada;
Opes: Reviso de todas as opes e suas Funes;
Arquivos: Arquivos relacionados ao assunto;
Veja tambm: Outras pginas de manual relacionadas ao tpico.

9 Buscar manual
possvel buscar ocorrncias de um termo na seo nome dos manuais com o comando
apropos. Esse comando retorna a uma descrio breve para cada ocorrncia encontrada e o
nome do respectivo comando ou arquivo.

Uma maneira de identificar os manuais de referncia para um determinado termo


usar o comando whatis. O banco de dados do comando whatis armazena a seo
nome dos manuais do sistema. O banco de dados geralmente atualizado por um
agendamento de sistema. Para cada recursos de manual localizado, o whatis mostra
uma breve descrio:

65
Certificao LPI-1

whatis nian 0
man (1) - formaL and display Lhe on-line nianual pages
man (7) - inacros to formaL man pages
man.conf [wanJ (5) - configuratjon data for man

Os nmeros entre parnteses referem-se seo a qual pertence a pgina de manu-


al. As sees disponveis so listadas a seguir:

Seo 1: Programas disponveis ao usurio;


Seo 2: Rotinas de Sistema Unix e C;
Seo 3: Rotinas de bibliotecas da linguagem C;
Seo 4: Arquivos especiais (dispositivos em /dev);
Seo 5: Convenes e formatos de arquivos;
Seo 6: Jogos;
Seo 7: Diversos (macros textuais etc.);
Seo 8: Procedimentos administrativos (daemons, etc).

Para acessar um icem em uma seo especfica, o nmero da seo precede o nome
do item. Por exemplo, acessar o manual de man na seo nmero 7:

man 7 inan O
Por padro, os arquivos dos manuais so armazenadas em /usr/nlan e /usr/share/
man, cm subdirecrios correspondentes seo. Outros locais podem ser especificados
com a varivel JVIANPATJ-I. Essa varvel definida no arquivo de configurao /usr/
lib/rnan.conf ou /etc/man.conf.

Imprimindo manuais
Pginas de manual podem ser impressas como texto sem formatao, simples-
mente direcionando a sada do comando man para um arquivo ou comando de
impresso. Para no perder a formatao, a pgina pode ser convertida usando o
comando groff:

zcat /usr/man/manlffindl.gz 1 groff -tuan -Tps > find.ps 4


Ou, para imprimir diretamente:

zcat /usr/man/rnanl/find.1.gz 1 groff -man -Tps 1 lpr 4


66
tpico 103: Comandos GNU e Unix

Outras documentaes
Projetos GNIJ geralmente incluem documentaes como FAQ, Readme, ChangeLog e
Guia de usurio/administrador. Podem estar no formato ASCII, HTML, LateX ou
postscript. Estes arquivos podem ser encontrados em /usr/share/doc
em diretrios correspondentes aos programas.

Dessa forma, o material impresso mantm as marcaes e grifos presentes no ma-


nual original. O

103.2 Processar fluxos de texto com o uso de filtros


Peso 3 Q
Durante a atividade de administrao de um sistema Linux. em muitos momentos
necessrio trabalhar com arquivos de contedo de texto, basicamente realizando tare-
fas de recortar, extrair e filtrat Para essas finalidades existem os comandas fornecidos
pelo pacote GNU textutiL. Os comandos tcxtutils mais comuns so:

cat
usado para mostrar o contedo de arquivos. Pode atuar como um redirecionador,
tomando todo o contedo direcionado para sua entrada padro e enviando para sua
sada padro.

tac
Tm a mesma funo do cat, mas mostra o contedo de trs para frente.

head
Mostra o comeo de arquivos. Por padro, as primeiras dez linhas so mostradas. A
quantidade de linhas a serem mostradas indicada pela opo -n. A opo -c especi-
fica o nmero de caracteres (byte;) a serem mostrados.

ta ii
Mostra o final de arquivos. Por padro, as ltimas dez linhas so exibidas. A quan-
tidade de linhas a serem mostradas indicada pela opo -n. A opo -e especifica
o nmero de caracteres (byte;) a serem exibidos. Para que o final do arquivo seja
mostrado continuamente, medida que mais texto adicionado, usa-se a opo -f
(defollow). O sinal + indica que a leitura deve ser feita a partir da linha especificada
aps o +.

67
Certificao LPI-1

wc
Conta linhas, palavras ou caracteres, a partir das opes -1, -w e - c, respectivamente.
Quando usado sem argumentos, mostra esses trs valores tia mesma sequncia.

ni
Numera linhas, como o comando cat -b. O argumento -ba faz numerar todas as
linhas. O argumento -bt numera apenas as linhas que no estejam em branco.

expand
Substitui espaos de tabulao (TABs) por espaos simples, mantendo a mesma dis-
tncia aparente.

unexpand
Substitui dois ou mais espaos simples, em um texto, por espaos de tabulao
(TAB5).

hexdu mp
Mostra arquivos binrios. A opo -c torna a sada mais legvel, mostrando a coluna
de endereo hexadecimal, seguida pela coluna dos dados do arquivo (valores hexade-
cimais sequenciais separados a cada dois bytes) e, por ltimo, pela coluna que mostra
esses mesmos bytes no formato ASCII.

od
Usado para converter entre diferentes formatos de dados, como hexadecimal e binrio.

split
Divide um arquivo em outros menores, seguindo critrios como tamanho ou mIme-
rode linhas. A opo -1 indica o nmero de linhas de cada parte do arquivo dividi-
do. A opo -b indica qual o tamanho de cada parte. Um prefixo para as partes pode
ser indicado aps o nome do arquivo a ser dividido.
Por exemplo, dividir um arquivo em partes de 1024 KB usando o prefixo "pa rte_":

split -b 1024k arquivo_original parte_ Li


Esse comando criar arquivos chamados parteja, parte_ab, parte_ac etc. Para conca-
tenar novamente o arquivo, pode ser utilizado o comando:

cat p ar tek > arquivo_copia *


68
Tpica 103: Comandos GNU e Unix

Ser criado um arquivo de contedo idntico ao do arquivo original.

uniq
Esse comando mostra o contedo de arquivos, suprimindo linhas sequenciais repeti-
das. Com a opo -u, mostra apenas as linhas que no se repentem.

cut
Delimita um arquivo em colunas, em determinado nmero de caracteres ou por p0-
sio de campo. Para separar por campo, a opo -ti especifica o caractere delimitador
e -f informa a posio do campo. Por exemplo, para mostrar os campos da posio 1
e 3 do arquivo /etc/qroup, que esto separados por

$ cut -ti :' -f 1.3 Ietclgroup 3


root :0
bin:1
daemon:2
sys:3
a diii: 4
1...)

Para exibir outro delimitador no lugar do delimitador original, usa-se a opo


--output-del unulter:

1 cut -ti ' f 1,3 /etc/group --output-delimiter


root - O
bin = 1
daeunon 2
sys = 3
aduuu - 4

paste
Concatena arquivos lado a lado, na forma de colunas:

$ paste texto_simples.txt texto_simples.txt 0


primeira linha primeira linha
do texto do texto

69
Certiticao LPl-1

join
Similar ao paste, mas trabalha especificando campos, no formato join -1 CAMPO -2
CAMPO <arquivo um> <arquivo dois>, cm que CAMPO o nmero indicando qual campo
nos respectivos arquivos (primeiro e segundo) deve ser correlacionado. Por exemplo,
relacionar as linhas de arql cujo primeiro campo (coluna 1) seja igual ao primeiro
campo de arq2:

arqi: 1
1 ai xl
2 bi yi
3 cl zi

arq2:
1 a? x2
2 b2 y2
3 c2 z2

1 join -i 1 -21 arql arq2


1 ai xi a2 x2
2 bi yl b2 y2
3 cl zi c2 z2

A primeira coluna do resultado o campo que foi relacionado, seguido das linhas
correspondentes. possvel delimitar quais campos mostrar, com a opo -o. Essa
opo deve ser escrita no formato N.M, em que N o nmero correspondente
ao arquivo e M o nmero correspondente ao campo desse arquivo. O campo
de relao tambm pode ser referido por O. Por exemplo, fazer a mesma relao
do exemplo anterior, mostrando apenas o primeiro campo de arql e apenas o
segundo de arq2:

$ join -11 -21 -o 1.2 2.3' arqi arq2 1


ai x2
bi y2
cl z2

sort
Ordena alfabecicamente. Com a opo -n, ordena numericamente. A opo - r inver-
te o resultado.

70
Tpico 103: Comandos GNU e Unix

fmt
Formara um texto para determinado nmero de caracteres por linha. O padro 75.
Opes importantes do fmt so:
-w: Indica o nmero de caracteres por linha;
- 3: Quebra Linhas grandes, mas no as preenche;
-u: Um espao entre palavras e dois espaos entre sentenas.

pr
Divide o arquivo para impresso. O padro 66 linhas por 72 caracteres de largura,
modificados por -1 e -w, respectivamente.

tr
Converte caracteres. Diferente dos demais comandos mostrados, em que os dados
podem vir pela entrada padro ou indicando um arquivo, o comando tr usa apenas
a entrada padro. Por exemplo, converter todas as letra minsculas para maisculas:

$ echo abc j tr '[a - z] '[AZ]


ABC

Trocando espaos pelo caractere underscore:

$ echo Frase chea de espaos' f tr


Frase_cheid_de_espaos

103.3 Gerenciamento bsico de arquivos


Peso 4

Praticamente toda operao em linha de comando envolve trabalhar com arquivos e


diretrios. Essa manipulao via comandos pode ser muito facilitada quando conhe-
cemos a ferramenta apropriada para cada finalidade.

Diretrios e arquivos
Arquivos podem ser acessados tanto por seu caminho absoluto ,uanto pelo rela-
tivo. Caminhos absolutos so aqueles iniciados pela barra da raiz (1) e caminhos
relativos so aqueles que tomam por referncia o diretrio atual. O Ponto (.)
refere-se ao diretrio atual, e os dois pontos (..) referem-se ao diretrio superior
ao diretrio atual.

71
Certificao LPI-1

O comando Is usado para listar arquivos e contedo de um diretrio. A opo


-i exibe detalhes sobre o(s) arquivo(s), -s mostra o tamanho em KB e -d mostra as
propriedades de um diretrio, no seu contedo. Exemplo de sada de is -1:

$ is -1 JetcfXll/xinitf 0
total 24
-rw-r--r-- 1 root root 321 2003-03-16 18:35 REAOME.Xmodmap
lrwxrwxrwx 1 root root 15 2009-03-21 09:39 xinitrc -) x initrc,fluxbox*
-rwxr-xr-x 1 root root 538 2007-05-28 00:57 xinitrc,blackbox*
-rwxr-xr-x 1 root root 542 2008-10-05 03:31 xinitrc.fiu x box*
-rwxr-xr-x 1 root root 539 2007-02-18 00:19 xinitrc,fvwm2*
-rwxr-xr-x 1 root root 733 2007-03-24 00:56 x initrc.twm*
-rwxr-xr-x 1 root root 788 2008-07-30 04:03 xinitrc.wmakert

Essas informaes podem ser divididas em colunas, da esquerda para


a direita:
A primeira coluna mostra o tipo e as permisses do arquivo;
A segunda coluna mostra o nmero de hardlinks para o arquivo;
A terceira e a quarta mostram o dono e o grupo aos quais o arquivo pertence.;
A quinta mostra o tamanho em bytes;
A sexta e a stima mostram a data e a hora da ltima modificao no arquivo;
A oitava coluna mostra o nome do arquivo. Se o arquivo for um link simbli-
co, uma seta mostra o arquivo para o qual ele aponta.

No Linux, nem todos os arquivos possuem sufixos que indicam qual seu con-
tedo. Nesses casos de ausncia de sufixo, o comando file muito til para identifi-
car o tipo de arquivo, se trata-se de uma imagem ou um texto, por exemplo:

$ file face.png
face.png: PNG image data, 96 x 96, 8-bit/coior RGB, non-interlaced

$ fiie separate.tar.gz
separate.targz: gzip compressed data, from Unix, iast modified: Thu Mar 20
'-, 11:41:11 2008

$ fiie hoje_de_manha.txt
hoje_de_.rnanha.txt: ASCII text

72
Tpico 103: Comandos GNIJ e Unix

'.4

file 1913\ The\ Debarted.flv


1913 The ebarted.f]v: Macrojiledia Flash Video

Manipulando arquivo e diretrios


O comando cp utilizado para copiar arquivos. Suas opes principais so:
-1: Modo interativo. Pergunta antes de sobrescrever um arquivo.
-p: Copia tambm os atributos do arquivo original.
-r: Copia recursivamente o contedo do diretrio dc origem.

importante saber que ao copiar um diretrio recursivamenre, o uso da barra /


no final do diretrio de origem far com que apenas o contedo do diretrio seja
copiado para o destino; no usar a barra far com que o diretrio de origem e seu
contedo sejam copiados no destino.
O comando mv move e renomeia arquivos. Usado com a opo i, ele pede confir-
mao antes de sobrescrever um arquivo de destino.
Para alterar a data de um arquivo, utiliza-se o comando touch. Usado sem argu-
mentos, touch altera a data e a hora de criao e modificao de um arquivo para os
valores atuais do sistema. Para alterar apenas a data de modificao, usa-se a opo
-m, e para alterar apenas a data de acesso, usa-se a opo -a. Outros valores de tempo
podem ser passados com a opo -t.
O comando cd muda para o diretrio especificado ou vai para o diretrio pessoal,
quando nenhum diretrio especificado.
O comando mkdi r cria diretrios. Para criar uma rvore de direrrios recursiva-
mente, sem necessidade de criar um a um, usa-se a opo -p:

$ mkdir -p caminho/completo/para/dir

Para alterar as permisses do diretrio no ato da criao, as mesmas so transmitidas


ao mkdir com a opo -m. Direrrios vazios podem ser apagados pelo comando rmdir.
Para apagar um arquivo, o comando ra. Para apagar roda uma rvore de diret-
rios vazios, usa-se a opo -p. Para apagar diretrios com contedo, usa-se rm -r. Para
forar a remoo, a opo -f utilizada.

Condensao de arquivos
No Linux, existem basicamente dois comandos para aglutinar arquivos e diretrios
dentro de um s arquivo: tar e cpio. Suas finalidades bsicas so semelhantes, agluti-
nam arquivos em outros arquivos ou fitas e podem extrair e atualizar estes arquivos.

73
Certificao IPI-1

Para criar um arquivo contendo todo o diretrio /etc e seu contedo com o tar,
podemos usar a forma:

# tar cvi etctar /etc

As instrues Fornecidas representam:


c: Criar um arquivo;
v: Mostrar cada arquivo que includo;
f: Especifica em seguida o caminho para o arquivo a ser criado.

O ltimo argumento o diretrio(s) ou arquivo(s) a ser includo. Para extrair esse


arquivo, a opo usada a x:

# tar xvf etc.tar

Os arquivos sero extrados com a rvore de diretrios completa. Esse mesmo


arquivo .tar, apesar dc aglutinado, no est compactado.
Os principais comandos de compactao no Linux so o qzip e o bzip2. Para com-
pactar o arquivo .tar usamos:

gzipetc.tar

ou

bzip2 etc.tar 4
Ser criado automaticamente o arquivo etc.tar.gz ou etc.tar.bz2. A princi-
pal diferena entre as duas modalidades de compactao o algortimo utiliza-
do. O gzip mais rpido, enquanto que o bzip2 costuma oferecer melhores taxa
de compresso.
A compactao pode ser especificada diretamente com o comando tar. Para reali-
zar a compactao com gzi p, utilizada a opo z:

fitar czvf etc.tar.gz Ietc 4


Para usar bzip2, utilizada a opo j:

fitar cjvf etc.tar.bz2 /etc 4


74
Tpico 103: Comandos GNU e Unix

Q Cpia exata com dd


O comando dd realiza cpias byte a byte, ou seja, realiza a cpia sequencial de dados de
qualquer origem para qualquer destino. Por isso, especialmente til para fazer cpias
completas de discos ou parties inteiras e imagens de midias como CDs e OVDs.

A dcscompresso pode ser feita com os comandos gunzi p e bunzi p2, mas tambm
pode ser feita diretamente como comando tar e com as opes z ej, respectivamente.
O comando cpio serve para aglutinar e extrair arquivos de dentro de um arquivo
aglutinado, mas tambm pode ser usado simplesmente para copiar arquivos. Sua
finalidade semelhante do comando tar, podendo inclusive ler e escrever nesse for-
mato. Uma diferena importante que o cpio trabalha apenas com redirecionentos
de entrada e sada padro. Para listar o contedo de um arquivo cpi o, usada a opo
-t. Para extrair um arquivo, a opo -i.

Caracteres curinga (file globbing)


As operaes com arquivos e diretrios permitem o uso de caracteres curinga, que
so padres de substituio de caracteres. O caractere * substitui qualquer sequncia
de caracteres:

$ 's /etc/host *
/etc/host .conf
/etc/hosts
!etc/hosts.allow
/etc/hosts.oeny
Jetc/hosts.equiv

O caractere ? substitui apenas um caractere:

$ i s fdev/fd?
/dev/fd Idev/d1 /dev/fd2 /devffU3

O uso de colchetes (E 1) indica uma lista de caracteres:

$ is /dev/hd[abc]
/dev/hda /devfhdb (dev/hdc

Chaves ({ }) indicam uma lista de termos separados por vrgula:

75
Certificao LPI-1

$ is /dev/{hda,fdOl
/devlfdo fdev/hda

O uso dc exclamao antes de um curinga o exclui da operao:

lis /dev/1`d[!01] 1
/dev/fd2 /dev/fd3

Curingas precedidos de barra invertida (\) no realizam substituio:

lis /dev/fd\[\101\]
is: /dev/fd{!01]: Arquivo ou diretrio no encontrado

Entre aspas duplas, apenas os caracteres especiais 1, / e $ tm efeito. Entre aspas


simples, apenas o caractere especial \ tem efeito.

Encontrando arquivos
O principal comando de localizao de arquivos no Linux o find, cuja sintaxe b-
sica find diretrio critrio [ - exec comando {) \J.
O argumento diretrio indica onde o f ind deve iniciar a busca, e o critrio pode
ser o nome do arquivo ou diretrio a ser procurado ou uma regra para a busca. Cri-
trios comuns para o find:

Critrios comuns para o find

- type Define o tipo do arquivo (d para diretrio, (para arquivo comum e / para link).
fte42
-usar usurio Dono do arquivo.
si '24)f&W
-ctiuie -/+n Arquivo criado antes ou aps ix

-amin -I+n Arquivo acessado antes ou depois de n, ri corresponde quantidade de minutos.


ca -i+n A6* eD*WPQtMt&
-mmi n -/+n Arquivo moditicado antes ou depois de n.
neer ArquW b rp&UJw cr3M bu trndkado p rqoWo
-perm modo O arquivo procurado tem permisso especiticada
igual a modo, como as letras r, w ex.
pen modo OtquMi procfldotm lotJs as pea-rr4ss6es Dstada em modo
pariu +rnodo O arquivo procurado tem q ualquer das permisses hstadas em modo.

76
Tpico 103: Comandos GNU e Unix

Exemplo de utilizao do find: encontrar todos os arquivos do tipo link em /usr/


li b, criados h menos de 24 horas:

$ r nd [usr'' b -type otire -


(usr/ lib/1 ioss .so
!usr/'b/ 4 bcrypto.so
!usrI1iD/liss1 .su.3
fusr/'b/' 1bcrypto.so.O

103.4 Fluxos, pipes (canalizao) e redirecionamentos de sada


Peso 4

Processos Unix (e consequentemente Linux) geralmente abrem trs descritores-pa-


dro dc arquivos, que os permitem processar entrada e sada de dados. Esses descrito-
res ser redirecionados de e para outros arquivos ou processos.
Por padro, o descritor de entrada (stdin) o teclado e os descritores de sada-
-padro (stdout) e de sada de erro (stderr) so a tela do computador. Os valores
numricos para esses descritores so O para stdin, 1 para stdout e 2 para stderr. Os
descritores tambm podem ser acessados por meio dos dispositivos virtuais Idevi
stdin, /dev/stdout e /dev/stderr.
O fluxo dos dados para redirecionamentos e canalizaes numa linha de comando
se inicia da esquerda para a direita.

Redirecionamento
Para rcdirecionar a sada-padro de um comando para um arquivo, utiliza-se o sm-
bolo > aps este, que deve indicar o arquivo a ser criado com os dados referidos:

1 cat /etclpasswd > copia_passwd

Se o arquivo existir previamente, ser sobrescrito. Para adicionar os valores sem


apagar o contedo existente, usa-se .
Para redirecionar o contedo de um arquivo para a entrada padro de um co-
mando, usa-se <. Nesse caso, o fluxo dos dados segue da direita para a esquerda.
especialmente til para utilizar com comandos como o tr, que no l arquivos dire-
tamente. O contedo redirecionado por padro ode stdout. Para especificar stderr,
usa-se 2>. Para redirecionar ambos simultaneamente, usa-se &>.

77
Certificao LPI-1

Canalizao (pipe)
possvel enviar a sada de um comando para a entrada de outro comando utilizan-
do o caractere de canalizao 1. Por exemplo, extrair a terceira msica de um CD com
o comando cdparanoi a, canalizando o udio para o programa oggenc - para armazenar
a msica no formato Ogg Vorbis:

$ cdparanoia -d /dev/cdrom 3 - oggenc - -o 03.qg 4


Por fim, possvel redirecionar simultaneamente a sada, tanto para um arquivo
quanto para stdout, por meio do comando tee. Para tal, canaliza-se a sada do co-
mando para o comando tee, fornecendo a este um nome de arquivo para armazenar
a sada:

1 cat fetcfpasswd 1 tee eopia_passwd 4


O contedo de /etc/passwd ser mostrado na tela e copiado no arquivo co-
p a_pa s swd.

Substituio de comandos
possvel tambm usar a sada de um comando como argumento para outro, usando
aspas invertidas:

$ is -dl 'cal fetc/ld,so.conf' 4


drwxr-xr-x 5 root root 7464 2006-01-14 17:35 /usr/X11R6/lib
drwxr-xr-x 2 rot root 712 2006-03-17 12:26 /usrIi486-siackware-iinux/iib
drwxr-xr-x 2 root root 688 2005-10-29 22:53 /usr/Hb/qt/lib
drwxr-xr-x 16 root root 7272 2006-03-21 02:49 /usr/local/lib

Resultado idntico conseguido com is -dl $(cat Jetc/ld.soconf).


Semelhante substituio de comandos, o comando xargs desempenha funo
de intermedhirio, passando os dados que recebe via stdin como argumento para um
segundo comando. Exemplo do xarqs acompanhando a execuo do find:

$ find /usrIXl1R61bin/ -name xt*' 1 xargs ls -1 4


-rwxr-xr-x 1 root bin 268928 2006-03-14 17:35 /usr/X11R61bin/xterm
-rwxr-xr-x 1 root bin 13076 2006-01-14 17:35 /usr/X11R61bin/xtrapchar
-rwxr-xr-x 1 root bin 6536 2006-01-14 17:35 /us0X11R61binfxtrapin

78
Tpico 103: Comandos GNU e Unix

Nesse exemplo, xargs tomou cada caminho passado por find e repassou como
argumento para o comando is -1. e

103.5 Criar, monitorar e finalizar processos


Peso 4

Em linhas gerais, um processo um programa em execuo. Cada processo possui


um nmero nico de identificao chamado PID. Esse nmero pode ser usado para
mudar a prioridade de um processo ou para finaliz-lo.

Monitorar processos
Diversos comandos podem ser usados para inspecionar processos e so especialmente
teis para localizar e finalizar processos dispensveis ou suspeitos. So eles:
ps: Mostra os processos ativos de maneira detalhada;
top: Monitora continuamente os processos, mostrando informaes
como uso de memria e CPU de cada processo. A tecla [H] fornece
ajuda sobre o uso do programa. Pode ser usado para alterar a prioridade
de um processo;
pstree: Mostra processos ativos em formato de rvore genealgica (processos
filhos ligados aos respectivos processos pais);
pidof: Retorna o PID do programa cujo nome foi solicitado, se o programa
estiver em execuo;
ki li: Envia sinais de controle para processos. O sinal padro, quando ne-
nhum sinal informado, SIGTERM, de valor numrico 15, que pede ao pro-
grama em questo para finalizar. O processo no necessariamente obedece ao
sinal, a menos que o sina! seja SIGKTLL. Em alguns casos, o sinal SJGHUP pode
ser interpretado como ordem para que o processo releia seu(s) arquivo(s)
de configurao;
Id ii ai i: Tem funo igual de kill, porm usa o nome do processo no lugar
do PID. Com a opo -1, lista os sinais possveis.

Por exemplo, para enviar o sinal SIGTERM para o processo de nmero 4902:

II kiiI -SIGTERM 4902

Alguns dos sinais mais utilizados podem ser encontrados na tabela Sinais de con-
trole comuns.

79
Certificao LPI-1

Sinais de controle comuns

SIGHIJP Termina ou reinicia o processo. Valor numrico 1.


Jilfl .

SIGOUIT Fecha o processo. Valor numrico 3.


si1Jflj
SIGTERM Solicita ao processo para finalizar. Valor numrico 15.

Tarefas em primeiro e segundo plano


Aps iniciado um programa no shell, ele normalmente assumir o controle de stdin
e srdour, ou seja, ficar em primeiro plano. Para interromper o programa e voltar ao
prompt do shell, usa-se a combinao de teclas [Ctrl]+[Z]. Feito isso, para continuar
a execuo do programa em segundo plano, ou seja, mantendo o prompt do bash
em primeiro plano, usa-se o comando bg (backgroune4. Para continuar a execuo do
programa em primeiro plano, usa-se o comando fg (foregroune4.
Ao interromper uma tarefa, mostrado um nmero que a identifica. Este nmero
pode ser passado para fg e bg, para especificar a tarefa desejada. Se houver apenas uma
tarefa na sesso atual, fg e bg podem ser usados sem argumentos. Para usar o nome do
programa no lugar de seu nmero de tarefa, basta preced-lo por U.
O comando jobs lista as tarefas existentes na sesso atual do bash. especialmente
til quando h mais de uma tarefa em andamento. possvel iniciar programas direta-
mente em segundo plano, adicionando o smbolo & ao seu final. Os nmeros mostrados
correspondem ao nmero da tarefa e ao PID, respectivamente. O nmero de uma tarefa
pode ser usado como argumento do comando ki 11, desde que precedido do smbolo %.
Quando um usurio sai do sistema, um sinal SIGHUP enviado a todos os pro-
cessos iniciados por ele. Para que esse sinal no interrompa o processo do usurio
depois de ele sair do sistema, o comando deve ser invocado por meio do nohup:

$ nohup wget ftp:fftransferncia/muito/demOrada.tar.bZZ & 3


nohup: appending output to 'nchup.out'

As sadas stdout e stderr sero redirecionadas para o arquivo nohup.out, criado no


mesmo diretrio em que o comando foi executado. Dessa forma a sada do contando
poder ser analisada posteriormente.

Recursos de sistema
A administrao de processos deve se basear nos recursos de hardware disponveis.
Basicamente, processos que ocupam muita mem6ria ou processamento devem ser
finalizados em situaes de emergncia.

80
Tpico 103: Comandos ONU e Unix

O comando free mostra o montante total de memria ram, a quantidade de me-


mria livre e o espao de swap. Numa situao em u=que no h mais memria RAlvI
disponvel e o espao de swap j est demasiado ocupado, existe a suspeita de que
algum processo est ocupando muita memria indevidamente e deve ser finaiizado.
Outro comando til para identificar o consumo de recursos da mquina o uptinie:

# uptre
20:46:36 up 28 days, 5:52. 1 user, oad average: 0.52, 3.55, 0.48

Os valores finais, load average, mostram a mdia de consumo geral de recursos de


mquina que o sistema tem ocupado. Valores prximos de 1.00 indicam que o hard-
ware est sendo muito exigido e que o sistema no est tendo bom desempenho. O

103.6 Modificar a prioridade de execuo de um processo


Peso 2
~GP
No Linux, como na maioria dos sistemas multitarefa, possvel atribuir prioridades aos
processos. As prioridades so definidas com nmeros chamados nmeros nice (NI), usa-
dos pan alterar a prioridade de CPU e balancear seu uso num ambiente multiusurio.
Todo processo comum iniciado com uma prioridade-padro (0). Nmeros nice vo
de 19 (prioridade mais baixa) a -20 (prioridade mais alta). Apenas o usurio root pode re-
duzir o nmero nice de um processo para abaixo de zero. possvel iniciar um comando
com uma prioridade diferente da padro por meio do comando nice. Por padro, nice
muda a prioridade para 10, podendo ser especificada como na forma:

nice -n 15 tar czf hor:'e._backup.tar.gz /ho'e

Na qual o comando tar iniciado com nmero nice 15.


Para alterar a prioridade de um processo em andamento, o comando renice usa-
do. A opo -p indica o PID do processo em questo. Exemplo:

# renice -13 -p 2997


2997: prioridade antiga 0: prioridade nova = -10

As opes -g e -u permitem alterar todos os processos do grupo ou do usurio,


respectivamente. Com renice +5 -g users, todos os processos de usurios do grupo
users tiveram suas prioridades (nmero nice) alteradas para +5.

81
Certificao LPI-1

Alm do comando reni ce, prioridades podem ser modificadas interativamente por
meio do programa top. Quando na tela de processos, basta apertar a tecla [R] e indicar
o nmero P11) do processo. O

103.7 Procurar em arquivos de texto usando expresses regulares


Peso 2

Expresses regulares so elementos de texto, palavras-chave e modificadores que formam


um padro, usado para encontrar e opcionalmente alterar um padro correspondente.

O comando grep
Muitos programas suportam o uso desses elementos, e o comando grep o mais
comum para realizar buscas por eles, em textos. Alguns caracteres tm significado
especial em expresses regulares, como mostrado na tabela Caracteres espedais em
expresses regulares.
Um uso comum do grep mostrar o contedo de arquivos de configurao ex-
cluindo apenas as linhas que correspondem a comentrios, ou seja, as linhas que
comeam com o caractere 1h Por exemplo, faz-lo com o arquivo Ietc/lilo.conf:

grep Alt' Jetc/lilo.conf a


Exemplo de uso dos colchetes - mostrar linhas de /etc/l 110. conf que contenham
os termos hda ou hdb:

grep 'hd[ab]' /etc/}ilo.conf

Opes comuns do comando grep:


c: Conta as linhas contendo o padro;
-1: Ignora a diferena entra maisculas e minsculas.

Q caracteres especiais em expresses regulares


ilir. 1115 III:
A
Comeo de linha.
$ Ft1dMba
(ponto) Qualquer caractere.
* Qualu sUala de zero ou mas caracteres
II Qualquer caractere que esteja presente nos colchetes.

82
Tpica 103: Comandos GNU e Unix

- f: Usa a expresso regular comida no arquivo indicado por essa opo;


-n: Procura somente na linha indicada por essa opo;
-v: Mostra todas as linhas exceto a que corresponder ao padro.

Variaes do grep
Dois comandos complementam as funes do grep: egrep e fgrep. O comando egrep
equivalente ao comando grep -E, ele incorpora outras fhncionalidades alm das
expresses regulares padro. Por exemplo, com o egrep pode-se usar o operador pipe
11
"1 , que atua como o operador OU:

egrep invenoinvenes'

Sero retornadas todas as ocorrncias do termo inveno ou invenes.


J o fyrep age da mesma Forma que o grep -F, ou seja, ele deixa de interpretar ex-
presses regulares. especialmente til nos casos mais simples, em que o que se quer
apenas localizar a ocorrncia de algum termo simples:

grep andaluzia' 0
Dessa forma toda operao de expresso regular ser ignorada, tornando o proces-
so de localizao muito mais rpido. Mesmo se forem utilizados caracteres especiais,
como $ou ponto, estes sero interpretados literalmente, e no pelo que representam
numa expresso regular.

Edio de padres com sed


O comando sed mais utilizado para procurar e substituir padres em textos, mos-
trando o resultado em stdout. Sua sintaxe

sed [opes] comando e expresso regular' [arquivo original) '0


No sed, a expresso regular Hca circunscrita entre barras W. Por exemplo, sed e / A#/d
/etcfl i lo .conf mostra o arquivo /etcl lia. conf sem as linhas comeadas por # (linhas
de comentrio). A ]etra d ao lado da expresso regular um comando sed, que indica a
excluso de linhas contendo o respectivo padro. Por exemplo, para substituir o termo hda
por sdb, usaramos sed -e s/hda/sdb/g /etc/Hlo.conf. Opes comuns de sed:
-e: Executa a expresso e comando a seguir;
- f: L expresses e comandos do arquivo indicado pela opo;
-n: No mostra as linhas que no correspondam expresso.
Certificao LPI-1

Comandos comuns de scd:


s: Substituir;
d: Apaga a linha;
r: Insere o contedo do arquivo indicado na ocorrncia da expresso;
w: Escreve a sada no arquivo indicado;
g: Substitui todas as ocorrncias da expresso na linha atual.

O sed no provoca alterao no arquivo de origem. Para esse propsito, necess-


rio direcionar a sada padro do comando para um arquivo temporrio, que por sua
vez pode substituir o arquivo original. O

E 103.8 Edio bsica de arquivos com o vi


Peso 3

Na maioria das distribuies, o vi - Visual Editor o editor de textos padro. Dife-


rente dos editores de texto convencionais, o vi voltado para operao em termina],
possuindo atalhos de teclado para todas as tarefas de edio.

Teclas de

o. $ Inicio e fim de linha.


1G, O Inicio e fim de documento.
(. ) Incio e fim de sentena.
{, } Incioefim de pargrafo.
w, w Pular palavra e pular palavra cont ando com a pontuao.
h, j, k, 1 Esquerda, abaixo, acima, direita.
? Busca para frente e para trs.
Entra no modo de insero na posio atual do cursor.
a, A Entra no modo de insero depois do cursor ou no fim da linha.
o, O Adiciona tinha e entra no modo de insero depois ou antes do cursor.
s, S Apaga item ou linha e entra no modo de insero.
c Modifica um Item com a insero de texto.
Substitui um nico caractere.
Apaga um nico caractere.
w Copia um item ou toda linha.
p, P Cola o contedo, copiado depois ou antes do cursor.
u Desfazer.
zz Fecha e salva, se necessrio.
ZO Fecha e no salva.

84
Tpico 103: Comandos GNU e Unix

Modos de execuo
No vi existem os chamados modos de execuo, nos quais as aes de teclado se com-
portam de maneira distinta. H trs modos de execuo bsicos no vi:

Modo de navegao
o modo inicial do vi. Nele as teclas do teclado atuam basicamente para navegao
e edio de blocos de texto. Geralmente, os comandos so letras nicas. Se precedido
por nmero, o comando ser repetido correspondentemente ao valor desse nmero.
Algumas teclas comuns usadas no modo de navegao podem ser vistas na tabela Te-
das de navegao.

Modo de insero
A maneira mais comum de entrar no modo de insero apertando a tecla [I] ou [A].
o modo mais intuitivo, usado para digirar texto no documento. A teda E ESC] sai do
modo de insero e volta para o modo de navegao.

Modo de comando
Acessfvel ao apertar a tecla [:] no modo de navegao. Usado para fazer buscas, salvar,
sair, executar comandos no shell, alterar configuraes do vi etc. Para retornar ao
modo de navegao, usa-se a instruo visual ou simplesmente tecla-se [Enter] com a
linha vazia. Veja a tabela Comandos do vi para mais detalhes, O

Comandos do vi

Permtte executar um comando do shell


:quit ou :q Fecha.
:quit! ou til Fecha sem gravar.
:wq Salva e fecha.
:exit ou :x ou e Fecha e grava, se necessrio.
visual Volta Data o modo de comando.

85
ti)
o-
o
-
o
L.
0)
Li.I
Certificao 111-1

Questes Tpico 103

1. A maneira correta de definir uma varivel no BASH :


a. $NOME=manuel braga
b. $NOME="manuel braga"
C. NOME=manuel braga
d. NOME="manuel braga"

2. No Bash, uma varivel exportada estar disponvel


a. em todas as sesses do Bash.
b. somente nas sesses criadas a partir da sesso em que a varivel foi exportada.
C. somente nas sesses anteriores do bash.
d. somente nas sesses diferentes da sesso em que a varivel de ambiente foi exportada.

3. A linha de comando comando_a II comando_b significa que


a. o comando_a ser executado em segundo plano.
b. o comando_b ser executado em segundo plano.
c. o comando_a ser executado somente se o comando_b falhar.
cl. o comando_b ser executado somente se o comando_a falhar.

4. Qual comando exibe continuamente os dados do fina] do arquivo medida que


so acrescentados?
a. tail -c
b. tail .f
e. tail -e
cl. tail -d

5. O comando paste utilizado para


a. colar o contedo da rea de transferncia
b. exibir o histrico de comandos
C. enviar um texto pata outro usurio
cl. exibir o contedo de dois arquivos lado a lado

88
Tpico 103: Comandos GNU e Unix

6. Qual opo do comando tar indica operao com compactao bzip2?


a. b
b. z
C.
d. bz2

7. Qual comando redireciona sua entrada padro para um arquivo e para a sada
padro ao mesmo tempo? D somente o comando, sem argumentos.

S. Quais comandos podem alterar a prioridade de um processo em execuo? Mar-


que rodas as respostas corretas.
a. nice
ti renice
C. ps
d. top

9. Numa expresso regular, qual caractere indica o final da linha?


a. *
ti A
C. -

tO. No modo de comando do editor Vi, a letra A (maiscula) tem finalidade de


a. mudar todas as letras da linha para maisculas.
b. alterar a letra sob o cursor.
e. inserir uma nova linha ap6s a linha atual.
cl. entrar no modo de insero no final da linha atual.

89
freso total do tpico
lia prova: 15

>
L Tpico 104,
Dispositivos,
sistemas de arquivos
Linux e padro
FHS Filesystem
Hierarchy Standard
Principais temas abordados:

Configurao de parties, cdao de


sistemas de arquivos e swap;
Manuteno de sistemas de arquivos;
Configurao de montagem de
parties e cotas de disco;
Permisses de acesso;
Links para arquivos e diretrios;
Como localizar arquivos.
Certificao LPI-1

104.1 Criar parties e sistemas de arquivos


Peso 2

Antes de poder armazenar os arquivos, todo disco rgido precisa ser particionado, ou
seja, necessrio que sejam dimensionados os limites onde sero criados cada sistema
de arquivos dentro do dispositivo.
A maioria dos disco rgidos j sai de fbrica com uma partio criada, que
ocupa todo o espao disponvel no dispositivo. Como j vimos, nem sempre uti-
lizar uma partio nica no dispositivo a melhor soluo, principalmente em
ambientes Linux.
A modalidade mais comum de partio de disco so as parties primrias, das
quais uma pode ser do tipo estendida e, por sua vez, dividida em mais parties lgicas.

fdisk
O fdisk o programa padro pata manipular parries no Linux. Com a opo -1,
ele lista os dispositivos e as parries existentes. Para manipular parties, o fdisk
deve ser iniciado tendo como argumento o dispositivo cm questo.
Uma vez dentro do fdisk, algumas letras correspondero a comandos. Alguns co-
mandos bastante utilizados podem ser vistos na tabela Comandos do fdisk.
Cada partio possui um nmero hexadecimal que a identifica como apropriada
a um determinado sistema operacional. O fdisk cria novas parties identificadas
como nativas de Linux, cujo cdigo hexadecimal 83 (0x83). O cdigo de identifi-
cao de parties do tipo swap 82 (0x82).

Criao de sistemas de arquivos:


Durante muito tempo, o sistema de arquivos mais utilizado no Linux foi o ext2
(second extended). Hoje so mais indicados os sistemas de arquivos com recurso de
journailing, como o ext3, o ext4 ou o xh.

(Q Comandos do fdisk
L
t Muda o cdigo de identificao da partio.
d Sfrfl'Wrtfrz
Sa do fdisk sem gravar as alteraes.
Sai doTlEgr&aS a1teraes
m Mostra a ajuda de comandos.

92
Tpico 104: Dispositivos, sistemas de arquivos Linux e padro RIS

Q ext2 para ext3


Um sistema de arquivos ext2 pode ser convertido para ext3 sem perda de dados, com o
comando tune21's - i /devfhdx.

A diferena para um sistema de arquivos com journailing que esse recurso regis-
tra de antemo todas as alteraes que realizar no disco. Dessa forma, erros de gra-
vao (normalmente ocasionados por queda de energia ou desligamento incorreto)
podem ser mais facilmente diagnosticados e solucionados.
O comando mkfs pode criar diversos sistemas de arquivos em parties, em que a
opo - t indica o tipo de sistema de arquivos. Para criar uma partio ext3 na parti-
o /dev/hda3, usa-se rnkfs -t ext3 /dev/hda3. H tambm comandos especficos para
cada sistema de arquivos: mkfs.ext2, mke2fs, rnkfs.ext3, mkfs.xfs, rnkfs.ext4, mkdosfs
emkfs.vfat.

Partio swap
A partio definida como swap precisa ser formatada com o comando mkswap. Por
exemplo, rnkswap /dev/hda2. Depois disso, a partio precisa ser ativada para ser usada
como rea de troca. O comando swapon -a ativa todas as parties swap que consta-
rem no arquivo Ietc/fstab. As entradas referentes a parties swap em Ietclfstab no
tm ponto de montagem. Exemplo de entrada swap em /etclfstab:

/dev/bda2 swap swap defauts 3O

Normalmente, todas as parties swap contidas em /etc/fstab so ativadas pelos


scripts de inicializao do sistema. Para ativar ou desativar essa partio manualmen-
te, usa-se swapon fdev/hda2 e swapoff /dev/hda2, respectivamente. Informaes sobre
as reas de swap ativas podem ser encontradas no arquivo /proc/swaps. O

104.2 Manuteno da integridade de sistemas de arquivos


Peso 2

Ambientes onde h muita atividade de leitura e escrita de dados em disco podem


eventualmente apresentar falhas, principalmente no caso de falhas de hardware ou
desligamento abrupto. Por isso recomendvel fazer a checagem e eventual correo
espordica das parties.

93
Ceflificao IPI-1

Checando o sistema de arquivos


O comando fsck deve ser executado em parties que apresentarem erros ou em dis-
positivos que foram desligados incorretamente. A partio dever estar desmontada
ou montada como somente-leitura (ro), para a verificao.
Como o comando mkfs, o fsck possui a opo -t para especificar o tipo do sistema
de arquivos e um comando especfico para cada partio: fsck.ext2 ou e2fsck, fsck.
ext3, fsck.xfs, reiserfsck e dosfsck.

Examinando e corrigindo o sistema de arquivos


Um dos comando mais importantes para a inspeo de sistemas de arquivos o
debugfs, um depurador interativo dc sistemas de arquivos ext2 e ext3. Com ele
possvel realizar tarefas de baixo nvel como mudar propriedades de diretrios, exa-
minar dados de inodes, apagar arquivos, criar Iinks, mostrar o Iog de journailing etc.
usado em casos extremos, geralmente quando o fsck no foi capaz de solucionar
um problema.
Outros comandos importantes para inspecionar e alierar sistemas de arquivos so:
dumpe2fs: Mostra informaes de grupo de blocos e de superblocos;
tune2fs: Configura parmetros ajustveis em sistemas de arquivos ext2,
como rtulo e limites de montagem, antes de checar automaticamente
esses sistemas.

Esses comandos so especficos para os sistemas de arquivos ext2 e ext3*. Para o


sistema de arquivos xfs, existem os dois comandos semelhantes xfs_metadurnp e xfs
info. O xfs metadump extrai todos os dados referentes ao sisrema de arquivos em si
(com exceo dos prprios arquivos e direrrios). J o xfs i nfo exibe as caractersticas
e outras informaes estarsricas sobre o sisrema de arquivos xfs em questo.

Anlise de espao em disco


Dois comandos so essenciais para analisar o espao em disco ocupado por arquivos
em uma partio, o df e o du:
df: Mostra o espao ocupado e disponvel cru cada dispositivo. A anlise
feita diretamente no dispositivo. Por padro, mostra o espao em unidades de
1 KB. A opo - h usa medidas - como megabytes ou gigabytes - apropriadas
para tornar a sada mais inteligvel. Com a opo -T exibe tambm o tipo dos
sistemas de arquivos de cada dispositivo.

Todos os comandos relacionados ao ext2 e ext3 tambm so compativeis com a nova verso do sistema de arquivos, o ext4.
Contudo, o sistema de arquivos ex14 no abordado nas provas de cefltlicao.
Tpico 104: Dispositivos, sistemas de arquivos Unux e padro RIS

du: Mostra o espao ocupado por arquivos e/ou diretrios. Sem argumentos,
mostra o uso de cada diretrio no sistema. Um diretrio especfico pode ser
indicado pela opo -s. A opo -h usa medidas apropriadas para tornar a
sada mais inteligvel. O

104.3 Controle da montagem e desmontagem

Peso 3
dos sistemas de arquivos k]
Todos os sistemas de arquivos criados durante a instalao do Linux sero monta-
dos (disponibilizados para gravao e/ou leitura) automaticamente toda vez que o
sistema for iniciado. As informaes sobre cada sistema de arquivos e de que forma
devem ser montados ficam armazenadas no arquivo /etclfstab.

fstab
Para que os sistemas de arquivos sejam montados automaticamente durante o car-
regamento do sistema necessrio que exista uma entrada para cada um deles no
arquivo /etc/fstab. Nesse arquivo so determinados as parties, o tipo de sistema
de arquivos, o ponto de montagem e opes. Cada linha corresponde a um ponto
de montagem e contm os seguintes termos, separados por tabulaes ou espaos:
Partio do dispositivo;
Ponto de montagem (swap se tratar-se de uma rea de troca);
Tipo de sistema de arquivos;
Opes, demonstradas na tabela Opes de montagem.

Opes de montagem
rw Dados podero ser gravados na partio.
ro Dados no podero ser gravados na partio. Permitida apenas leitura de dados.
noauto No montar automaticamente (opo exclusiva de etr/fstdb).
useis O dispositivo poder ser montado e desmontado por usurios comuns.
user Apenas o usurio que montou o sistema de arquivos ter permisso de desmont-la.
owner As permisses do dispositivo montado se adequaro ao usurio que o montou.
usrquota Aciona o uso de cotas de disco para usurio.
grpquota Aciona ouso de cotas de disco para grupo.
remount Remonta um dispositivo montado, podendo utilizar opes adicionais.
Util para remontar um dispositivo como somente leitura,
por exemplo. Exclusivo para montagem manual.

95
Certificao 191-1

dump (O ou 1): Determina se o dispositivo dever ser considerado pelo co-


mando dump. Se ausente, O considerado;
fsck (1 ou 2): Determina a ordem da checagem feita pelo fsck durante a
inicializao. Para a partio raiz, deve ser 1. Se ausente, O presumido e a
checagem no feita no boot.

Para permitir que usurios comuns montem e desmontem dispositivos - geralmen-


te, o caso de dispositivos removveis como DVDs -, deve-se incluir a opo users para
o respectivo dispositivo no /etc/fstab. Via de regra, os dispositivos de armazenamento
removveis devem possuir os respectivos pontos de montagem no diretrios /rnedia.
O termo auto na posio referente ao sistema de arquivos indica que o sistema de
arquivos deve ser identificado automaticamente. Para mais opes do arquivo Ietc/
fstab veja a tabela Opes de montagem.

Montagem manual de sistemas de arquivos


A montagem manual de sistemas de arquivos importante quando no for confi-
gurada uma entrada em /etc/fstab para uma determinada partio ou quando for
utilizado um meio de boot alternativo, como um Live CD. O comando universal de
montagem de dispositivos o mount.
Quando usado sem argumentos, o mount mostra os dispositivos montados e ou-
tros detalhes, como ponto de montagem e tipo do sistema de arquivos:

II inount 0
/dev/sda5 on / type xfs (rw)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,fflodr0755)
proc on /proc type proc (rwnoexec,nosuidnodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (nt)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shrn type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,node=620)
fdev/mapper/lnrii-home on /home type xfs (nt)
/dev/mapper/lnm-var on /var type xfs (rw)
fdev/sdal on /bcot type ext3 (rw)
fusecti on /sys/fs/fuse/connections type fusecti (rw)

Para montas manualrnente um sistema de arquivos que conste em /etc/fstab,


basta fornecer para o comando mount a localizao da partio/dispositivo ou do
Tpico 104: Dispositivos, sistemas de arquivos Linux e padro FF15

ponto de montagem. Para desmontar uni dispositivo, o comando urnount utilizado,


tendo como argumento o dispositivo ou o ponto de montagem a ser desmontado.
Usado com a opo -a, mount monta todos os dispositivos em /etc/fstab, exceto os
marcados com a opo noauto.
A maioria das opes de montagem so as mesmas para /etc/fstab e para mount. Se
mais de uma opo for fornecida, estas devero ser separadas por vrgula. O

104.4 Administrar cotas de disco


Peso 1

Em certas circunstncias, principalmente quando muitos usurios acessam o mesmo


sistema, recomendvel ativar o recurso de cotas de disco. Com ele, possvel limitar
a quantidade de espao em disco que um determinado usurio ou grupo de usurios
poder utilizar.
Para acionar o controle de cotas de disco, necessrio incluir a opo usrquota ou
grpquota no arquivo /etc/fstab e que o kernel tenha suporte a esse recurso. Para que
a opo adicionada tenha efeito, necessrio remontar o sistema de arquivos.

Anlise e controle de cotas


Para gerar a tabela de estatsticas de uso do sistema de arquivos, deve-se executar o
quotacheck a, o que normalmente feito pelos scripts de inicializao.
Para criar as configuraes de cota para usurios e grupos, usa-se o comando ed
quota. A opo -u altera as configuraes de cota para o usurio especificado, da
mesma forma que -g altera para o grupo especificado. O editor padro do sistema
(geralmente o editor vi) usado para editar esses arquivos.
Essas configuraes so armazenadas no ponto de montagem da partio em ques-
to, nos arquivos aquota - user e aquota - group. Nesses arquivos, possvel especificar
limites como espao e inodes para o usurio ou grupo.
Para que as cotas passem a ser monitoradas e controladas, deve-se executar o co-
mando quota -a. Assim, os limites para cada usurio sero comparados tabela de
estatsticas de cotas, at que um dos limites seja alcanado e o usurio no disponha
de mais espao.
possvel, tambm, estabelecer um perodo em que o usurio ser avisado de que
seu limite foi alcanado, com o comando edquota com a opo -ta.
Para que o usurio acompanhe o status de sua cota, basta executar o comando
quota sem argumentos. O usurio roor pode gerar relatrios de cota dos sistemas de
arquivos com o comando repquota -a. O

97
Certificao LPI-1

E 104.5 Controlar permisses e propriedades de arquivos


Peso 3

Em sistemas de arquivos do padro Unix, existe um sistema de permisso que de-


termina a quem pertence um determinado arquivo ou diretrio e quais usurios ou
grupos podem utiliz-los. Para arquivos e diretrios h trs nveis de permisso: usu-
rio dono do arquivo (u), grupo dono do arquivo (g) e outros (o).
As permisses so exibidas ao listar os arquivos com o comando is, utilizando a
opo -1:

# is -i /etc1X11/ 3
total 36
drwxr-xr-x 3 root root 18 Abr 7 12:09 fonts
-rw-r--r 1 root root 17394 Out 5 2008 rgb.txt
drwxr-xr-x 2 root root 23 Abr 7 08:38 Xresources
rwxr-xr-x 1 root root 3517 Mar 8 2008 Xsession
drwxr-xr-x 2 root root 4096 Abr 7 12:09 Xsession.d
-rw-r--r 1 root root 265 Fev 13 2007 Xsession.options
-rw-------1 root root 614 br 708:38 Xwrapper.config

A primeira letra representa o tipo do arquivo, podendo ser:


d: Diretrio;
1: Link simblico;
c: Dispositivo especial de caracteres;
p: Canal fifo;
s: Socket;
-: Arquivo convencional.

As demais letras so divididas em grupos de trs, determinando as permisses para


o dono do arquivo, o grupo do arquivo e demais usurios, respecrivamente.

Alterando permisses
As permisses so alteradas com o comando chrnod e podem ser de leitura (r), escrita
(w) e execuo (4. Por exemplo, o grupo a que pertence o arquivo texto_sinpies .txt
ter apenas acesso de leitura a ele e para os demais usurios ser retirada a permisso
de leitura:

1 chmod gr,o-r texto_simples.txt 4


98
Tpico 104: Dispositivos, sistemas de arquivos Linux e padro FF15

Para incluir permisso de escrita para o grupo do arquivo texto_siniples.txt:

$ chod qi-w texto S s'pes.txt

Apesar de possurem o mesmo modelo de permisses, arquivos e dretrios reagem


de maneiras diferentes. Em diretrios, a permisso r possibilita acessar o contedo do
diretrio, a permisso w permite criar arquivos dentro do diretrio e x permite listar
o contedo do diretrio.

Permisses octais
Permisses podem ser manejadas mais eficientemente atravs de um formato num-
rico, chamado octal. O nmero octal consiste em uma sequencia de dgitos, cada
um representando as permisses para o usurio, grupo e outros, nessa ordem. Veja a
Permisses octais.
Dessa forma, o comando chmod 0664 texto_simples.txt mudar as permisses do
arquivo textosinples.txt para -rw-rw-r--, ou seja, leitura e escrita para o usurio,
leitura e escrita para o grupo e somente leitura para outros.
Para mudar recursivamente todos os arquivos dentro de um diretrio especificado,
utiliza-se o chmod com a opo -R.

umask
O umask o filtro de permisses para criao de arquivos. As permisses para novos
arquivos criados so determinadas a partir dele. Toda vez que um novo arquivo
criado por um usurio ou programa, suas permisses sero calculadas subtraindo as
permisses padro pelo valor de umask. As permisses padro do sistema para arqui-
vos 0666 c para diretrios, 0777.
O comando urnask, sem argumentos, mostra a mscara atual de criao de arqui-
vos. Para mudar, basta fornecer a nova mscara como argumento. Em sistemas em

Permisses octais e seus

o - - -

1 - - Sim
2 - Sim -

3 - Sim Sim
4 Sim - -

5 Sim - Sim
6 Sim Sim -

7 Sim Sim Sim

99
Certificao L.PII-1

que os grupos iniciais dos usurios so particulares, a mscara poder ser 002, o que
subtrair das permisses padro do sistema a permisso 2 (w, escrita), na categoria
outros (o). Dessa forma, os arquivos sero criados com as permisses 0664.
Em sistemas em que o grupo inicial de todos os usurios o grupo users, a mscara
poder ser 0022, o que subtrair das permisses padro do sistema a permisso 2 (w,
escrita), nas categorias grupo (g) e outros (o). Dessa forma, os arquivos sero criados
com as perrnisses 0644, limitando a permisso de escrita apenas ao usurio dono
do arquivo.

suid e sgid
Todos os processos so vinculados ao usurio que os iniciou. Dessa forma, o pro-
grama ter as mesmas permisses de leitura e escrita do usurio que o executou.
Algumas tarefas, no entanto, exigem que um usurio altere ou acesse arquivos para os
quais no tem a permisso necessria. Por exemplo, alterar a prpria senha exige que
o arquivo /etc/passwd seja alterado, mas as permisses de /etc/passwd s permitem
escrita ao usurio dono deste arquivo (root):

II is -1 /etc/passwd *
-rw-r--r-- 1 root root 1400 Mal 7 16:10 /etc/passwd

Para contornar essa condio, existe um tipo de permisso especial, chamado


suid. Arquivos executveis que possuam a permisso suid sero executados com
as mesmas permisses do dono do arquivo e no com as permisses de quem os
executou. A permisso suid representada pela letra s, no campo referente ao dono
do arquivo (a):

# is -i /usr/bin/passwd 0
-rwsr-xr-x 1 root root 31640 Nov 2214:01 /usr/bln/passwd

Para incluir o modo suid em um arquivo executvel, utiliza-se:

$ chmod u+s meu_programa *


De maneira semelhante, a permisso sql d atua em diretrios. Ela uma permisso
de grupo, portanto aparece no campo de permisses referente ao grupo.
Num diretrio com a permisso sgid, todos os arquivos criados pertencero ao
grupo do diretrio em questo, o que especialmente dril em diretrios com o qual
trabalham usurios pertencentes ao mesmo grupo.

100
Tpico 104: Dispositivos, sistemas de arquivos Linux e padro FHS

Quando ativadas, as permisses suid e sgid fazem aparecer a letra $ no lugar da


letra x nas permisses de dono do arquivo e grupo do arquivo, respectivamente. Se
a permisso de execuo tambm existir, aparecer a letra s minscula. Se apenas as
permisses suid e sgid existirem, aparecer a letra S maiscula.

A permisso sticky
O inconveniente em usar diretrios compartilhados que um usurio poderia apagar
algum ou todo o contedo inadvertidamente. Para evitar que isso acontea, existe o
modo de permisso sticky, que impede que usurios apaguem arquivos no criados
por eles mesmos. o caso do diretrio /trnp:

# is ld /tp
drwxrwxrwt 8 root rDot 24576 Mal 8 17:58 /tmp

A letra t nas permisses para demais usurios demonstra o uso da permisso sticky.
Se apenas a permisso sticky existir, aparecer a letra T maiscula.
Por exemplo, atribuir a permisso sticky no diretrio chamado workgroup:

$ cnmod 041 workgroup e


Permisses especiais em formato octal
Como as opes convencionais, as permisses especiais tambm podem ser mani-
puladas em formato octal (numrico). A permisso especial o primeiro dos quatro
dgitos da opo no formato octal. A tabela Permisses especiais em formato octal
detalha essa correspondncia.

Permisses especiais em formato octal

%
o - - -
1 - - Sim
2 - Sim -
3 Sim Sim
4 Sim - -
5 Sm - Sim
6 Sim Sim -
7 Sim Sim -- Sim

101
Certificao LPI-1

Modificar donos e grupos de arquivos


Para alterar dono e grupo dc arquivos e diretrios, utiliza-se os comandos chown e
chgrp. O primeiro argumento um nome vlido de usurio ou grupo e o segundo
o arquivo ou diretrio a ser alterado. Apenas o root pode usar o comando chown, mas
qualquer usurio pode usar chgrp em seus arquivos e diretrios.
Mudar dono de arquivo usando o chown:

$ chown luciano texto_simplestxt *

Mudar grupo de arquivo:

$ chgrp users texto_sirnples.txt *

Para alterar usurio e grupo simultaneamente:

$ chown luciano.users textosimples.txt *


ou

$ chown luciano:users texto_simples.txt 1


Tanto chown quanto chgrp possuem a opo - R para alterar contedos de diret-
rios recursivamente. !.

104.6 Criar e alterar Iinks simblicos e hardlinks


Peso 2

Links so arquivos especiais que tm finalidade de atalho para outros arquivos, faci-
litando a maneira como so acessados. Existem dois tipos de links: o link simblico
e o hardlink (ou link fsico).

Hardlinks (Iinks fsicos)


Hardlinks so um ou mais nomes que um inode do sistema de arquivos pode ter.
Todo arquivo criado , necessariamente, um hardlink para seu inode correspondente.
Novos hardlinks so criados usando o comando in:

$ in texto_simples.txt outro_texto_simples.txt

102
Tpico 104: Dispositivos, sistemas de arquivos Linux e padro FHS

.Q Oqueuminode?
Um iriode o elemento bsico que identifica o arquivo no sistema de arquivos. O primeiro
inode de um arquivo carrega suas propriedades e indica em quais outros inodes do sistema de
arquivos os dados deste arquivo esto localizados.

A opo i do comando is mostra o nmero dos inodes dos arquivos:

$ is -i texto_simples.txt outro_texto_simples.txt
55412 outro_texto_sirples.txt 55412 texto_simples.txt

Ambos texto_simpi es .txt e outro_texto_simples .txt so hardlinks para o mesmo


inode 55412. Hardlinks para o mesmo inode possuem mesma permisso, donos,
tamanho e data, pois esses atributos so registrados diretamente nos inodes.

$ 7s texto5impies
-rw-r--r-- 2 'uciano users 29 2006-01-01 00:01 texto_simples
*
O nmero 2 na segunda coluna de informaes demonstra que h dois hardlinks
para o inode correspondente ao arquivo texto_si mpi es .txt. Um arquivo s de fato
apagado do sistema dc arquivos quando o ltimo hardlink remanescente excluido.
Hardlinks s podem ser criados dentro de um mesmo sistema de arquivos. No
possvel criar hardlinks para diretrios. Os arquivos especiais . e .. so hardlinks
para diretrio criados exclusivamente pelo prprio sistema.

Softlinks (tinks simblicos)


Links simblicos podem apontar para qualquer alvo, inclusive em sistemas de arqui-
vos diferentes. Para criar um link simblico, usa-se in com a opo -s.

$ lo -s textoj 1 rpes.txt nk_texto_sinples.txt S


Detalhes do link:

$ is -] ?a1s_texto_sirnpies.txt
rwxrwxrwx 1 luciano users 13 2006-03-24 05:11 'ia 1 s_texto_sirpes.txt ->
'-.-texto_sin'p es.txt

Um link indicado pela letra 1 no incio das permisses que, nesse caso, so sem-
pre rwxrwxrwx. O tamanho do arquivo de link exatamente a quantidade de bytes

103
Certificao 191-1

(caracteres) do caminho alvo. A seta ao lado do nome do link simblico indica o


caminho at o alvo.
Um link simblico para um caminho relativo ser quebrado se o alvo ou o prprio
link for movido. Um link simblico para um caminho absoluto s ser quebrado se
o alvo for movido ou apagado. Para atualizar a informao de alvo de um link sim-
blico existente mas "quebrado", recria-se o link com a opo -f.
Funes comuns para links simblicos so indicar caminhos longos frequente-
mente usados, criar nomes mais simples para arquivos executveis e nomes adicionais
para bibliotecas de sistema. O

104.7 Encontrar arquivos de sistema e conhecer


16

Peso 2
sua localizao correta

Todo arquivo tem uma localizao adequada, que varia conforme sua finalidade. Em
sistemas Linux, o padro que define a localizao dos arquivos e diretrios chama-se
Filesystem Hierarchy Standard - FHS.

FHS
O FHS (do ingls Filesystem Hierarchy Standard ou Hierarquia Padro de Sistemas
de arquivos) o padro de localizao de arquivos adotado pela maioria da distribui-
es Linux. Cada um dos diretrios serve a um propsito, sendo divididos entre os
que devem existir na partio raiz (tabela Diretrios que residem obrigatoriamente
na partio raiz) e os que podem ser pontos de montagem para outras parries ou
dispositivos (veja a tabela Diretrios que podem ser pontos de montagem).

Q Diretrios que residem obrigatoriamente na partio raiz


IJTjil(plj[, 1WlITli1i[:
/bi n e /sbl n Contm os programas necessrios para carregar
o sistema e comandos especiais.
fite
111h Bibliotecas compartilhadas pelos programas em /bl n e /sbl
e mdulos do kernel.
itt dJJdlu ppl9e?ijnntgetn$ra otrs patteu$fipositivo
fproc e /sys Diretrios especiais com informaes de processos e hardware.
tdr yqBvQeCeSSp po fl?Qbi/bs especiais

104
Tpico 104: Dispositivos, sistemas de anluivos Linux e padro FF45

Diretrios que podem ser pontos de montagem

/boot Kernel e mapas do sistema e os carregadores de boot de segundo estgio.


/houiie Os diretrios dos usurios.
/root Diretrio do usurio root.
/tmp Arquivos temporrios.
/usrllocal e !opt Programas adicionais. Tambm podem conteras bibliotecas
necessrias para os programas adicionais.
/var Dados de programas e arquivos relacionados, arquivos de Iog, bancos
de dados e arquivos de sites. Pode conter diretrios compartilhados.

Localizando arquivos
Alm do find, que foi visto no objetivo 103.3, outro programa importante para a
tarefa de encontrar um arquivo o comando locate. Sua utilizao simples, todo
caminho de arquivo ou diretrio contendo a expresso fornecida como argumento
ser mostrado.
A busca com o locate significativamente mais rpida em relao ao find, pois ele
realiza a busca em seu banco de dados e no diretamente no disco. Esse banco de dados
precisa ser regularmente atualizado por meio do comando updatedb, o que geralmente
Leito por um agendamento dirio, mas que pode ser executado manualmente.
O arquivo de configurao do updatedb o /etc/updatedb.conf. Nele, constam
informaes como quais diretrios e sistemas de arquivos ignorar na atualizao do
banco de dados.
O comando which usado para retornar o caminho completo para o programa
fornecido. Realiza a busca apenas nos diretrios definidos na varivel de ambiente
PATH. Por fim, o comando wherei s, que retorna os caminhos para o arquivo execut-
vel, o cdigo-fonte e apgina manual referente ao comando solicitado, se houver. O

105
VI)
o-
(
'4-

(
1
a)
>c
LIJ
Certificao LPI-1

Questes Tpico 104

1. Qual comando do fdisk cria uma nova partio no disco atual?


a. c
b. n
C. p
d.w

2. Qual comando converte o sistema de arquivo ext2 em /devlsda3 para ext3 sem
perda de dados (comando completo)?

3. Qual comando ativa um espao de troca Swap. D somente o comando, sem argumentos.

4. Qual o principal comando de verificao da integridade de sistemas de arquivo


Linux (somente o comando, sem argumentos)

5. Qual comando mostra o espao livre em disco?


a. fite
b. Is -f
c. dir
d.df

6. O terceiro campo do arquivo /etc/fstab determina


a. o ponto de montagem.
b. o sistema de arquivos da partio.
c. as opes de montagem.
o nmero hexadecimal de identificao da partio.

7. O comando chgrp tem a finalidade de


a. alterar as propriedades de um grupo de usurios.
b. alterar o shell padro de determinado grupo de usurios.
C. alterar o nome de um grupo de usurios.
d. alterar o grupo ao qual pertence um arquivo ou diretrio.
108
Tpico 104: Dispositivos, sistemas de arquivos Linux e padro FF15

8. Num sistema em que o valor de umask 0002, a permisso padro de criao de


arquivos ser:
a. rw- r-- r--
b. rw- rw-
C. r-- r-- r--
d. rw- rw- r--

9. Links simblicos deixaro de funcionar quando


a. o destino estiver num sistema de arquivos diferente.
b. o destino for um diretrio.
C. o destino for movido.
d. o contedo do destino for alterado.

10. Complete a lacuna:


O comando ______ /usr/lib -type [mostrar todas as ocorrncias de arquivos
comuns sob o diretrio /usr/lib.

109
peso total do tpico
1aora:lO
y

L Tpico 105,9
Shelis, scripts
e administrao
de dados
Principais temas abordados:

Configurao e personalizao do ambiente shell;


Desenvolvimento e edio de scripts;
ConhecFmento da linguagem SQL.

-- .'..................?.
Certificao LPI-1

105.1 Personalizar e trabalhar no ambiente shell


Peso 4

O shell ao mesmo tempo uma interface de interao com o computador e um


ambiente de programao. H difcrcntes opes de shell, como o bash, csh ou zsh.
O mais utilizado pela maioria das distribuies o bash, que o shell abordado nos
exames LPI. H quem prefira o csh, que possui sintaxe semelhante linguagem C.

Variveis
Variveis so utilizadas para fornecer informaes teis e necessrias a programas e
usurios. So definidas na forma nome= valor. No deve haver espaos na definio.
Variveis podem ser globais ou locais.
Variveis globais so aquelas acessveis a todos os processos. Exemplos desse tipo so:
PATH: Define os diretrios de programas;
HOME: Define o diretrio pessoal do usurio;
SHELL: Determina o shell padro do usurio.

Por convenincia, os nomes de variveis globais so em maisculas. Elas podem ser


listadas com o comando env. Todas as variveis so listadas usando set.
As variveis globais so definidas no login, para todo o sistema, por meio do arqui-
vo /etc!profi 1 e, ou para um usurio especfico por meio do arquivo-!. bash_profi 1 e.
Variveis locais so acessveis apenas sesso atual do shell e podem ser definidas
em scripts ou na prpria linha de comando. Para tornar uma varivel acessvel para
as sesses criadas a partir da sesso atual, usada a instruo export:

$ export SASH'Bourne Again Shell 4


O valor da varivel retornado com uso de $:

$ echo $BASH 4
Bourne Again Sheli

Para excluir uma varivel, usada a instruo unset:

$ unset BASH 4
A exduso de uma varivel global s vlida para a sesso atual. Demais sesses
continuam a acessar a varivel.

112
Tpico 105: Shelis, scripts e administrao de dados

Funes
Para simplificar tarefas recorrentes, possvel escrever funes que aglutinam coman-
dos. Podem ser escritas diretamente pela linha de comando ou serem definidas em
scripts ou nos arquivos de configurao do bash.
O exemplo abaixo mostra algumas informaes sobre o nome de programa fornecido:

$ function pinfo O (
> echo 'Localizao de $1:"
) which $1
> echo "Processos referentes a $1:"
> ps x 1 grep $1
>1

Para que essa funo possa ser utilizada em hituras sesses do bash, basta inclu-la
no arquivo /.bashrc:

function pinfo () 1
echo "localizao de $L"
which $1
echo "Processos referentes a $1:"
p5 x 1 grep $11

Em ambos casos, a funo pinfo poder ser utilizada como um comando.

Arquivos de configurao do bash


possvel automatizar a criao de variveis, aliases, funes e outras personalizaes
do bash, tanto para a entrada do usurio no sistema quanto para cada nova instncia
do bash. Para cada propsito especfico, existe um arquivo apropriado.
Existem duas maneiras bsicas de invocar o bash: aps um login de usurio ou a
partir de uma sesso j iniciada, como o caso dos scripts. Essas duas maneiras tam-
bm podem ser classificadas como shell interativo e shell no interativo (quando o
prompt do shell no espera interao do usurio).
Quando o bash iniciado como um shell interativo (ou como shell no-interativo,
mas utilizando a opo --login), ele primeiro l e executa as instrues no arqui-
vo /etcfprofile, se esse arquivo existir. Depois de ler esse arquivo, o bash procura
os arquivos -/.bash_profile, -/,bash_login e -/.profile (nessa ordem) e executa as
instrues encontradas neles. Quando a sesso do shell termina, o bash executa as
instrues do arquivo / . bashj ogout, se o arquivo existir.

113
Certificao LPI-1

Quando o bash invocado como shefl interativo, mas no se trata de uma sesso
de login (como no caso de terminais numa sesso X), o bash executa as instrues dos
arquivos /etc/bash.bashrc e -/.bashrc, se csses arquivos existirem.
Em algumas distribuies, o arquivo de definio das variveis globais ietcl
environrnent.

16
105.2 Editar e escrever scripts simples
Peso 4

Scripts so arquivos que atuam como programas, passando instrues a um interpre-


tador para realizar determinada tarefa. Diferente de programas compilados, scripts
so arquivos de texto que podem ser manipulados em qualquer editor de texto.

Definio do interpretador
A primeira linha do arquivo de script deve especificar o interpretador, que indicado
pelos caracteres #! (termo conhecido como sheban. Para um scripc com instrues
para o bash, a primeira linha dever ser #I/binlbash. Assim, o interpretador para to-
das as interpretaes subsequentes ser o bash. O script dever ter permisso de exe-
cuo para rodar diretamente ou ser invocado como argumento do comando bash ou
sh. Para atribuir a permisso de execuo a um script, utilizado o comando chmod:

$ chmod +x rneuscript.sh *
Variveis especiais
Os argumentos passados para um script e ourras informaes teis so retornados
pela varivel especial $x, em que x determina que valor retornar:
$*: Todos os valores passados como argumentos;
$#: O nmero de argumentos;
$0: O nome do arquivo de script;
$n: O valor do argumento na posio n;
$I: PID do ltimo programa executado;
$$: PID do shell atual;
$7: Cdigo de sada do ltimo comando.

'O arquivo fetc/envlronment oSo abordado nos exames LPI. Contudo, muito importante saber que esse arquivo substitui o
arquivo /elclprofile em algumas distribuies.

114
Tpico 105; Shelis, scripts e administrao de dados

Para solicitar valores do usurio durante a execuo do script, usada a instruo read:

echo 'Informe valor solicitado:" 0


read RESPOSTA

O valor retornado ser armazenado na varivel RESPOSTA. Caso uma varivel


de retorno no seja especificada, o nome padro da varivel de retorno, REPLI'
ser utilizado.
O
if then else
A estrutura lgica if executa um comando ou uma lista de comandos se uma afirma-
o for verdadeira. A instruo test avalia se a afirmao verdadeira ou falsa. Seu
uso geralmente associado instruo condicional if, como no exemplo abaixo, que
exibe ok se o arquivo /bin/bash for executvel:

if test -x /bin/bash then O


echo 'ok"
ri

O exemplo abaixo mostra outra maneira de realizar a mesma tarefa:

if [ -x /bin/bash 3 then O
echo "ok'
fi

A instruo e]se um apndice estrutura if e determina o bloco de instrues a


executar, caso a aflrmao avaliada seja falsa. Exemplo:

if E -x /bin/bash] then
echo "ok'
ei se
echo "no ok'
Ti

O final da estrutura i f deve ser sempre sinalizado com fi.


Opes de avaliao da instruo test para arquivos e diretrios:
-d caminho: verdadeiro se o caminho existir e for um diretrio;
-c caminho: verdadeiro se o caminho existir;

115
Certificao LPI-1

-f caminho: verdadeiro se o caminho existir e for um arquivo comum;


- L cami nho: verdadeiro se o caminho existir e for um link simblico;
-r caminho: verdadeiro se o caminho existir e puder ser lido (acessado);
-s canil nho: verdadeiro se o caminho existir e seu tamanho for maior que zero;
-w caminho: verdadeiro se o caminho existir e puder ser escrito;
-x caminho: verdadeiro se o caminho existir e for executvel;
caminhol -ot caminho?: verdadeiro se caminhol for diferente de caminho2.

Opes de avaliao de test para texto


-n texto: verdadeiro se o tamanho de texto for diferente de zero;
-z texto: verdadeiro se o tamanho de texto for zero;
textol - texto?: verdadeiro se textol for igual a texto?;
textol 1'.' texto?: verdadeiro se textol for diferente de texto2.

Opes de avaliao de test para nmeros


numi -lt num?: verdadeiro se numi for menor que num?;
numi -gt num?: verdadeiro se numi for maior que num?;
numi -le num2: verdadeiro se numi for menor ou igual a num?;
numi -ge num?: verdadeiro se numi for maior ou igual a num?;
numi -eq num?: verdadeiro se numi for igual a num?;
numi -ne nurn2: verdadeiro se numi for diferente de num?.

Uma variao da instruo i f a instruo case. A instruo case prosseguir se


um irem indicado for encontrado em uma lista de irens divididos pelo caractere "1":

case 3 in (1I2131415)
echo "Nmero 3 encontrado na lista;;
echo 'portanto case finalizou e:
echo "executou esses comandos";
esac

O final da estrutura case deve ser sempre sinalizado com esac.

Substituio de comandos
Um dos principais propsitos de um script trabalhar com os dados produzidos por
outros comandos, sejam dados binrios ou dados de texto. Pan exibir ou armazenar
a sada de um comando, o mesmo colocado entre aspas simples invertidas - ou
entre ):

116
Tpico 105: Shelis, scripts e administrao de dados

TRESL1HHS'cat -n3 /etc/inputrc' *


echo "As trs priffleiras linhas de /etc/inputrc:"
echo STRESUNHAS

Resultado idntico ser produzido na forma:

TRESLTNHAS=$(cat -n3 /etc/inputrc)


echo As trs primeiras linhas de /etcfinputrc:"
echo $TRESIINHAS

Operaes matemticas com nmeros inteiros so feitas utilizando a instruo expr:

SOMA=expr $VALOR1 + $VALOR2 0


Produz resultado idntico:

5OMA$U$VALOR1 + $VALOR2))

Instrues de lao
bastante comum o desenvolvimento de scripts cuja finalidade executar determi-
nada tarefa repetidamente, obedecendo a uma condio pr-determinada. Para esse
fim existem as chamadas instrues de lao ou ioop.

for
A instruo for executa urna ou mais aes para cada elemento de uma lista. Neste
caso, cada nmero gerado pelo comando seq:

for i in $(seq 5) do *
echo Baixando foto_Si .jpg":
echo wget http://www.soniedoiiiain.com/foto_$i.jpg;
done

A sada desse script ser:

Baixando foto_1
wget http://www.somedomain.com/foto_l.jpg
Baixando foto_2
wget http:/fwww.somedomain.com/foto2.jpg

117
Ceitificao LP-1

Baixando foto_3
wget http:/fwww.somedomain.com/foto_3.jpg
Baixando foto_4
wget http://www.somedomain.com/foto_4.jpg
Baixando foto_5
wget http://www.somedoinain.com/foto_S.jpg

until
A instruo unti 1 executa um ao em ioop at que uma afirmao seja verdadeira
como, por exemplo, adicionar uma linha ao arquivo texto_simples.txt at que este
alcance 10 linhas:

LENTEXTO=$(wc -1 texto_siiples) 0
until [ $( IENTEXTO%% *1 -eq 101: do
echo "Mais uma linha" texto_simples.txt
LENTEXTO$(wc -1 texto_simples .txt)
done

whi!e
A instruo while semelhante instruo uniu, mas executa uma ao at que uma
afirmao no seja mais verdadeira. Por exemplo, adicionar uma linha ao arquivo
texto_sinipl es .txt at que este alcance 20 linhas (ou, em outras palavras, enquanto o
documento for inferior a vinte linhas):

LENTEXT0$(wc -1 texto_simples) O
wIille [ $ ILENTEXTO%% *1 -lt 201; do
echo "E d-lhe linha" texto_simples.txt
LENTEXT0$(wc -1 texto_simples.txt)
done

Local, propriedade e permisso


Para que um script possa ser usado por todos os usurios, importante quc ele seja
executvel e que esteja num diretrio includo na varivel PATH. Direito de escrita
deve ser retirado para todos, exceto o dono (normalmente o root). Por ser um arqui-
vo mais vulnervel, no recomendvel ativar o bit SUID para arquivos script, pois
mesmo se outro usurio o executasse toda instruo comida nele seria executada com
permisso de root. O

118
Tpico 105: Shelis, scripts e administrao de dados

105.3 Administrao de dados SQL


Peso 2

A linguagem SQL - Srrucured Query iLanguage, ou Linguagem de Consulta Estruturada


- o padro para realizao de consulta, edio e incluso de dados nas tecnologias de
bancos de dados mais utilizadas do mundo. Como um idioma comum entre as diferentes
solues de armazenamento de dados em larga escala, a linguagem SQL torna possvel a
um administrador realizar todas as operaes fundamentais em um banco de dados mes-
mo que no tenha conhecimento pleno sobre a tecnologia especfica empregada.

Interagindo com os dados


A maneira mais bsica de comunicao com um banco de dados feita por meio de
linha de comando. Semelhante ao prompt do bash, os bancos de dados mais popula-
res oferecem um prompt no qual possvel interagir com o banco de dados instalado.
Cada tecnologia de banco de dados possui sua prpria ferramenta de interao
manual. Para o banco de dados MySQL, existe o comando mysql. Para o banco de
dados Postgrcsql, o comando o psql.
Bancos de dados so organizados em tabelas semelhantes s tabelas de uma pIa-
nilha. Cada tabela possui colunas que recebem nomes e definio de tipo de dado.
Os dados esto organizados como linhas na tabela, podendo ser includos, alterados
ou removidos. Na maioria das tabelas, a primeira coluna corresponde a um campo
de identificao nico, criado automaticamente, usado para identificar uma linha
especfica da tabela.

Insero de dados
O comando SQL para insero de dados o INSERT. Numa tabela chamada cliente
onde existem as colunas id (campo de identificao nico), nome, email e telefone, a
insero dc uma nova unha com todos os campos pode ser feita da maneira:

Acesso ao banco de dados


A instalao e configurao de bancos de dados variam conforme a tecnologia adotada, mas
os aspectos conceituais so muito semelhantes. Quando ativo, um servidor de banco de dados
aguarda pela identificao de uni usurio criado anteriormente e libera o acesso ao banco para
que ele possa manipular os dados at onde tiver permisso. Dificilmente um banco de dados est
acessvel pela Internet, pois isso o tornaria muito vulnervel a ataques. Por esse motivo, bancos
de dados costumam ser acessveis somente a partir da mquina local (onde esto instalados).
O acesso pode ser liberado apenas para usurios e mquinas especficas. Dessa forma, as
aplicaes que fazem uso do banco - como sites ou pontos de venda - tm acesso controlado.

119
Certificao LPI-1

INSERT INTO cliente (nome, email, telefone) VALUES ('Ned Flanders',


'-.nedQchurch.com', '1234-5678):

Os primeiros parnteses guardam os nomes das colunas onde se deseja inserir os


dados. Os parnteses aps o termo VALUES guardam os dados que devem ser inse-
ridos nas respectivas colunas. importante lembrar que as instrues SQL sempre
terminam com ponto-e-vrgula.
Novos dados podem ser inseridos da mesma forma, e em alguns casos certas colu-
nas podem ser deixadas em branco:

INSERT INTO cliente (nome, email) VALUES ('Montgomery Burns', 'monty@powerplantcoim');

Nesse caso, a coluna telefone foi omitida, tornando esse campo vazio para a nova
linha inserida.
O campo id automaticamente criado e identifica a linha nica correspondente
aos dados inseridos. O campo de identificao costuma ser um nmero numrico
inteiro, que incrementado a cada nova insero na tabela.

Consulta de dados
Para exibir todas as colunas de todas as linhas de uma tabela, utiliza-se o comando
SELECT na sua forma mais simples:

SELECT * FROM cliente; 0


Id nome email 1 telefone
1 Ned Flanders ned@church.com 1 1234-5578
2 Montgomery burns 1 monty@powerplant.com 1

Para limitar a consulta a colunas especfica, basta cit-las no lugar do *:

SELECT Id, nome FROM cliente; li


Id nome
1 Ned Flanders
2 Montgomery Burns

Para selecionar apenas uma ou mais linhas que obedeam a um critrio, utiliza-se
a instruo WHERE:

SELECT nome FROM cliente WHER[ Id = 2; 0


120
Tpico 105: Shelis, scripts e administrao de dados

Montgcmery Burns

A ordem com que as linhas so exibidas pode ser alterada utilizando a instruo
ORDER 1W:

SELECI Id, nome FROM cliente OROER 8? Id DESC: $


nome
2 Montgomery Burns
1 Ned Flanders

No exemplo, a coluna id foi utilizada como critrio de ordenao. A ordem de


exibio foi invertida adicionando a instruo DESC instruo ORDER BY.
Outro recurso interessante de seleo a possibilidade de agregar resultados mediante
um ou mais valores duplicados, com a instruo GROUP BY. Por exemplo, numa ta-
bela de produtos comprados chamada item, possvel somar os valores totais por item:

SELECT nome, SUM(preco) FROM iten GROUP 8? nore;

Todas as ocorrncias iguais na coluna nome sero exibidas na mesma linha. Alm
disso, a kno interna SUMO somar os valores da coluna preco de todas as linhas
que foram agregadas pela instruo GROUP BY.

Alterao e excluso
Os dados j inseridos em uma tabela podcm ser modificados usando a instruo
UPDATE:

UPDATE cliente SET telefone = '4321-8765' WHERE Id = 2;

Essa instruo altera a coluna telefone da tabela cliente somente onde o campo Id
seja igual a 2 Aqui tambm necessrio especificar quais linhas devem ser modifica-
das, usando a instruo WHERE. Caso a instruo WHERE no seja utilizada, todas
as linhas da tabela tero a coluna especificada alterada. Mais de uma coluna pode ser
alterada no mesmo comando, utilizando uma vrgula:

PDATE c'iente SET telefone 4321-8765', noce = 'Monty Burns' WHERE d = 2;

A excluso de uma linha se d com a instruo DELETE:

121
Certificao LPI-1

DELETE FROM cliente WHERE id = 2;

Para essa instruo cssencial o cuidado de utilizar a condio WHERE. Caso


uma ou mais linhas no sejam especificadas, todas as linhas da tabela sero excludas.

Relacionamento de tabelas
Uma das principais razes de se utilizar bancos de dados para armazenar informaes
a facilidade e a rapidez com que se pode cruzar informaes. Os relacionamentos
podem ser realizados de diversas maneiras diferentes, mas uma das mais prticas
usar a instruo IMNERJOIN.
Alm da tabela cliente, pode ser criada a tabela chamada endereco com as colunas
id, id_cliente, uf, localidade, logradouro, numero. Nesse caso, a coluna id_cliente es-
pecifica um campo id da tabela cliente, ou seja, uma linha especfica da tabela cliente.
Portanto, toda linha da tabela endereco possui uma linha correspondente na ta-
bela cliente. Como a coluna id_cliente no um campo de identificao nico na
tabela endereco, o mesmo valor pode ser utilizado em mais de uma linha dessa tabela.
Ou seja, a mesma linha na tabela cliente poder ter mais de um endereo associado
na tabela endereco.
Assim, podemos utilizar a instruo INNER JOIN em uma exibio com SELECT
para mostrar linhas da tabela cliente e o(s) endereo(s) correspondentes na tabela
endereco:

S[LECT cliente.nome. endereco.uf FROM cliente INN[R JOIM endereco OH


~endereco.id_cliente - cliente,id;

Quando mais de uma tabela utilizada, fundamental especificar a qual tabela


cada coluna pertence, como demonstrado nos termos cliente.nome, endereco.uf, en-
dereco.i d_cl i ente e cli ente.i d. No exemplo, o critrio de unio utilizado pela instru-
o INNERJOIN foi relacionar todas as linhas da tabela endereco cujo valor da co-
luna id_cliente fosse igual ao valor da coluna id de uma linha da tabela cliente. O

122
VI
o
13
o
1
a,
w
Certificao LP-1

~0 Questes Tpico 105

1. O principal arquivo de definio de variveis globais do Bash :


a. fetcffstab
b. /etc/bash
c. /etc/g!oba!
d. /etc/pro file

2. O arquivo de definies do Bash para cada usurio o:


a. -/.init
b. .-/.bash
c. -/.shell
d. -/.bash_profile

3. O comando alias delete="nn -1" tem a finalidade de


a. substituir o comando rm -i pelo comando delete.
b. criar o comando delete que invoca o comando rm -i.
C. evitar que arquivos essenciais sejam apagados.
cl. o comando rm sempre exigir confirmao de excluso.

4. Qual entrada no incio de um script identifica o programa /bin/bash como inter-


pretador padro?
a. export shell=/bin/bash
b. env shell=/hin/bash
C. #shell=/bin/bash
d. #!/bin/bash

5. A varivel $! representa
a. o interpretador padro do script.
b. o primeiro argumento do script.
c. o nmero PID do script.
cl. o nmero PID do ltimo programa executado.

124
Tpico 105: Shelis, scripts e administrao de dados

6. A instruo que fecha uma estrutura de teste if


a. fi
13. then
C. end
0. done

7. A instruo if [ -n "$NOME"]; then ... ser verdadeira se


a. A varivel $NOME contiver um nmero.
13. A varivel $NOME possuir um ou mais caracteres.
C. A varivel $NOME for nula.
0. Essa instruo nunca ser verdadeira.

8. A instruo que fecha uma estrutura case :


a. end
13. done
C. then
0. esac

9. O comando seq tem a finalidade de


a. segmentar um arquivo.
13. unir vrios arquivo em um s.
C. exibir uma sequencia ordenada de nmeros.
0. ordenar a entrada padro numericamente.

10. A instruo SQL responsvel por atualizar uma linha numa tabela de banco de
dados :
a. INSF,RT
b.ADD
c. UPDATE
cl. WHERE

125
-1 Peso total do tpico
-- 1a prova: 5

Tpico 106.
Interfaces de
usurio e Desktops
Principais temas abordados:

Configurao do ambiente grfico Xli;


Configurao do gerenciador de login grfico;
Opes de acessibilidade e tecnologias assistivas,
Certificao LPI-1

106.1 Instalar e configurar o Xli


Peso 2

Desde que o Linux comeou a ganhar espao entre usurios inicianres e suas apli-
caes desktop evoluram, o ambiente grfico de janelas - conhecido como Xli ou
simplesmente X - passou a ocupar lugar de grande importncia entre desenvolve-
dores e administradores. Muitos dos usurios de aplicativos no tm nem precisam
ter conhecimentos avanados sobre a arquitetura do sistema operacional.. Da surge
a importncia de o ambiente grfico funcionar satisfatoriamente, sem comprometer
as tarefs de quem o utiliza.
O Xli tambm pode ser chamado de servidor Xli, pois sua arquitetura foi
originalmente pensada para que pudesse ser utilizado num ambiente de rede. Por
exemplo, possvel fazer login numa sesso do Xli via rede ou exibir a janela de
uma programa em outro computador sem a necessidade de programa especfico
para isso.

Compatibilidade de hardware
Na imensa maioria dos casos, roda a configurao do Xli feita automaticamente,
durante a instalao da distribuio. Contudo, em alguns poucos casos, pode ser
necessrio intervir na instalao ou na configurao do Xli.
O primeiro passo antes de instalar o Xli verificar a compatibilidade de hard-
ware. Em http:I/www.x.orglwikilProjects/Drivers pode ser encontrada a lista de dis-
positivos compatveis. Ainda que o dispositivo no seja totalmente compatvel,
possvel utiliz-lo no modo VESA Framebuifer, se o dispositivo o suportar (a maior
parte dos dispositivos de vdeo aceita esse modo).

Instalando o Xli
O mais comum que o Xli seja instalado durante a instalao. Caso isso no tenha
sido feito - geralmente quando se instala uma distribuio especfica para servidor,
Xli ainda pode ser instalado usando a ferramenta de pacote da distribuio, como
apt-get ou yum.

Configurando o Xli
Configurar o Xli manualmente significa editar o arquivo /etc1X111xorq,conf, onde
ficam as informaes sobre caminhos para arquivos de sistema, mouse, teclado, mo-
nitor e dispositivo de vdeo.
Para gerar um arquivo bsico de configurao, basta invocar o servidor Xii dire-
tamente com a opo -confi gure. O comando do servidor Xl 1 a letra X maiscula:

128
Tpico 106: Inter! ates de usurio e Desktops

x ofigre

O servidor X carrega cada mdulo de dispositivo, testa o driver e salva o resultado


no arquivo xorg.conf new, no diretrio do usurio (provavelmente /root).

Ajustes da configurao
Quando muito, apenas alguns poucos ajustes precisam ser feitos no arquivo de con-
figurao do Xli para aprimorar seu funcionamento. Por exemplo, pode ocorrer de
a roda do mouse no funcionar. Na seo JnputDevice referente ao mouse em Ietc/
X11/xor9.conf, basta incluir a opo ZAxisMapping, como no exemplo:

Sect 4 on "InputDevice"
Drer "muse"
Opton "Protoco 1"' IMPS/2"
Optio "Device' '/dev(rnouse"
Dptir 'ZAxisMappng "4 5"
E nd Se o t ior

Sees do xorg.conf
O arquivo de configurao xorg.conf dividido em sees no formato:

Section "no"e ca seo"


ten_1 "Va'or iter 1"
Item 2 "Vaor ter 2"

EndSect on

Hoje, a maioria das sees so dispensveis, pois toda a configurao feita auto-
maticamente. Contudo, sua edio manual pode ser necessria para resolver problemas
especficos. As sees do arquivo de configurao do X esto discriminadas abaixo:

Files
Caminhos para alguns arquivos necessrios ao servidor X, como FontPath, RGBPath
e ModulePath. O irem mais importante FontPath, que determina as localizaes das
fontes no sistema.

ServerFlags
Opes globais para o servidor X, no formato Option "Nome" "Va1or'

129
Certificaflo LPI-1

Module
Carregamento dinmico de mdulos: Load "nome mdu1o'

InputDevice
Dispositivos de entrada. Deve haver uma seo JnputDevice para cada dispositivo.
Os itens obrigatrios nessa seo so Je/entifiere Driver. Identifler um nome nico
para identificao do dispositivo. Os vaiores mais comuns para Driver so Keyboarde
Morar. Os demais itens so opcionais e definidos com o Option. Option "CorePoin-
ter" indica que o dispositivo o apontador (mouse) primrio. Option "CoreKeybo-
are!" indica que o dispositivo o teclado primrio. O caminho para o dispositivo
indicado como Option Device""/dev/arquivo_do_disposftivo'

Device
Dispositivo de vdeo. O arquivo xorg.conf pode ter vrias sees Device indicando
vrios dispositivos de vdeo. Os itens obrigatrios nessa seo so Identrfiere Driver.
Identifier um nome nico para identificao do dispositivo. Driver especifica o
driver do dispositivo de vdeo, dentre os disponveis em /usr/1 ib/xorg/modulesfdri -
versi. Outros itens comuns so BusID - exemplo: Option "BusID" "PCJ:i:o:O" e
VideoRam - exemplo: Option "VideoRam" "8192'

Monitor
O arquivo de configurao tambm pode ter vrias sees Monitor. A nica opo
obrigatria Ident?Jler.

Screen
Agrega o dispositivo e o monitor. Pode haver mais de uma seo Screen. Apenas as
opes Identifier e Device (indicando um dispositivo de video de uma seo Device
existente) so obrigatrias.

Display
uma subseo dc Screen, que define, entre outras coisas, qual resoluo usar para
cada profundidade de cor.

ServerLayout
Agrega as sees Screen e lnputDevice para formar uma configurao completa do
servidor X. Quando utilizada, a entrada mais importante do xarg.eonf, pois nela
que definido o display.

130
Tpico 106: Intertaces de usurio e Desktops

Fontes
Uma das funes do Xli o fornecimento das fontes utilizadas pelos aplicativos. H
dois sistemas bsicos de fontes, Corte X,fL No sistema Core, as fontes so manipula-
das no servidor, enquanto no sistema Xft isso ocorre no cliente. O sistema Xft mais
avanado e permite o uso de fontes Typel, OpenType, TrueType, Speedo e C1D,
com suporte a anti-aliasing (cantos arredondados).

Instalao de fontes Xft


Para instalar fontes no sistema Xft, basta copi-las para um dos diretrios de fontes
padro - / usr/share/fonts/* - ou para o diretrio -/ .fonts/ no diretrio pessoal. O
cache de fontes precisa ser atualizado para que a nova fonte possa ser usada, o que
ser feito automaticamente quando o X iniciar uma sesso. A atualizao manual
feira por meio do comando fc'cache.
O comportamento das funes do Xft pode ser alterado peio arquivo de confi-
gurao global /etc/fonts/fonts.conf ou no arquivo de configuraes por usurio
fonts.conf, alojado no diretrio pessoal.

Varivel D!SPLAY
O servidor X permite que as janelas de aplicarivos sejam exibidas num servidor X
remoto, ou seja, um programa em execuo numa mquina remota poder ser ope-
rado localmenre.
a partir da varivel de ambiente DISPLAY que o servidor de janelas identifica
onde elas devem ser exibidas. A varivel DISPLAY dividida em duas partes. A por-
o antes do caractere ":" identifica a mquina (nome ou nmero IP). A poro aps
o caractere ":" identifica qual o display nessa mquina.
O valor display identifica um conjunto de monitor e dispositivo de entrada (te-
clado/mouse). Um mesmo computador pode possuir mais de um display - como
diferentes monitores e teclados - mas o mais comum que exista apenas um display.
A contagem de display feira a partir do zero, portanto numa mquina com apenas
um display o valor da varivel de ambiente DISPLAY ser :0.0. Isso significa que as
janelas sero mostradas na mquina loca] (localhost assumido quando o valor antes
de : omitido) e no primeiro display (:0.0).
O primeiro passo para abrir a janela de um programa remoto na mquina local
redefinir a varivel DISPLAY na prpria mquina remota. Por exemplo:

$ export D15PLAY192.168.1.3:0.0
E:

131
Certificao LPI-1

Todo programa executado a partir da sesso onde a varivel foi redefinda enviar
sua janela para o primeiro display da mquina 192.168.1.3. Porm, a janela no
poder ser exibida at que a mquina 192.168.1.3 permita. A liberao feita com o
comando xhost, na mquina onde as janelas devem ser exibidas:

$ xhost +192.158.1.1 $

No exemplo, o endereo IP 192.168.1.1 corresponde mquina onde o programa


est sendo executado. O

Q 106.2 Configurar o gerenciador de login grfico


Peso 2

Na maioria das distribuies Linux o ambiente grfico Xli iniciado por padro,
logo ao final da inicializao. Nesse caso, apresentada a tela de login de usurio j
no prprio ambiente grfico do Xli.
Esse comportamento j caracteriza outro runlevel (os runleveis, ou nveis de exe-
cuo, foram abordados no objetivo 101.3 Alternar runleveis, desligar e reiniciar
o sistema), por isso sua utilizao determinada no arquivo /etc/inittab:

$
id:4:initefault:

O nmero do runlevel para login em modo grfico varia de acordo com a distri-
buio, mas a definio de qual ser o nvel de execuo padro feita no arquivo
/etc/inititab.

Gerenciador de display
O programa encarregado por identificar o usurio e iniciar a sesso do XII cha-
ma-se display manager ou gerenciador de display. H trs Gerenciadores de Dis-
play principais:
xdrn: padro do X;
gdm: padro do ambiente desktop Gnomr,
kdm: padro do ambiente desktop KDE.

Os respectivos arquivos de configurao encontram-se em Jetc/XllJxdm/*, /etcl


g dm/* e /usr/share/config/kdnh/*.

132
Tpico 106: Interfaces de usurio e Desktops

xdm
O xdm parte dos programas padro do XII. Alm de permitir o login local, tam-
bm permite que o login seja realizado pela rede. Para tanto, usado o protocolo
XDMCP (desativado por padro).
O xdm precisa estar ativo e configurado adequadamente para responder a pedidos
de login via rede. A mquina remota, por meio do comando X -query servidor, soli-
citar o pedido de conexo.
A aparncia do xdm pode ser modificada editando o arquivo /etc1X111xdm/
Xresources. Fontes, cores e mensagens podem ser includas ou alteradas. Exemplo de
contedo de Xresources:

xloqin*borderwidth : 3 4
xlogin*greeting : "Bem vindo ao login grfico"
xl ogi n *nameP rornpt: login: 040
xl ogi fl*greetCol or: bi ue
xlogin*foreground : black
xlogin*background : white

Para definir cores ou imagens de Rindo e disparar outras aes - antes mesmo de
a tela de login ser exibida - pode ser editado o arquivo Xsetup.
O arquivo /etc/X11/xdm/Xaccess controla o acesso remoto via XDMCP. possvel
estabelecer regras para pedidos de conexo remotos. Trecho de exemplo de Xaccess:

* 4
*CHOOSER BROADCAST

Ttcnolog ias .ssistivss

QQ --
O HbiIlter tecnologias assistivas
O Janela para senha corno uma Janela normal

Prtftrincln

5ssibilidade do teclado -1
1.lndo
1
ess4bllidade domasse
1
l$ 1 1 t ffftJ J 1
Figura 1. OS dilerentes componentes de tecnologias assistivas podem ser ativados
separadamente.

133
Certificao 191-1

bcrcogln .nMdn.

C#P 1
-
V HflIItM ttaioas nshsvi,

MohlIld.d.
1
--

inh'ra 9 r ronwpnipntp nip n Imnr dp. tp.Ia Ore p.ja ativado automaticamente nu
inicio da sesso.

En atShos da tecleda. urna tede de cadt (rwe,s de ade4nda


1
nrpoinmenta diteurai dupIkad edesue peitt,&et.

Figura 3. Outros recursos de acessibilidade ativados pelo icone de tecnologias as-


sistivas da rea de notificao.

A primeira linha indica que qualquer mquina remota poder requisitar login na
mquina local. A segunda linha indica que qualquer mquina (*) pode solicitar
mquina local uma lista de possveis servidores (que estejam rodando o xdm) para
conexo, que ser obtida por meio de chamadas broaa'cast na rede.
O arquivo de configurao principal o xdm-config. Ele agrega os demais arquivos
de configurao do xdm e libera ou bloqucia o login remoto via XDMCP Para blo-
quear, basta que exista a linha:

OisplayManager.requestPort: O

134
Tpico 106: Interfaces de usuria e Desktops

Figura 4. O GOK atua como uni teclado virtual na tela. Com ele, todas as aes que
envolvem o teclado podem ser substituidas por gestos do mouse.

o r,.1.riocJ da. t.c.S.. .n1v54 -


cci
arda par. .eraa carro aania

py.faat1at
clqa. .aa.d3d. Mmd.d.
% Ac054 .? Oi.atar d.,a Sorardro OWtrO PVS9aO ,bcOIa pSnMo

fio., np%woa.s., portada ri.., de,. moro

AJ ia

FiguraS. Mesma dificuldades mataras de operao da mouse podem ser contorna-


das na janela Preferncias do mause.

Com essa configurao, o xdm no reponder a pedidos de conexo diretos ou in-


diretos. As condies e maneiras de usar o gdm e kdm so praticamente iguais s do
xdm, salvo alguns detalhes. Os arquivos de configurao principais do gdm so /etc/
gdn/gdn. canf e /etc/gdm/ mi t/Defaul t, que corresponde ao Xresources. J para o kdm,
praticamente todas as configuraes visuais e de comportamento so Leitas no arquivo
/usr/share/config/kdrn/kdmrc. O

* A configurao das recursos de lecnologias assistivas pode variar dependendo da disiribuio. Para fins de padronizao, as
lerramentas mostrados referem-se distribuio Ubunlu, nas verso 9.04.

135
Certificao LPI-1

10
- 106.3 Acessibilidade
Peso 1

To importante quanto a boa usabilidade do desktop para o usurio comum ofere-


cer a mesma usabilidade para pessoas com necessidades especiais.
Diversos aplicativos para Linux oferecem recursos que facilitam a utilizao do com-
putador para quem possui pouca ou nenhuma viso ou alguma dificuldade morora.

Ativar recursos de acessibilidade


As distribuies Linux atuais j contam com diversos recursos de acessibilidade ins-
talados por padro. Para ativar basta ir at o menu Sistema 1 Preferncias 1 7cnologias
assistiva?. A figura 1 mostra a janela geral de ativao dos recursos de acessibilidade.
Dentre os principais recursos est o leitor de tela Orca. Com ele, uma voz sinteti-
zada diz o texto sob o dique do mouse. Este recurso especialmente til para usu-
rios com deficincia visual. Para que o leitor dc tela Orca seja iniciado toda vez que o
sistema for iniciado, basta clicar em Ap/icativospreferenciaise, na seo VisuaL marcar
a opo Executar ao iniciar (figura 2).
Aps a ativao das tecnologias assistivas, o cone correspondente exibido na rea
de notificao do painel (ao lado do relgio). Clicando nele, diversas opes (figu-
ra 3) referentes acessibilidade podem ser ativadas:
Realar contraste em cores;
Tornar o texto maior e fcil de ler;
Pressionar atalhos do teclado, uma tecla de cada vez (teclas de aderncia);
Ignorar pressionamento de teclas duplicados (teclas de repercusso);
Pressionar e segurar teclas para aceit-las (teclas lentas).

Tedado e mouse podem ser configurados com mais especificidade para cada necessida-
de. Por exemplo, possvel evitar que muitas teclas pressionadas simultaneamente sejam
escritas, o que pode cilitar a digitao para pessoas com dificuldades mororas.
Se h a impossibilidade de utilizao do teclado, o programa GOK pode ser usado
como interface de entrada (figura 4). Com ele, apenas a movimentao do mouse
necessria para insero de texto e outras aes que envolvem o uso do teclado.
Se mesmo a utilizao do mouse encontra alguma dificuldade motora, na janela
Preferncias do mouse (figura 5) podem ser alterados alguns comportamentos. Por
exemplo, possvel simular o dique duplo do mouse apenas ao segurar o boto por
alguns instantes. O

136
11)
.2

o
o
1
0)
LiJ
Certificao LPI-1

Questes Tpico 106

1. A seo do arquivo de configurao do XII onde so especificadas as fontes do


sistema a seo:
a. Fonts
b. Files
e. Module
ti. Disp!ay

2.A varivel de ambiente DISPLAY definida com valor 192.168.1.18:1.0 deter-


mina que
a. o servidor de jandas X s funcionar na mquina 192.168.1.18.
b. a verso do servidor X 1.0.
c. o servidor X funcionar somente na rede local.
d. as janelas sero exibidas no segundo display da mquina 192.168.1.18.

3. Um usurio comum poder instalar novas fontes em:


a. -/.fonts
b. /etc/fonts
e. -/.xorg/fonts
ti. /etc/xorg/fonts

4. Aps instalar novas fontes em seu diretrio pessoal, o usurio dever


a, atualizar o cache de fontes com o comando update-cache.
b. atualizar o cache de fontes com o comando update-fonts.
e. atualizar o cache de fontes com o comando updne --fonis,
ti. atualizar o cache de fontes com o comando fc-cache.

5. O arquivo onde so definidas as opes de aparncia do gerenciador xdm o:


a. /etc/X1 1/xdm/Xaccess
b. /etc/X1 1/xdm/Xsetup
e. /etcIXl 1/xdm/Xresources
ti. /etc/X1 lfxdm/xdm.conf

138
Tpico 106: Interlaces de usurio e Desktops

6. A instruo DisplayManagcr.requestPort: O, que bloqueia o acesso via XDMCP


para a mquina local, deve ser informada em qual arquivo de configurao? D
apenas o nome do arquivo, sem diretrio.

7. O principal arquivo de configurao do gerenciador gdm o:


a. /ctclgdm/gdm.conf
b. -f.gdm.conf
c. /etc/Xl l/gdm.conf
d. /ercIXl 1/gdm/gdm.conf

8. Usurios com deficincia visual podem utilizar um programa que l as informa-


es textuais da tela. Informe qual o nome do principal leitor de tela para Linux.

9. Marque todas as respostas corretas em relao ao recurso teclas de aderncia.


a. Atalhos de teclado, como [ctrl]i-[c], no precisam ser pressionados
simultaneamente.
b. As teclas do teclado so melhor fixadas e no soltam com facilidade.
C. Pressionamentos de teclas repetidas so ignorados.
d. O layout do teclado alterado para satisfazer necessidades especiais.

10. Usurios com dificuldade para operar o teclado podem utilizar o mouse para
escrever textos e executar aes. O principal comando que oferece esse recurso

139
7 \\
e Peso total do tpico
na prova: 12
,1

Tpico 107.
Tarefas administrativas
Pdncipais temas abordados:

Administrao de usurios;
Agendamento de tarefas;
Ajustes de Jocal e idioma.
Certificao LPI-1

/ 107.1 Administrar contas de usurio, grupos


e arquivos de sistema relacionados
Peso 5

Em ambientes onde mais de uma pessoa utiliza o computador ou utiliza os recursos


fornecidos por ele via rede, muito importante que cada uma delas possua restries
para que no comprometa dados sensveis, sejam eles perunentes ao prprio sistema,
sejam pertinentes a outros usurios. Para isso, para cada usurio criada uma conta
com a qual ele acessar o sistema.

Conta de usurio
O comando useradd usado pelo usurio root para criar uma nova conta no sistema.
Pode ser usado tambm o comando adduser, cuja finalidade iciitar a incluso de novos
usurios, pois definies padro podem ser armazenadas no arquivo /etc/adduser. conf.
Opes comuns de useradd:
-c comentrio: comentrio (geralmente o nome completo do usurio);
-d diretrio: caminho para o diretrio pessoal do usurio;
-q grupo: grupo inicial (GID). Precisa existir previamente no sistema;
-G grupol,qrupo2: grupos adicionais, separados por vrgula;
-u UID: U1D (user ID) do usurio;
-s shel 1: Shell padro para o usurio;
- p senha: senha (entre aspas);
-e data: data de validade da conta;
-k /etc/skel: copia o diretrio modelo /etc/skel;
-In: cria o diretrio pessoal, se no existir.

Com a opo -k /etcfskel novos diretrios pessoais podem ser criados a partir
de uma rvore modelo situada em /etc/skel - Esse procedimento facilita a criao de
vrias contas de usurio com o mesmo perfil.
Para que o usurio possa acessar sua conta, o administrador precisar definir uma
senha para ele. Isso pode ser feito por meio do comando passwd usurio. Usado sem
argumentos, passwd altera a senha para o usurio atual.
O campo de descrio pode ser alterado com o comando chfn e o shdl inicial pode
ser alterado com chsh. Usurios comuns podem usar estes comandos para alterar ex-
clusivamente suas prprias contas.
Uma conta de usurio pode ser apagada com o comando userdel. A opo - r as-
segura que o diretrio pessoal do usuSrio tambm seja apagado. As informaes de
conta dos usurios do sistema so armazenadas no arquivo /etc/passwd, no formato:

142
Tpico 107: Tarefas administrativas

root:x:0:0::/root:/bin/bash
luciano:x:1000:100:Luciano Antonio Siqueira:/home/luciano:/bin/bash

Cada usurio definido em uma linha, em campos separados por ":", represen-
tando, respectivamente:
1. Nome de Login;
2. Senha ("x"quando usando o arquivo /etcfshadow);
3. Nmero de identificao do usurio (UID);
4. Nmero do grupo principal do usurio (CD);
5. Descrio do usurio (opcional);
6. Diretrio pessoal para o usurio;
7. Shell inicial do usurio (se vazio, o arquivo padro /bin/sh ser usado).

Para editar diretamente o arquivo /etc/passwd, recomendado usar o comando


vi pw, que bloqueia o arquivo /etc/passwd contra possveis alteraes concorrentes,
evitando corrupo do arquivo. A edio ser feita com o editor padro, via de regra
o editor vi. Usado com a opo -s, vipw abrir para edio o /etc/shadow.

Senhas shadow
O arquivo /etc/passwd pode ser lido por qualquer usurio (permisso -rw-r--r--), o
que pode tornar as senhas criprografadas passveis de decodificao. Para evitar essa
possibilidade, usado um segundo arquivo, acessvel apenas ao usurio root, o arqui-
vo /etc/shadow (permisso - rw- r-----
Se o sistema ainda armazena as senhas no arquivo /etc/passwd, possvel fazer a
converso automaticamente para as senhas shadow, com o comando pwconv. Caso
seja necessrio retornar as senhas para o formato antigo, utiliza-se pwunconv.
Como no arquivo /etc/passwd, os campos no arquivo /etc/shadow so separados
por ":", correspondendo a:
1. Nome de usurio, que deve corresponder a um nome v!ido em /etc/passwd;
2. A senha, criptografada numa sequncia de 13 caracteres. Em branco permite
login sem senha. Com um asterisco " indica que a conta est b!oqueada;
3. O nmero de dias (desde 0110111970) desde que a senha foi alterada;
4. Nmero mnimo de dias at que uma senha possa ser novamente alterada. O
nmero zero "0" permite a!terar a senha sem tempo de espera;
5. Nmero de dias depois dos quais a senha dever ser alterada. Por padro,
99999, ou 274 anos;
6. Nmero de dias para informar ao usurio sobre a expirao da senha;
7. Nmero de dias, depois de a senha expirar, at que a conta seja bloqueada;

143
Certificao LPI-1

S. O nmero de dias, a partir de 0110111970, desde que a conta foi bloqueada;


9. Campo reservado.

As informaes referentes validade da senha tambm podem ser modificadas por


meio do programa chage, com as seguintes opes:
-rn dias: mnimo de dias at que o usurio possa trocar uma senha modificada;
-M dias: nmero mximo de dias que a senha permanecer vlida;
-d dias: nmero de dias decorridos em relao a 0110111970. Determina quan-
do a senha foi mudada. Tambm pode ser expresso no formato de data local
(dialms/ario);
-[dias: nmero de dias decorridos em relao a 0110111970, a partir dos
quais a conta no estar mais disponvel. Tambm pode ser expresso no For-
mato de data local (dia/ms/ano);
-1 dias: inatividade ou tolerncia de dias, aps a expirao da senha, para que
a conta seja bloqueada;
-W dias: dias anteriores ao fim da validade da senha, quando ser emitido um
aviso sobre a expirao da validade.

Para usurios comuns, chage s pode ser usado com a opo -1 usurio, que
mostra as restries referentes ao usurio em questo. O comando userrnod agrega as
funes de alterao de conta de usuriopor meio das opes:
-c descriio: descrio do usurio;
-d diretrio: altera diretrio do usurio. Com o argumento -m, move o con-
tetdo do diretrio atual para o novo;
-e vai or: prazo de validade da conta, especificado no formato dd/mm/aaaa;
-f valor: nmero de dias, aps a senha ter expirado, at que a conta seja blo-
queada. Um valor -1 cancela essa funo;
-g grupo: grupo efetivo do usurio;
-G grupol ,grupo2: grupos adicionais para o usurio;
-i nome: nome de login do usurio;
- p senha: senha;
-u IJJD: nmero de identificao (IJJD) do usurio;
- s shel 1: shell padro do usurio;
- L: bloqueia a conta do usurio, colocando um sinal! na frente da senha
criptografada. Uma alternativa substituir o shell padro do usurio por um
script ou programa que informe as razes do bloqueio;
-II: desbloqueia a conta do usurio, retirando o sinal 1 da frente da
senha criptografada.

144
Tpico 107: Tarefas administrativas

Grupos de usurios
Para criar um grupo de usurios, usado o comando groupadd:

4 groupadd estudo_c

O nmero de identificao do grupo (GID) pode ser especificado atravs da opo


-g. Para excluir um grupo, usado o comando groupdel:

4 groupdel estudo_c

Um usurio poder ser indudo/excludo de um grupo atravs do comando gpasswd,


utilizando o argumento adequado.
gpasswd grupo: cria uma senha para grupo;
gpasswd -r grupo: apaga a senha para grupo;
gpasswd -a usurio grupo: associa usurio ao grupo;
gpasswd -d usurio grupo: exclui usurio de grupo;
gpasswd -A usurio grupo: torna um usurio administrador de grupo.

Um usurio pode pertencer a mais de um grupo, mas apenas um grupo pode ser o
principal. Para mostrar os grupos aos quais um usurio pertence, usado o comando
groups usurio. Usado sem argumentos, o comando groups mostra os grupos do u-
surio atual.
O comando Id mostra os grupos para o usurio, mostrando tambm o nmero de
identificao do usurio e dos grupos.
O comando newgrp usado para alterar o grupo efetivo do usurio para o grupo
solicitado em uma nova sesso de login. Caso o usurio no pertena ao grupo em
questo, ser a ele associado.
As informaes sobre os grupos existentes no sistema so armazenadas em /etc/
group. Neste arquivo, cada grupo definido em uma linha, em campos separados por
representando, respectivamente:
1. Nome do grupo;
2. Senha para o grupo (x se utilizar /etc/gshadow);
3. Nmero de identificao do grupo (GID);
4. Lista de membros do grupo, separados por vrgula.

Para editar diretamente o arquivo /etc/group, altamente indicado usar o comando


vigr, que bloqueia o arquivo /etclgroup contra possveis alteraes externas, evitando cor-
rupo do arquivo. Usado com a opo -s, vigr abrir para edio o arquivo /etc/gshadow.

145
Certificao LPT-1

Assim como ocorre com /etc/passwd, aqui tambm possvel usar um segundo
arquivo para armazenar informaes referentes senha dos grupos, chamado fetcl
gshadow. O comando grpconv converte as senhas do formato antigo /etc/group para
/etc/gshadow e grpunconv realiza o procedimento inverso.
O comando grouprnod agrega algumas funes de alterao de grupos, pelas opes:
- g 010: altera o nmero (GID) do grupo;
-n fone: altera o nome do grupo. 0

107.2 Automatizar e agendar tarefas administrativas de sistema


Peso 4

Existem dois sistemas principais de agendamento de tarcEs no Linux, o at e o cron. O


at indicado para execuo nica de uma tarefa no futuro, enquanto o cron utilizado
para agendar procedimentos que devem ser executados regularmente no sistema.

at
O comando at programa a execuo de um comando num momento futuro. Sua
sintaxe bsica :

II at quando comando

O termo quando pode significar, por exemplo, now (agora) ou midnight ( meia-
-noite). Outras opes de datas e formatos podem ser consultadas no arquivo /usr/
share/doc/at/timespec.
Usurios comuns podero usar o comando at se constarem no arquivo /etc/
at.allow. Se /etc/atallow no existir, o arquivo /etc/at.deny serconsukado esero
bloqueados ao uso do ar os usurios que nele constarem. Se nenhum dos arquivos
existir, apenas o usurio root poder usar o ar.
Para verificar os agendamenros vigentes, usa-se at -1 ou atq. Um agendamento
pode ser apagado a partir de seu nmero especfico, fornecido para o comando atrm.

cro n
Como dito anteriormente, a finalidade de um agendamenro cron executar uma
tarefa em intervalos de tempo regulares. A cada minuto, o daemon crond l as tabelas
de agendamento - chamadas crontabs - contendo tarefas a ser executadas em data e
hora especficas.

146
Tpico 107: Tareias administrativas

O crontab geral do sistema fica no arquivo /etc/crontab. Esses arquivos no devem


ser editados diretamente, mas por meio do prprio comando crontab.
Opes do comando crontab:
crontab -1 usurio: mostra as tarefas agendadas pelo usurio;
crontab -e usurio: edita o crontab do usurio no editor padro do sistema;
crontab -d usurio: apaga o crontab do usurio selecionado.

Se o nome de usurio no fornecido, ser assumido o usurio atual. Cada linha


no arquivo crontab representa uma tarefa, no formato demonstrado na figura 1.

0-59 0-23 0-31 1-12 0-6 comando

'Dia da Semana
Ms
Dia
o Hora
o Minuto
Figura 1. Formato de agendamento do crontab.

O trao "-" delimita um perodo para execuo. O caractere " em um campo


determina a execuo do comando sempre que o agendamento corresponder a qual-
quer marcao para o campo em questo. O caractere barra "1" estabelece um passo
para a execuo. O exemplo abaixo executa o script_backup a cada quatro horas, de
segunda sexta, nos meses de maio e junho:

* *14 * 5.6 1-5 /usr/local/bin/script_backup e


Se a tarefa produzir alguma sada, esta ser para a enviada para a caixa de entrada
do usurio. Para evitar esse comportamento, basta redirecionar a sada da tarefa para
/dev/nul 1 ou para um arquivo.
Se no necessrio especificar uma hora exata para a execuo de uma tarefa, basta
incluir o respectivo script em um dos diretrios /etc/cron.hourly/, etc/cron.daily/,
/etc/cron.weekly/ e /etc/cron.rnonthly/. Esses diretrios representam, respecrivamen-
te, a execuo de hora em hora, diria, semanal e mensal.

147
Certificao LPI-1

possvel controlar o uso do crontab por meio dos arquivos fetcfcron.allow e


/etc/cron.deny. Se /etc/cron.allow existir, apenas os usurios que nele constarem po-
dero agendar tarefas. Se letc/cron.deny existir, os usurios nele existentes sero proi-
bidos dc agendar tarefas. Se nenhum dos arquivos existir, todos os usurios podero
agendar tarefas. O

107.3 Localizao e internacionalizao


Peso 3

O Linux oferece diversas ferramentas de suporte a idiomas diferentes do ingls e a lu-


gares fora do eixo EUAJEuropa. Alm da configurao de fuso horrio e da definio
de teclados, variveis de ambiente podem ser definidas para que todos os programas
respeitem as mesmas definies de linguagem.

Fuso horrio
A definio correta do E150 horrio implica a indicao da relao do relgio do siste-
ma com o Greenwich Mean Time - GMT +0:00. Contudo, o mero ajuste do relgio
causar incorreo do horrio durante o horrio de vero. Como o Brasil, muitos
pases reajustam o horrio oficial durante um perodo do ano - perodo conhecido
como DaylightSaving Time por isso muito importante definir as configuraes de
fuso horrio para que o sistema reflita a hora certa independente do perodo do ano.
Recomenda-se a utilizao do GMT +0:00 para o relgio do BIOS. Logo, o sis-
tema precisar ser informado sobre o fuso horrio desejado. Isso feito utilizando
o comando tzselect, que exibir os fusos horrios oficiais e, aps a escolha, criar o
arquivo /etc/timezone contendo as informaes de fuso horrio:

O cat /etc/tiniezone O
Arnehca/Sao_Paulo

O arquivo com as informaes de horrio de vero o /etc/local time. Todos os


arquivos de horrio de vero disponveis no sistema ficam em /usr/share/zoneinfo/.

Idioma e codificao de caracteres


suporte a caracteres acentuados ou no ocidentais no Linux bastante avanado.
nome dado definio sobre qual idioma e conjunto de caracteres usar chama-se
loca/e ou simplesmente localizao. A configurao bsica de localizao feita com

148
rpico 107: Tarefas administrativas

Converso de codificao
Um texto poder aparecer com caracteres ininteligveis quando exibido em um sistema com
padro de codificao diferente daquele onde o texto foi criado. Para solucionar esse problema,
pode ser utilizado o comando 1 conv. Por exemplo, para converter do padro
130-8859-1 para UTF-8 pode ser utilizado o comando:
iconv -f iso-8859-1 -t utf-8 < texttoriginal.txt > texto convertido.txt.

a varivel de ambiente LANG e a partir dela que a maioria dos programas definem
as preferncias de idioma.
O contedo da varivel LANG obedece ao formato ab_CD, em que ah o cdigo
do idioma e CD o cdigo do pas*. Exemplo de contedo da varivel LANG:

# echo $LAG 0
pt_BR.UTF-8

Alm dos cdigos de idioma e pas, pode haver a informao especificando a co-
dificao de caracteres a ser utilizada. No caso do exemplo, foi definida a codificao
UTF-8. O UTF-8 um padro unicode para caracteres ocidentais acentuados. Em
alguns sistemas, a codificao padro do padro 1SO, como ISO-8859-1. Apesar
disso, a tendncia todos os sistemas adotarem o padro unicode.
Alm da varivel LANG, outras variveis de ambiente influenciam as opes de
localizao dos programas. Essas outras variveis so utilizadas para definir alguma
configurao especfica de localizao:
LC_COLLATE: define a ordenao alfabtica. Uma de suas finalidades
definir a ordem de exibio de arquivo e diretrios;
LC_CTYPE: define como o sistema trata certos caracteres. Dessa forma
possvel discriminar quais caracteres fazem parte e quais no fazem parte
do alfabeto;
LC_MESSAGES: definio de idioma dos avisos emitidos pelos programas
(predominantemente os programas GNU);
LC_MONETARY: define a unidade monetria e o formato da moeda;
LC_NLJMERIC: define o formato numrico de valores no monetrios. A
principal finalidade determinar o separador de milhar e casas decimais;
LC_TIME: define o formato de data e hora;
LC_PAPER: define tamanho padro de papel;
LC_ALL: sobrepe todas as demais variveis.

O cdigo de idioma deve obedecer especiricao 50-639 e o cdigo de pais deve obedecer especificao 50-3166.

149
Certificao LPI-1

Opes de idioma em sciipts


A maioria das configuraes de localizao alteram a maneira como programas
lidam com ordenao numrica e alfabtica, alfabeto aceito e formato de nmeros,
grande parte dos programas j possui uma maneira de contornar essa situao. No
caso de scripts, importante definir a varivel LANG=C para que o script no
produza resultados diferentes quando a localizao for diferente daquela onde ele
foi escrito. O

150
/T

L Exercicios
, .
Certificao LPI-1

Questes Tpico 107

1. Qual comando pode ser usado para criar novas contas de usurio? Marque todas
as alternativas corretas.
a. useradd
b. adduser
C. creatcuser
d. newuser

2. Qual a finalidade do diretrio /etcfskel?


a. Armazenar as tarefas agendadas.
b. Manter uma cpia dos diretrios do usurio.
C. Servir como modelo para novas contas de usurio.
d. Identificar usurios inativos ou bloqueados.

3. Quais comandos podem ser utilizados para alterar configuraes de uma conta de
usurio (marque todas as alternativas corretas)
a. usermod
b. change
e. chage
d. passwd

4. Senhas armazenadas diretamente no arquivo /etc/passwd devem ser convertidas para o


arquivo /etc/shadow com o comando _______ (apenas o comando, sem argumentos).

5. O comando especfico que um usurio pode utilizar para alterar seu shell padro
o _______ (somente o comando, sem argumentos).

6. O terceiro campo do arquivo fetc/passwd corresponde ao ()


a. o nmero ID (UID) do usurio
b. o nmero do grupo principal (GID) do usurio
e. a senha do usurio
cl. o shell padro do usurio

152
Tpico 107: Taretas administrativas

7. Qual comando tem finalidade de editar o arquivo /etc/group, de forma a evitar a


corrupo do arquivo? D apenas o comando, sem argumentos.

8. Qual o formato de um agendamento crontab para execuo do comando /usr/bin/


backup.sh a cada 30 minutos?

9. O arquivo que define o perodo de horrio de vero no sistema o:


a. /etcflocaltirne
b. /etc/summerrime
C. tetc/tirnezone
d. /etc/locak

10. Em scripts, o valor indicado para a varivel LANG :


a. pt_BR
b.UTF-8
c. ISO-8859-1
d. C

153
teso total do tpico
1a prova: 10

L Tpico 108.
Servios essenciais
o

do sistema
Phncipais temas abordados:

Manuteno e atualizao
automtica da data e hora;
Administrao do servio de registro de logs;
Fundamentos de servidores de email;
Impressoras e fias de impresso.

it -,
Certificao LPI-1

c 108.1 Manuteno da data e hora do sistema


Peso 3

Um sistema com data e hora incorretas pode comprometer o funcionamento de


alguns servios, como manutenes programadas e registro de atividades. Alm do
ajuste direto da data e hora, possvel fizer o acerto automaticamente a partir de um
servidor de tempo centralizado.

Relgios
O kernel do Linux mantm um relgio separado do relgio do hardware (BIOS),
sendo que este lido pelo relgio do kernel apenas durante o boot, passando logo a
seguir a funcionar separadamente.
O relgio do hardware pode estar em hora local ou em hora universal (UTC).
prefervel que esteja em hora universal, pois no ser necessrio modific-lo no pero-
do de horrio de vero e apenas o relgio de software evenrualmente necessitar ser
manipulado para essas e outras atividades.
O comando date usado para mostrar a hora e data no sistema:
iGU
$ date
Gui Mal 14 14:07:10 BRT 2009

Com a opo -u, date mostra o horrio em UTC (GMT 0:00):

$date-u $
Gui Mal 14 17:08:55 UTC 2009

O prprio comando date usado para alterar o relgio do kernel, como demonstra-
do na figura 1. A opo - u especifica que a data informada refere-se ao horrio UTC.

Para mostrar ou alterar o relgio do BIOS, usado o comando hwcl ock. Com o argu-
mento -w, o comando atualiza o relgio do BIOS tomando como referncia a hora do
sistema. Com o argumento -s, atualiza a hora do sistema a partir do relgio do BIOS.
Como no comando date, o argumento -u indica que ser usado o horrio UTC.

NTP - Network Time Protocol


Um computador em rede pode manter seu relgio atualizado, comparando a hora
com um outro computador na rede que tenha um relgio mais preciso. Isso possvel
por meio do protocolo NTP.

156
Tpico 108: Servios essenciais do sistema

# date MMDDhhmmCCYY.ss
[L. segundos (opcional)
Ano, poro da dcada (opcional)
- Ano, poro do sculo (opcional)
Minutos
L_. Horas

L Ms
Dia

Figura 1. O comando date tambm pode alterar a data e hora do sistema.

Para um sistema usar o NTP, o arquivo Ietclntp.conf deve estar configurado


adequadamente e o servio ntpd deve estar ativo. O ntpd utiliza o protocolo UDP
atravs da porta de comunicao 123. Abaixo, um exemplo de arquivo /etcfntp.
conf simples:

server or.pool .ntp.crg c


server O.pool.ntp.org
server I.poohntp.org
server 2.pool .ntp.cr
driftfile fetc/ntp.drift

Neste exemplo, foram definidos apenas os servidores NTP e o arquivo drift. Ser-
vidores NTP pblicos podem set encontrados no endereo www.pooLntp.org .
A indicao do arquivo drift conveniente, pois nele que o ntpd armazena-
r as estatsticas de erro, projetando o intervalo de erro do relgio do sistema e
atualizando-o.
Sej estiver ativo, o ntpd dever ser reiniciado para utilizar as novas configuraes.
Quando em execuo, o ntpd poder ftincionar como servidor NTP para outras m-
quinas na rede.
Caso os valores locais de hora difiram do servidor, o ntpd aproximar lentamente
a hora, at que ambas sejam correspondentes, evitando assim mudanas bruscas que
possam causar confuso no sistema.
Para forar o ajuste imediato do relgio, utilizado o comando ntpdate, fornecen-
do um servidor NIP como argumento:

157
Certificao LPI-1

IIntpdate br.pool .ntp.org


14 Mty 14:43:44 ntpdate126751: adjust time server 146.164.53.65 offset -0.010808 sec

O exemplo mostrado atualizou (0,0 10808 segundo) o desvio do relgio local com
o relgio do servidor br.pool .ntp.org . O

40 108.2 Configurar e recorrer a arquivos de Iog


Peso 2

Arquivos de log guardam registros das operaes tio computador. Essas operaes
esto muitos mais relacionadas aos programas em execuo do que s atividades
do usurio propriamente dito. Seu uso especialmente til em investigaes so-
bre falhas.
A maioria dos arquivos de log armazenada no diretrio /var/loq/. Enquanto
alguns programas geram os prprios arquivos de log, como o servidores Xe o Samba,
a maioria dos logs do sistema so controlados pelo servio syslog.

Configurao do Syslog
O syslog configurado pelo arquivo /etc/sysloq.conf. Cada regra de configu-
rao separada em dois campos, seletor e ao, separados por espao(s) ou
tabulao(es). O campo seletor dividido em duas partes - facility e priority
- separadas por um ponto.
Facility identifica a origem da mensagem, ao se tratar de uma mensagem do ker-
nel, erro de autenticao, identificao de hardware etc. Pode ser um dos seguintes
termos: auth, authpriv, cron, daemon, ftp, kern, ipr, mali, news, syslog, user,
uucp e localO at loca17.
Priority identifica a urgncia da mensagem. Quando um programa gera uma men-
sagem de log, ele prprio atribui uma urgncia. O seletor priority identifica qual
essa urgncia e encaminha a mensagem para o destino indicado. As mensagens dessa
facility mais urgentes tambm sero encaminhadas para o destino indicado, a menos
que seja explicitamente definido o contrrio. A prioridade : da menos urgente para
mais urgente: debug, info, notice, warning, err, crit, alert e emerg. O termo none
ignora a urgncia para a facility em questo.
Tanto facility quanto priority podem conter caracteres modificadores. O caractere
asterisco * indica que a regra vale, dependendo de que lado do ponto ela est, para
qualquer facility ou priority. Mais de uma facility pode ser especificada para a priority
na mesma regra, bastando separa-las por vrgula.

158
Tpico 108: Servios essenciais do sistema

O sinal = confere exclusividade faciliry/priority que o sucede. Em contrapartida,


o sinal ! faz ignorar a facility/priority que sucede. O sinal; pode ser usado para sepa-
rar mais de um seletor para a mesma ao.
O campo action ou ao determina o destino dado mensagem em questo. Ge-
ralmente, as mensagens so enviadas para arquivos em fvar/log/, mas podem ser
direcionadas tambm para pipes, consoles, mquinas remotas, usurios especficos e
para todos os usurios no sistema. Exemplo de fetc/sysl oq . conf:

Kern.t /var/log/kernel
kern.crft 192268..Il
kern.cr't fdev/console
kern.irfo;kern.!err !var/logtkernel-irfo

Todas as mensagens da faciliry kerneliro para o arquivo /var/Ioq/kernel. Mensa-


gens crticas e maiores iro para a mquina 192.168.1.11 e sero exibidas no console.
Mensagens info e maiores, exceo de mensagens de erro e maiores, iro para o
arquivo /var/log!kernel-info.
Aps alteraes no arquivo /etc/syslog.conf, necessrio reiniciar o daemon sys-
logd para utilizao das novas configuraes.

Registro de log via rede


Alm de poder enviar mensagens de Iog para um servidor remoto, possvel fazer
com que o Syslog receba e registre mensagens de outras mquinas na rede. Para isso,
basta iniciar no servidor o programa syslogd - programa responsvel pelo servio -
com a opo - r. A partir da as mquinas remotas podero encaminhar mensagens
de log para o servidor. Essa estratgia til para evitar eventual perda de arquivos de
log gravados localmente numa mquina.
Como os arquivos de log so continuamente ampliados, bastante indicado que as
mensagens mais antigas sejam movidas, para evitar que o arquivo de log aumente demais.
Essa tarefa realizada com uso do programa 1 ogrotate. Normalmente, o logrotate
agendado para execuo peridica.
Seu arquivo de configurao /etc/logrotate.conf, com o qual regras de corte, com-
presso e envio por email, dentre outras, podem ser especificadas para cada arquivo de log.

Entradas manuais de Iog


Por meio do comando logger possvel criar mensagens de log manualmente, infor-
madas como argumento ao comando. A opo -p permite determinar o par facility.
priority para a mensagem.

159
Cerlllicao LPI-1

108.3 Fundamentos de MTA (Mail Transfer Agent)


Peso 3

O programa responsvel por controlar o envio e recebimento de mensagens de cor-


reio eletrnico, local e remotamente, chamado MTA - Mail TransportAgent. H
vrias opes de MTAs, entre as quais o sendmaiL o postfix, o qmaule o exim. O MTA
roda como um servio do sistema, geralmente utilizando a porta 25, responsvel pelo
protocolo SMTP.
Em ambientes Unix, possvel interagir com o funcionamento do MTA de diver-
sas formas, Dentre as mais comuns, est criar um redirecionamento de email.
O redirecionamento pode ser definido no escopo geral do sistema ou pelo prprio
usurio. Para definir um redirecionamento geral do sistema, utilizado /etclal lases.
Nele possvel vincular nomes diferentes - conhecidos como aliares - para um ou
mais destinatrios no sistema. Exemplo de /etc/aliases:

ranager: root *
durnper: root
webnaster: luciano
abuse: luciano

No exemplo, as mensagens enviadas para os usurios manager e dumper sero en-


caminhadas para o usurio roote as mensagens enviadas para webmastere abusesero
encaminhadas para o usurio Luciano. Aps alterar esse arquivo, necessrio executar
o comando newal 1 ases para que as alteraes entrem em funcionamenro.
Esse tipo de direcionamento indicado quando se deseja receber as mensagens
encaminhadas para outro usurio. Tambm possvel fazer com que o MTA enca-
minhe as mensagens recebidas para outro usurio ou endereo de email, editando o
arquivo .forward no diretrio pessoal. Esse arquivo pode conter um ou mais ende-
reos para os quais os emails recebidos pelo usurio em questo sero direcionados.
Como comea por um ponto, o arquivo no exibido. Portanto, importante veri-
ficar se redirecionamentos antigos no esto ativos sem o conhecimento do usurio.
Para exibir a fila de email e o estado das mensagens sendo transferidas, utiliza-se o
comando mailq. O

160
Tpico 108: Servios essenciais do sistema

108.4 Configurar impressoras e impresso


Peso 2
9
Uma das principais finalidades para um computador, esteja ou no em rede, ain-
da a impresso de documentos. Com o Linux no diferente, c o programa
responsvel pelo sistema de impresso chama-se CUPS - Common Unix Prin-
ting System. O CUPS fornece controle sobre impressoras, filas de impresso, im-
presso remota e compatibilidade com as ferramentas do sistema de impresso
antigo Ipi

Utilizando o CUPS
A configurao do CUPS pode ser feita diretamente em seus arquivos de configu-
rao ou usando a linha de comando, mas a maneira mais recomendvel usar a
interface Web, acessvel por qualquer navegador comum (figura 2).
Para fazer a configurao usando a inrerface Web basta acessar o endereo htrp://
Iocalhost:6311(localhost refere-se a prpria mquina onde se est trabalhando). Para
que a interface de configurao Encione fundamental que o servidor de impresso

Arq.*, Edt. Este d6C, F.oe.I E.r.m.et.. P41d

4- P06Sffi.c*oeeaii

C -

We Icom e!
Common_UNIX Printing System 1.3.9
E.r rm Tflfl1I' SSFtU ,rT 'i'rjcz_ Ia . r7,r7-

-e--e. -

__________
O -_-I ep ttr. E, .ee.7fl

About CUPS
7 p'.... -. .,ek, wTt.J Paye' Lfl-e-ts'd p,,stinejje'e,s It

Ifl
- e- e dre.. 4-el ,0, 't,,fltac. d b

I tiNI
Ap,- mi, pi-,,--- tes 'tan-Seru o;.-!e, ii or

;ndss-'s4p.te.1 ,4e-nJ d"JS'.-'e1t tt!Oecfl! 1


flo 3. he etandaro flk'; fl.Rer, &N eI

,fl'Q
O'

O',et.o,Wt
rO De..'

For Pririter Drivers and Assistance


-0 tN.:.'!.c.4. e .-.. ei.-
.cr -M flOO l,,e,-s-.d

Coeekw. 1 1 Ot.7 t],c2 , lMl

Figura 2. A inleriace Web de configurao do sistema de impresso CUPS, acessada pelo navegador.

161
Certificao LPI-1

(/usr/sbin/cupsd) esteja ativo. A maioria das distribuies inicia o servidor de impres-


so no boot do sistema.

Administrao de impressoras pela linha de comando


A configurao de impressoras e filas de impresso pela linha de comando uma
tarefa rdua, mas pode ser necessria quando no possvel utilizar a interface web.
O comando lpinfo usado para obter uma lista dos dispositivos de impresso e pro-
tocolos de impresso disponveis:

# lpinfo -v 1
network socket
network http
network ipp
network lpd

A primeira palavra da lista identifica o tipo do dispositivo. Para impressoras locais,


importante que o mdulo do respectivo dispositivo esteja carregado (porta paralela, usb
etc). Pode-se tambm utilizar a opo -m pra listar os modclos de impressoras disponveis:

ipinfo 1
C/pci-550.ppd.gz HP DeskJet 550C - CUPS+Gimp-Print v42.7
C/pcl-560.ppd.gz HP DeskJet 560C - CUPS+Ginp-Print v4.2.7
foomatic-ppds/HP/HP-DeskJet_600-hpijs.ppd.qz HP DeskJet 600 Foomatic/hpijs (reco
mmended) -

A maior parte das tarefas de administrao de impresso pode ser realizada com o
comando ipadmin:
As opes mais comuns associadas ao comando lpadmin so:
-c classe: adiciona a impressora indicada a uma classe. Se a classe no existir,
ser criada;
-m modelo: especifica qual o driver padro da impressora, geralmente um
arquivo PPD. A lista de todos modelos disponveis mostrada com o coman-
do ipinfo -m;
-r classe: remove a impressora indicada da classe. A classe ser apagada ao se
tornar vazia;

162
Tpico 108: Servios essenciais do sistema

-v dispositivo: indica o endereo do dispositivo de comunicao da impres-


sora que ser utilizada;
-D 1 nfo: descrio textual para a impressora;
-E: autoriza a impressora a receber trabalhos;
- L local i zao: descrio textual para a localizao da impressora;
-P arquivo PPD: especifica um arquivo PPD de driver local para
a impressora.

O exemplo abaixo adiciona uma impressora local, modelo HP DeskJet 600,


ao sistema:

li 'padn -p *_9eskdet_600 -[ -v parallel:/dev/lpO -D "HP DeskJet 600" L O


'-."Irnpressora Local -rn f oornatic-ppds/HP/HP-DeskJet_600-hpijs.ppd.gz

A impressora foi adicionada com suas opes padro (tamanho da folha, quali-
dade dc impresso etc). Para alterar esses valores, usa-se o comando lpoptions. O
exemplo abaixo lista as opes possveis para a impressora recm instalada:

# 1poptons -p HPDeskJet600 -'


0
PageSize/Page Sire: Custom Letter *A4 Photo PhotoTearff JxS 5x8 A5 A6 A6tear0ff
'-.-B5JIS EnviO EnvC5 EnvC6 EnvDL [nvlSOB5 [nvMonarch Executive ELSA Hagaki Legal
'-.-Oufuku w558h774 w612h935
PageRegion/PageRegion: Letter A4 Photo PhotoTearQff 3x5 5x8 AS A6 A6Tearff B5JS
~EnvlO EnvC5 EnvC6 EnvDL [nvISOB5 EnvMonarch Executive FLSA HagaKi Legal Oufuku
'-.w558h774 w612h935
PnintoutMode/Printcut Mode: Draft Draft.Gray tNorra Normal .Gray High.Gray
'-.Ouality/Resolution, Ouality, Ink fype. Media Type: *FrompnintoutMode 300CoorCMYK
'-,300DraftColorCMYK 300DraftGrayscaleCMYK 3000raysca 1 eCMYK 600x300BestGrayscaleCMYK

O exemplo a seguir define a opo PrintourMode como Drafr (Rascunho):

# lpoptions -p HP_DeskJet,JOD -o Pr 1 ntoutModeDraft

Para remover a impressora, usa-se o comando abaixo:

/I padmin -x HLDeskJetjOO

O estado das impressoras e filas pode ser verificado com o comando lpstat -a.

163
Certificao 1l'I-1

Arquivos de configurao do CUPS


Os arquivos de configurao do CUPS encontram-se em Ietcicupsf. Os principais so.
classes .conf: define as classes para as impressoras locais;
cupsd.conf: configuraes do daemon cupsd;
mirwe.convs: define os filtros disponveis para converso de formatos
de arquivos;
mime.types: define os tipos de arquivos conhecidos;
pri nters conf: define as impressoras locais disponveis;
ipoptions: configuraes especficas para cada impressora.

Filas de impresso
Fila de impresso o diretrio temporrio onde ficam os trabalhos antes de serem
impressos. Por padro, a fila no sistema de impresso antigo lpd fica em /var/spool /
lpd/, ao passo que, no CUPS, localizada em /var/spool/cups/. Para listar os traba-
lhos numa fila de impresso, usado o comando lpq.

Imprimindo arquivos
O comando lpr envia o documento indicado para a fila de impresso. Opes co-
muns para esse comando so:
- Pxxx: envia o arquivo para a fila xxx;
-#x: imprime o documento x vezes;
- 5: no copia o documento para a fila de impresso, mas cria um link simb-
lico nela.

O comando lpq pode ser utilizado para inspecionar o andamento das tarefas de
impresso. Usado na forma 1 pq - a mostra os trabalhos em todas as filas do sistema e
lpq -p mostra os trabalhos no computador especificado.
A cada trabalho de impresso associado um nmero. Esse nmero pode ser usa-
do pelo comando 1 prrn para cancelar um trabalho na fila de impresso. O comando
lprm sem argumentos cancelar o ltimo trabalho enviado. Informar o nome dc um
usurio como argumento cancelar todos os trabalhos de impresso deste usurio na
fila. Para cancelar todos os trabalhos, usa-se 1 prm -a ou 1 prrn -.

Impresso remota
Aps uma impressora ser instalada na mquina local, ela poder ser disponibilizada
para toda rede a qual est conectada. Essa configurao pode ser feita na interface de
configurao Web do CUPS ou na ferramenta de impresso da distribuio. Contu-
do, tambm poder ser feita editando diretamente os arquivos de configurao.

164
Tpico 108: Servios essenciais do sistema

Supondo ser o servidor de impresso a mquina com endereo 192.168.1.11 - a


mquina onde a impressora foi configurada - e a rede onde a impressora ser com-
partilhada 192.168.1.0124, a configurao pode ser feita da forma descrita a seguir,
no arquivo /etc/cups/cupsd.conf:

Cocaton />\
Order Deny,AHow
Deny Fror A]]
Aflow Fror 127.3.0.1
Allow From 192.168.1.0/24 # Liberar para a rede 192,168.1.0124
</Location>

necessrio reiniciar o servio cupsd para utilizar as novas configuraes. Nos


demais computadores da rede, basta incluir no arquivo /etc/cups/cl 1 ent . conf:

Serverware 192,168.1.11

A impressora remota pode ser verificada no terminal com o comando 1 pstat - a:

O ]pstat - d
HP_3e5kjet_600 aceitando solicitaes desde Oua 11 Mar 2009 18:34:54 BRT

Para que os documentos sejam automaticamente impressos nessa impressora, bas-


ta torn-la a impressora padro com o comando:

lpoptions -d HP_Deskjet_600

Usando o sistema Samba, possvel imprimir com uma impressora instalada em


um servidor Microsoft Windows. Para faz-lo, deve-se escolher o dispositivo "Win-
dows Printer via SA.&tBA" e utilizar a localizao URJsmb://servidor/impressora ao ins-
talar uma impressora, substituindo-os pelos valores apropriados. Se o servidor exigir
autenticao, a LIRI dever ser smb:Ilusurio:senha@grupolservidorlimpressora. O

165
VI
.2
'
a
'
1
a)
LIJ
Certificao LPI-1

L Questes Tpico 108

1. O comando utilizado para definir a data e hora do sistema o:


a. date
b. setdate
c. clock
d. time

2. O relgio do BIOS da mquina pode ser acertado a partir do relgio do sistema


com o comando:
a. hwclock -w
b. hwclock -s
e. hwclock -b
cl. hwclock -h

3. Os servidores de tempo do protocolo NTP devem ser definidos em qual arquivo?


Informar o caminho completo, diretrio e arquivo.

4. O comando atualiza imediatamente a hora local a partir de um


servidor NTP.

5. Dentre as listadas, qual a prioridade mais urgente do servio syslog?


a. crit
b. emerg
c. debug
cl. panic

6. Qual o nome do comando cuja finalidade gerar entradas de Iog manualmente?


D somente o nome do comando, sem argumentos.

168
Tpico 108: SeMos essenciais do sistema

7. O arquivo que define aliases de email para todo o sistema :


a. /etc/alias
b. /etc/aliases
c. Jetclantialias
cl. /etc/forward

8. O comando newaliases tem a finalidade de:


a. Ativar os novos aliases de email.
b. Abrir o assistente de criao de alias de email.
e. Apagar a tabela antiga de aliases.
cl. Localizar os aliases de email criados recentemente.

9. A porta de rede padro de comunicao do servidor de impresso CUPS a:


a. 80
b. 143
e. 631
cl. 3389

10. Qual a forma correta de utilizao do comando ipr para imprimir trs cpias
do arquivo documento.txt?
a. lpr +3 documento.txt
li Ipr -3 documento.txt
c. lpr -c 3documento.txr
cl. lpr 43 documento.txt

169
peso total dotpico
1ia prova: 14
/

,G L Tpico 109.
Fundamentos
de rede
Principais temas abordados:

Protocolos de Internet;
Configurao e resoluo
de problemas de rede;
Servio de resoluo de nomes DNS
Cerlificao LPI-1

109.1 Fundamentos dos protocolos de Internet


Peso 4

As mquinas em rede conseguem comunicar-se umas com as outras utilizando um


nmero chamado 1P Ao conectar um computador na rede, seja uma rede interna
ou diretamente Internet, ele necessariamente precisar obter um endereo IP para
poder comunicar-se com outras mquinas.

Endereo IP
Endereos IP no formato X.XXX conhecidos pelo termo ingls doned quad so
a expresso, em nmeros decimais, de um endereo de rede binrio. Cada um dos
quatro campos separados por pontos corresponde a um byte, algumas vezes chamado
octeto. Por exemplo, o nmero 1P 192.168.1.1 corresponde forma binria:

11000000.10101000.00000001.00000001

A tabela Converso de binrios para decimais demonstra a correspondncia


entre nmeros binrios e nmeros decimais.
Cada interface de rede numa mesma rede dever ter um endereo IP nico, mas
cada computador pode possuir mais de uma interface de rede. Nesse caso, o compu-
tador pode estar conectado a diversas redes diferentes.

Q Converso de binrios para decimais


0000 0001 20 1
00000010 2' 2
0000 0100 22 4
00001000 23 8
00010000 24 16
00100000 25 32
01000000 26 64
10000000 27 128

Classes de redes
Para redes privadas (LANs), existem faixas espec ficas de IPs que podem ser usa-
das e que no devem ser aplicadas a interfaces ligadas Internet. Essas faixas so
chamadas classes:

172
Tpico 109: Fundamentos de rede

Classe A. 1.0.0.0 at 127.0.0.0. Endereos de rede de 8 bits e endereos de


interEces de 24 bits. O primeiro octeto do nmero IP representa o endereo
da rede. A mscara de rede padro 255.0.0.0. Permite aproximadamente
1,6 milhes de IPs de interface para cada rede;
Classe B: 128.0.0.0 at 191.255.0.0. Endereos de rede de 16 bits e endere-
os de interfaces de 16 bits. Os dois primeiros octetos representam o ende-
reo da rede. A mscara padro 255.255.0,0. Permite 16.320 redes, com
65.024 IPs de interface para cada rede;
Classe C: 192.0.0.0 at 223.255.255.0. Endereos de rede de 24 birs e ende-
reos de interfaces de 8 birs. Os trs primeiros octetos representam o endere-
o da rede. A mscara padro 255.255.255.0. Permite aproximadamente 2
milhes de redes, com 254 JPs de interface cada uma.

Endereo de rede, mscara de rede e endereo broadcast


Para que os dados possam ser encaminhados corretamente pela rede, a interface
de rede precisa conhecer seu nmero 1P, o nmero IP de destino e a qual rede
eles pertencem.
Na maioria dos casos, a rede do IP de destino s ser conhecida quando esse IP de
destino estiver dentro da mesma rede interna do IP de origem. possvel identificar
se um IP pertence a uma rede fazendo o clculo a partir da mscara de rede. O cl-
culo feito a partir da forma binria dos nmeros IR

Mscara de 16 bits:

11111111.11111111.00000000.3000000o - 255,255.0.0 0
Mscara de 17 bits:

11111111.11111111.10000000.00000000 = 255.255.128.0

Na primeira mscara (16 bits), pertencero mesma rede os IPs cujos dois primei-
ros octetos do endereo no difiram entre si. Na segunda mscara (17 bits), perten-
cero mesma rede os iPs cujos dois primeiros octetos e o primeiro bit do terceiro
octeto do endereo no difiram entre si. Dessa forma, dois endereos de interface
172.16.33.8 e 172.16.170.3 estaro na mesma rede se a mscara for de 16 bits, mas
no se a mscara for de 17 bits.
As mscaras de rede variam dependendo do contexto da rede. Consequentemen-
te, o endereo da rede corresponde parte do nmero IP determinado pelos bits

173
Certificao Liii

marcados da mscara de rede. Para uma mquina 172.16.33.8 com mscara de rede
255.255.0.0,0 endereo da rede ser 172.16.0.0.
O endereo broadeasi o nmero IP que designa todas as inrerfaces numa rede.
Para uni endereo de rede 172.16.0.0, o endereo broadcast ser 172.16.255.255.
Com o uso de operadores matemticos lgicos - AND, OR e NOT, os ende-
reos binrios so calculados bit a bit. Assim, os IPs da rede e de broadcasr resultam
das operaes:

IP da AND Mscara IP da
Intertace da rede
= Rede

IP da Mscara IP de
Rede OR NOT da rede = Broadcast

Um endereo IP pode demonstrar a informao de endereo da rede, mscara de


rede e broadcast numa forma abreviada. Por exemplo, 192.168.1.129125, em que
nmero 25 aps a barra indica a quantidade de birs reservados para o endereo de
rede. Conclui-se que uma rede CIDR com mscara de sub-rede 255.255.255.128,
de endereo 192.168. i .128 e broadcast 192.168.1.255.

Sub-redes
Uma mesma rede pode ser dividida em duas ou mais redes, bastando redefinir a ms-
cara de rede. Dessa forma, uma rede pode ser dividida em redes menores, sem classe,
chamadas CIDR - Qassless Inter Domain Rounting.
Por exemplo, uma rede cujo endereo 192.168.1.0 e a mscara de rede
255.255.255.0 pode ser dividida em duas ao ativar o primeiro bit do quarto ocreto
na mscara de rede. Os primeiros 25 birs do IP seriam referentes ao endereo da
rede. O diagrama Mscara de 25 bits mostra o que acontece quando aplicada uma
mscara de 25 bits rede 192.168.1.0.

Mscara de 25 bUs
A diviso em duas sub-redes acontece devido ao 25 0 bit, que avana sobre o quar-
to octeto e divide a rede em duas. De maneira semelhante, uma mscara de rede
de 26 bits dividiria a rede em quatro, pois as redes resultantes seriam 192.168.1.0,
192168.1.64, 192.168.1.128e 192168.1.192.

174
Tpico 109: Fundamentos de rede

Mscara de 25 bits.

Mscara de
rede de 25 bits

llllllll.11l11111.111111fl.130130)(0

Decimal
255.255.255.128

RedeA RedeB
192.168.1.0125 192.168.1.128125

IP da rede IP da rede
Binrio Binrio
1100000e. 10101000.00000001.00000000 11000000. 10101000 . 00000001. 10000000
Decimal Decimal
192.168.1.0 192.168.1.128

Faixa de IP Faixa de IP
Binrio Binrio
11000000. 10101000.00000001. 60000001 11000000 10101000. 00000u01 . 10000001
at at
11000000 10101000, 00000001 .01111110 11000000. 10101000 .00000001.11111110

Decimal Decimal
192. 168. 1. 1 192. 168 . 1. 129
at at
192.168.1.126 192.168,1.254

IP de Broadcast IP de Broadcast
Binrio Binrio
11000000 .10101000 00000001.01111111 11000000. 10101000. 00000001 .11111111
Decimal Decimal
192.168.1.127 192.168.1.255

Cada sub-rede ocupa dois ffs para seus respectivos endereos de rede e broadcast,
portanto o total de 111's para as incerfaces das estaes ser proporcionalmente reduzido.

175
Certificao LJ'I-1

Rota padro
Conhecendo o IP de destino e a qual rede ele pertence, o sistema ser capaz de
encaminhar os dados pela interface de rede correta. Contudo, principalmente
quando o destino uma mquina na Internet, dificilmente a interface local estar
diretamente conectada rede do IP de destino. Para esses casos, necessrio esta-
belecer uma rota padro, ou seja, um endereo IP dentro de uma rede conhecida
para onde dados desse tipo sero encaminhados. Mesmo que o IP da rota padro
no esteja diretamente conectado rede do IP de destino, ele ser novamente
encaminhado para outra rota padro e assim sucessivamente, at que encontre a
rede a qual os dados se destinam.

IPv4 e IPv6
O padro tradicional de 32 bus (quatro octetos de bits) dos nmeros IP conhecido
como IPv4. H outro padro mais recente, conhecido como IPv6, que consiste de
uma sequncia de 128 bits. A vantagem bvia do lPv6 sobre o IPv4 a disponibilida-
de de uma quantidade muito maior de nmeros IR Enquanto o IPv4 capaz de gerar
4.294.967.296 (2 32 ) endereos, o IPv6 disponibiliza 3,4 x 1038 endereos.
Um endereo IPv6 normalmente escrito na forma de oito grupos de quatro n-
meros hexadecimais. Exemplo de um endereo IPv6:

2001:Odb8:85a3:08d3:1319:882e:0370:7334 '3
O lPv4 ainda muito mais difundido e possvel a intercomunicao entre os
dois padres. Porm, medida que cada vez mais dispositivos demandarem o uso de
um endereo IP, o padro IPv6 tornar-se- o vigente.

Protocolos de rede
Vrios protocolos so necessrios para a transmisso de dados numa rede. Protocolos
constituem a "linguagem" usada na comunicao entre duas mquinas, permitindo a
transmisso de dados. Os principais protocolos so:

IP - Internet Protocol: protocolo base utilizado pelos protocolos TCP, UDP


e ICMP para endereamento;
TCP - Trausfer Control Protocol: protocolo de controle da formatao e
integridade dos dados transmitidos;
UDP - User Datagram Protocol: exerce a mesma funo do TCP, porm os
o controle sofre interveno da aplicao;

176
Tpico 109: Fundamentos de rede

ICMP - Internet Control Message Protocol: permite a comunicao entre


roteadores e hosts, para que identifiquem e relatem o estado de funcionamen-
to da rede.

Portas TCP e UDP


Os protocolos de rede tornam possvel a comunicao dos servios de rede (FTP,
HTTP, SMTP etc), assinalando uma porta especfica para cada um deles. Ou seja,
alm de conhecer o endereo de uma mquina na rede, necessrio indicar em qual
porta nesse endereo os dados devem ser transmitidos. muito importante que to-
dos os computadores interligados respeitem os nmeros de porta corretos para cada
servio. A lista oficial de portas e servios associados controlada pela lANA - In-
terna Assigned Numbers Authority - e est disponvel em http://www.iana.org/assign-
mentslpon-numbers.
No Linux, a lista de servios conhecidos e de suas portas armazenada em /etc/
services. As portas so campos de 16 bits, existindo, portanto, um mximo de 65535
portas. A tabela Portas de servios mostra as principais portas de servio M. O

Portas de

20 FTP (porta de dados)


21 FTP
22 SSH
23 Telnet
25 SMTP
53 DNS
80 H1TP
110 POP3
119 NNTP (Usenet)
139 Nethios
143 IMAP
161 SNMP
443 HTIPS
465 SMTPS
993 IMAPS
995 POPaS

177
Certificao LPI-1
109.2 Configurao bsica de rede
li Peso 4

Apesar de os protocolos de rede serem os mesmos para qualquer sistema operaciona!,


cada um destes possui ferramentas e maneiras diferentes de realizar a configurao e
ingresso na rede. No Linux existem muitas maneiras de realizar a configurao, sendo
que as mais tradicionais envolvem apenas alguns poucos arquivos e comandos.

Arquivos de configurao
lbdas as configuraes de rede ficam armazenadas dentro de arquivos de texto co-
muns, no diretrio /etc. Apesar de cada distribuio utilizar mtodos distintos para
realizar as configuraes automticas de rede, todas elas obedecem padronizao
tradicional de armazenamento das configuraes.

/etc/hostname
Arquivo que contm o nome atribudo mquina local:

$ cat /etc/hostname
luciano-desktop

/etc/hosts
Associa os nmeros IP da rede a nomes. Ele prtico para atribuir um nome mais
simples para mquinas acessadas frequentemente ou para pequenas redes, onde um
servio de resoluo automtica de nomes no necessrio:

$ cat Ietcfhosts
127.0.0.1 localhost lcnsqr
189.14.98.138 themisto
201.6.144.122 office
192.168.64.199 note

/etc/nsswitch. conf
Determina por onde o sistema deve comear a procurar recursos como endereos de
rede, servio de autenticao etc. Termos chave comofiks, nise diu determinam onde
os recursos em questo podem ser encontrados:

$ cat /etc/nsswitch.conf
hosts: files dns

178
Tpico 109: Fundamentos de rede

networks: files
serv 4 ces: fYes
protocos: fies

/etc/reso!v. conf
Determina os nmeros 1P dos servidores de resoluo de nomes DNS.

$ cat /etcIresov.canf
search 1i'uxreceaia.c:.or
naineserver 208.67222.222
rameserger 208.61.220.220

A primeira linha, search linuxnewmedia. com . br, determina que caso seja solicitada
a resoluo de um nome sem domnio, automaticamente ser includo o domnio
Iinuxnewmedia. com . br.

Configurao manual da interface


Fundamental para o funcionamento da rede que a interface de rede esteja confi-
gurada corretamente. Se toda a parte estrutural da rede - roreador(es) e cabeamen-
to - estiver corretamente preparada e a interface de rede corretamente instalada,
esta poder ser configurada manualmenre por meio do programa ifconfig.
O comando ifconfig possui muitas finalidades, mas a principal definir um ende-
reo IP para a interface de rede, por exemplo:

# ifcorfig ethO 192.168.1.2 ap

interface ethO foi atribudo o endereo IP 192.168.1.2. Para desarivar a inrerface


de rede, utiliza-se down:

4 ifconfig eth down Ui


A mscara de rede para a inrerface tambm pode ser especificada com o 1 fconf 19:

4 fconflg eth 192,168.1.2 net.rnask 255.255.255.0 up

O 1 fconfig tambm usado para inspecionar as configuraes de uma interface.


Sem argumentos, ele mostra as configuraes de todas as inrerfaces ativas do sistema.

179
Certificao LPI-1

Para verificar as configuraes de uma interface especfica, basta fornecer como argu-
mento o nome da interface:

# ifconfig eth
eth Link encap:Ethernet Endereo de HW 00:12:3f:fd:80:00
inet end.: 192.1681.109 Bcast:192.168.1.255 Masc:255.255.255.0
endereo inet6: fe80::212:3fff:fefd:8000164 Escopo;Link
UR BROADCAST RUNNING MULTICAST MTU:1500 Mtrica:1
pacotes RX:886248 erros:0 descartados:0 excesso:0 quadro:0
Pacotes TX:820466 erros:0 descartados:0 excesso:0 portadora:0
colises:0 txqueuelen:1000
RX bytes:352704641 (352.7 MB) TX bytes:116209432 (116.2 MB)

Configurao de rotas
O comando route mostra e cria rotas de rede. Exemplo de tabela de rotas, exibida
com o comando route -n:

route -n
Kernel IP routing table
Oestination Gateway Genmask Flags Metric Ref Use Iface
106464.64 0.0.0.0 255.255.255.255 UH 0 O O ppp
192.168.117.2 0.0.0.0 255.255.255.255 UH O O O tunO
192.168.177O 192.168.177.2 255.255.255.0 UG O O O tunO
192.168.64.0 0.0.0.0 255.255.255.0 U O O O wlano
127.0.0.0 0.L0.0 255.0.0.0 O O O O lo
0.0.0.0 0.0.0.0 0.0,0.0 O O O O pppo

O campo FIags mostra o estado de funcionamento da rota, podendo conter os


seguintes caracteres:

U: rota ativa e funcional;


H: o alvo um host;
G: a rota gateway;
R: restabelecer rota por roteamento dinmico;
D: rota estabelecida dinamicamente por daemon ou redirecionamento;
M: modificada por daemon ou redirecionada;
!: rota rejeitada.

180
Tpico 109: Fundamenlos de rede

9 Configurao automtica de rede


Na maior parte dos casos, tanto a configurao da interface quanto das rotas de rede feita
automaticamente usando o recurso de DUOR O programa DHCP cliente envia urna requisio
para a rede por meio da interface especificada e o servidor responde com informaes de
endereo IP, mscara de rede, broadcast etc., que sero usadas para configurar a interface local.
/

Por exemplo, para criar uma rota na interface ethO, para a rede 192.168.1.0, usan-
do a mscara de rede 255.255.255.0:

O route add -net 192.168.1.0 netmask 255.255.255.0 dev ethO a


Para criar uma rota padro pela mquina 200.228.60.1 (defaufr gateway), usaramos:

O route add defau't qw 200.228.60.1

Outra maneira de criar a rota padro criar uma rora para a rede 0.0.0.0, ou seja,
qualquer rede que no tenha uma rota especificada:

O route add -"et 0,0.0.0 0ev etr a


Por sua vez, o comando para remover a rota-padro pela mquina 200.228.60.1 :

O route dei default gw 200.228.60.1

O comando p1 ng pode ser usado para identificar o funcionamento da rede. Utili-


zando o protocolo ICMP, ele simplesmente envia uma pequena quantidade de dados
para uma mquina especificada e aguarda um resposta. Se a mquina remota respon-
der, significa que a configurao bsica da rede est funcionando.
Por exemplo, aps identificar o gateway padro com o comanto route, enviar trs
requisies de resposta com o comando ping:

O route 1]
Tabela de Rotearento P do Kerne
Destno Roteador MscaraGen. Opes Mtrica Ref Uso Iface
197.168.1.3 0.0.0.0 255.255.255.0 U 1 O 0eth0
169.254.0.0 0.0.0.0 255.255.0.0 1000 O 0 ethO
0.0.0.0 192.168.1 .754 0.0.0.0 uc o o O eth

181
Certificao LPI-1

# ping -c3 192.168.1.254


PINO 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.1,254: icnp_seq=1 tt164 tiroe=0.364 ms
64 bytes from 192,168.1,254: icmp_seq-2 ttl=64 time=0.274 ms
64 bytes from 192.168.1.254: icmp_seq=3 ttl=64 time=0.344 ms

192.168,1,254 ping statistics


3 packets transmitted, 3 receivcd, 0% packet loss. time 1998ms
rtt minlavglmaxfmdev 0.27410.32710.36410,041 ms

Com essa sada verifica-se que o servidor respondeu corretamente e a rota est
funcionando como se espera. O

L 109.3 Solues para problemas de rede simples


Peso 4

A etapa mais importante para corrigir uma rede com problemas identificar a origem
da falha. Diversos comandos podem ser usados para essa finalidade, cada um com
uma aplicao especfica.

Inspecionando a configurao
O primeiro passo na identificao de uni problema na rede verificar a conigurao
da interface. Isso pode ser feito como prprio comando ifconfig:

# ifconfig eth
eth Link encap:[thernet Endereo de HW 00:12:3f:fd:80:00
inet end. : 192.168.1.109 Bcast:192,168.1.255 Masc:255.255.255.0
endereo inet6: fe80::212:3fff:fefd:8000/64 [scopo:Link
1W 8RODCAST RIJUMING MUITICAST IITU:1500 Mtrica:1
pacotes RX:1862353 erros:0 descartados:Q excesso0 quadro:0
Pacotes TX:1747229 erros:0 descartados:0 excesso:0 portadora:0
colises:0 txqueuelen:1000
RX bytes:580345633 (580.3 MB) TX bytes:224131348 (224.1 MB)

A resposta do ifconfig exibe o endereo IP da interface, o endereo de broadcast e a


mscara da rede. Caso essas informaes no estejam presentes, provvel que a interfa-

182
Tpico 109: Fundamentos de rede

cc ainda no tenha sido configurada. O prprio ifconfig pode ser usado para configurar
a rede, mas o comando 1 fup automatiza a tarcE ao utilizar o arquivo que armazena as
configuraes para a interface especfica (/etc/network/interfaces). O comando ifdown
realiza a tarefh inversa, desativa a interface especificada quando necessrio.

Correo de rotas
Se as configuraes da interface estiverem corretas e ainda assim o comando ping
no receber resposta do gateway, possvel que a tabela de rotas esteja incorreta. Para
verificar a tabela de rotas, utiliza-se o comando route:

#route -n
Tabela de Roteanento IP do Kernel
Destino Roteador MscaraGen. 0pes Mtrica Ref Uso Iface
192168.1.0 0.0.0.0 255.255.255.0 [1 1 O O ethO
0.0.0.0 192.168.1.254 0.0.0.0 UG O O O eth

A listagem mostra que existem tanto a rota para a rede local (192.168.1.0), a qual
a interfacc ethO est diretamente conectada, quanto a rota padro (destino 0.0.0.0)
apontando para a mquina 1921681.254.
Caso outras mquinas dentro da mesma rede respondam ao comando ping mas
mquinas Lora da rede local no respondam, muito provvel que a rota padro no
esteja configurada corretamente. Ou seja, os pacotes de dados enviados para fora da
rede local - via rota padro - no esto obtendo resposta.
Para excluir uma rota padro, o prprio comando route pode ser utilizado:

/ route dei defauit gw 200.228.60.1

ou simplesmente indicando a rede:

II route dei -net 0.0.0.0 4


Em seguida, basta incluir a rota padro adequada. Por exemplo, se o destino da
rota padro for a mquina 192.168.1.1:

# route add defauit qw 192.168.1.1 u


Aps alterar a configurao de interface e rotas, o ping deve ser novamente utiliza-
do para verificar a concctividade. Se ainda houverem problemas de conexo, princi-

183
Certificao LPI-1

palmente para endereos fora da rede loca!, o problema poder estar em outro ponto
da configurao.

Resoluo de nomes
Um dos principais problemas de conexo de rede a falha no servio de resoluo de
nomes DNS, O DNS responsvel por traduzir nomes de sues - como www./inwc-
magazine. com.br para um nmero IP, tornando possvel a comunicao pela rede.
Para testes mais simples de resoluo de nomes, o comando host pode ser utiliza-
do. Por exemplo, traduzir o domnio www.fif org para um nmero IP:

# host www.fsf.org
Host www.fsf.org not found: 5(REFUSED)

O teste no foi bem sucedido e a traduo para nmero IP no aconteceu. pos-


svel indicar um servidor DNS especfico logo aps o nome sendo testado:

# host www.fsf.org 208.67.222.222


Using comain server:
Mame: 208.67.222.222
Address: 208.61.222.222#53
Alia ses

www.fsf.org is an alias for fsf.org .


fsf.org has address 140.186.70.59
fsf,org mali is handled by 10 mali.fsf.org .
fsf.org mal] is handied by 20 rnx20.gnu.org .

Ao especificar o servidor DNS 208.67.222.222 foi possvel traduzir o nome para


IR Isso indica que no h servidor DNS especificado no arquivo /etc/resolv.conf ou
o servidor indicado no arquivo no est respondendo.

Nome local
possvel que a mquina local possua um nome diferente daquele que a identifica na rede. Isso
no um problema, mas importante que o nome local da mquina reflita um IR local vlido -
geralmente o IP da interface lgica local: 127.0.0.1. Para identificar o nome local da mquina,
pode ser usado o comando hostname. O prprio Comando hostname tambm pode ser usado
para alterar temporariamente o nome da mquina local.

184
Tpico 109: Fundamentos de rede

O comando di g (Domain Information Groper) retorna informaes mais avana-


das para o diagnstico de problemas em servidores DNS. Se nenhum argumento
for utilizado, o comando realizar o teste-padro no(s) servidor(es) encontrados no
arquivo /etc/resol v. conf. Para utilizar um servidor especfico, basta indic-lo aps o
caractere

# dig lnmcombr @208.67.222.222 (


(< 010 953-P2 lnni.corn.br @208.67.222.222
global options: printcmd
Got answer:
-H[AOER- opcode: OUERY. status: NOERROR, Id: 62841
flags: qr rd ra; OUERY: 1, ASWER: 1, AUTHORITY: 0, ADOITIONAL: 0

OUESTJON SECTI0N:
:lnm.com.br. 1H A

ANSW[R SECTION:
lnm.com.br . 3596 IN A 189.14.98138

Ouery time: 146 msec


SERVER: 208.67.222.222#53(208.67.222.222)
I4HEN: Mon May 18 13:35:27 2009
MSG SIZE rcvd: 44

Essa resposta mostra que o domnio lnm.com.br foi localizado pelo servidor DNS
indicado. O trecho QUESTION mostra qual foi o nome pesquisado e o trecho
A['JSWER mostra qual foi a resposta do servidor consultado.

Outros problemas de rede


Sc todas as configuraes de rede estiverem em ordem e ainda assim existircm
problemas de conectividade, possvel que as falhas estejam em outros pontos da
rede. Um comando importante para analisar o trfego e a resposta das mquinas
remotas o netstat. Por exemplo, possvel inspecionar todas as conexes do pro-
tocolo TCP ativas:

# netstat -tn
Conexes Internet Ativas (seta os servidores)

185
Certificao (21-1

Proto Recv-0 Send-0 Endereo Local Endereo Reaioto Estado


tcp O 0192.168,11.1:55488 192.168.11.2:5432 ESTABELECIDA
tep O 0192.168.11.1:55055 192.168.11.2:5432 ESTABELECIDA
tcp O 0192.168,11,1:55468 192.168.11.2:5432 ESTABELECIDA
tcp O O 192.168.11,I:45444 192.168.11.2:5432 ESTABELECIDA
tcp O D 192,168.11,1:55453 192.168.11.2:5432 ESTABELECIDA
tcp O 0192.168.11.1:55469 192.168.11.2:5432 ESTABELECIDA
tcp D D 192.168.11.1:55402 192.168.11.2:5432 ESTABELECIDA
(...1
tcp6 O 0189.14.98.138:80 201.2839.220:4288 TIME_WAIT
tcp6 D 0189.14.98.138:80 200.221.9.6:39609 TIME_WAIT
tcp O 0189.14.98.138:80 200,221,9.14:54862 TIME_WAIT
tcpb O 0189.14.98.138:80 200.221.9,14:48957 TIME_WAIT
tcp6 O D 189.14.98.138:80 201.28,39.220:4706 ESTABELECIDA

A opo -n determina que sejam mostrados apenas os nmeros IPs e a opo -t


determina a configurao apenas das conexes do protocolo TCP. Para exibir conri-
nuamente as novas conexes, basta informar a opo -c.
O netstat tambm agrega algumas funes de outros comandos. Com a opo -1,
exibe todas as interfaces de rede ativas e estatsticas relacionadas:

1/ netstat -i *
Tabela de Interfaces do Kernel
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
ethO 1500 O 1913157 O 00 1793478 O O O BMRU
lo 16436 O 322914 O 00 322914 O O O LRU

Com a opo - r, exibe a tabela de rotas do sistema:

# netstat -rn 0
Tabela de Roteamento IP do Kernel
Destino Roteador MscaraGen. Opes MSS Janela irtt Iface
192.168.1.0 0.0.0.0 255.255.255,0 O 00 O ethO
0.0.0.0 192.168.1.254 0.0.0.0 00 00 O eth

Caso o trfego de dados mostre que algumas conexes no respondem, o proble-


ma poder estar no ponto remoto, ou seja, em outra mquina da rede. Para identi-

186
Tpico 109: Fundamentos de rede

ficar em que ponto as conexes no seguem adiante, existe o comando traceroute.


O traceroute mostra as rotas percorridas por um pacote at chegar ao seu destino.
Limitando o campo TTL (Time To Live) dos pacotes, ele recebe respostas de erro
ICMP TJME_EXCEEDED de cada mquina ao longo do trajeto e exibe onde a co-
municao foi interrompida:

4 traceroute -r 189,14.98,138 $
traceroute te 189.14.98.138 (189.14.98.138), 30 hops rax, 60 byte packets
1 192.168.1.254 0,448 rns 1.041 's 1.062 -is
2 201.83.16.1 13.107 rns 13.142 i'is 13.156 "is
3 201.6.0.6 14.719 "'s 15.828 'is 15.911 "is
4 201.6.0.92 16.835 as 16.923 as 14.719 as
5 201.6.1.226 15.872 as 16.630 'us 16.718 -is
6 200.221.30.94 16.790 os 17.668 'is 17.100 "s
7 200.192.129.129 16.939 -s 27.872 5 27.882 's
8 189.14.98.138 28.228 -- s 26.806 'is 27.467 'is

Assim como a maioria dos comandos de rede, a opo -n determina que sejam
exibidos apenas os nmeros IP, sem o nomes de domnio. O exemplo mostra todas as
mquinas por onde passou o pacote at que chegasse ao destino, o IP 189.14.98.138.
Nesse caso, no houve nenhuma falha no percurso e o teste foi bem sucedido. O

109.4 Configurar DNS cliente


Peso 2

O servio responsvel por traduzir nomes - como www.linuxmagazine.com.br pata


nmeros IP - como 189.14.98.138 - e vice-versa chama-se DNS (Domain Name
Service, ou Servio de Nomes de Domnio). A configurao incorreta do DNS resul-
ta numa rede praticamente inoperante, pois imensa maioria das mquinas remotas
so acessadas por nome e no diretamente pelo seu nmero IP.

Configuraes
A resoluo de nomes pode apresentar problemas em vrias esferas. Em caso de
mal frmncionamento, um dos primeiros arquivos a ser verificado o fetc/nsswitch.
conf. Nele, a entrada hosts determina qual ser a ordem na qual a traduo de
nomes ocorrer.

187
Certificao LPI-1

hosts: files dns a


Via de regra, primeiro consultado o arquivo /etc/hosts (especificado pelo termo
fik4. Em seguida, caso o nome consultado no seja encontrado no arquivo, ser
consultado um servidor DNS especificado no arquivo /etc/resol v conf (especificado
pelo termo uns).
O arquivo Jetc/hosts bastante simples. Nele os nmeros IP so posicionados ao
lado dos respectivos nomes:

$ cat /etc/hosts
127.0.0.1 localhost lcnsqr
189.14.98.138 themisto
201.6.144,122 office
192.168.64.199 note

Mais de um nome pode ser atribudo a um mesmo IR atuando como um alias


para o mesmo IR
No arquivo /etc/resol v. conf so indicados principalmente os nmeros IP dos ser-
vidores DNS, ou seja, os computadores que fazem a traduo de um nome para um
nmero IR A entrada fundamental no /etc/resolv.conf nameserver, que define o
servidor DNS. Outras entradas nameserver podem estar indicadas, para o caso do
primeiro servidor DNS estar fora do ar ou muito ocupado:

$ cat /etc/resolv.conf
search lnm.coni.br
a
nameserver 208.67.222,222
nameserver 208.67.220.220

Outra entrada do arquivo /etcfresolv.conf a entrada search. Ela define um do-


mnio padro de busca. Assim, quando for consultado um nome sem domnio, au-
tomaticamente ser includo o domnio definido na entrada search. Esse recurso
especialmente til para o domnio da rede local, eliminando a necessidade de espe-
cificar o nome de domnio completo dc uma mquina toda vez que seu nome for
consultado manualmente. O

188
li)
.2
-
o
o
1
a,
>c
L&J
Cerdfucao LPI-1

40 Questes Tpico 109

1. A rede 192.168.1.0125 permitir quantos endereos IP vlidos para as estaes?


a. 25
b. 253
c. 128
d. 126

2. Qual o protocolo utilizado pelo comando ping para verificar a disponibilidade


da rede?
a. ICMP
b. TCI
e. UDP
d. ECHO_REPLY

3. A porta de rede 443 corresponde a qual servio IP?


a. IMAP
b. SMTP
e. HTTP
cl. HYITPS

4. Qual o arquivo que define os servidores DNS que sero consultados pelo sistema local?
a. Ietclhosts
b. /etc/resolv.conf
e. /etc/nsswitch.conf
d. /erc/dns.conf

5. Qual comando pode ser utilizado para exibir as interfaces de rede ativas na mqui-
na? Marque todas as alternativas corretas.
a. ifconflg
b. netconfig
e. interfaces
d. netstat

190
Tpico 109: Fundamentos de rede

6. Utilizando o route, qual o comando completo para definir o IP 192.168.1.250


como rota padro?

7. O trecho de sada:

OJ[STION SECTION:
:lnm.corn.br. 1H A

ANSWER S[CTION:
lnrn.cr.br . 3596 1H A 189.14.98.138

corresponde execuo de qual comando? D somente o nome do comando,


sem argumentos.

8. Qual comando tem a finalidade de identificar todos os computadores por onde


trafegou um pacote de dados?
a. ping
b. nmap
C. traceroute
d. route

9. Entre outras finalidades, o arquivo /etclnsswitch.conf destina-se a


a. definir a ordem de consulta para converso de nomes para IPs.
b. determinar qual ser a rota padro.
c. armazenar os servidores de consulta DNS.
d. definir o endereo IP da rede.

10. No arquivo /erc/resolv.conf, a entrada correta para definir o servidor DNS


208.67.222.222 :
a. route 208.67.220.220
b. nameserver 208.67.220.220
c. ip 208.67.220.220
d. dnsserver 208.67.220.220

191
peso tot& do tpico
prova 9
:

Tpico 110.
Segurana
I, Principais temas abordados:

Localizar brechas de segurana no sistema:


Limitar os recursos disponveis ao usurio:
Criptografia de dados.
Certificao LPI-1

110.1 Tarefas administrativas de segurana


Peso 3

A segurana do sistema depende de vrias tarefas peridicas de verificao. Alm de


proteger o sistema contra atitudes mal intencionadas, importante evitar que mesmo
eventos no intencionais prejudiquem o funcionamento do sistema.

Verificaes de permisso
Comandos com permisso SUID e SGJD garantem privilgios especiais a quem os
executa. Um comando alterado que contenha essa permisso especial poder dar
acesso de roor a um usurio comum. Portanto, importante monitorar quais arqui-
vos detm essas permisses, para evitar invases ou danos ao sistema.
O comando fi nd pode ser utilizado para a finalidade de encontrar arquivos SUID
e SGID:

I/ find / -perin -4000 -or -perin -2000


/bin/su
/bin/ping
/bin/niount
/bin/ping6
/bi nfurnount

As opes -perrn -4000 e - perfil -2000 identificam apenas os arquivos com as permis-
ses SGID e SUID. Vrios comandos devem possuir essas permisses especiais, mas
a maioria dos comandos no deve. Para facilitar a checagem, til gerar uma lista
detalhada com o mesmo comando. Essa lista pode ser salva diariamente (provavel-
mente por um agendamento no crontab) por meio do comando:

flnd / \( -perm -4000 -ar -perifi -2000 \) -exec is -1 'II' \; > /var/log/
'-..setuid-$(date 1-%F)

Esse comando gerar um arquivo de nome setuid-ano-ms-dia, que poder ser


comparado ao arquivo do dia anterior por meio do comando diU:

# diff /var/log/setuid-2006-05-02 /var/loq/setuid-2006-05-03


2c2
< -rws--x--x 1 root bin 29364 2005-09-07 17:46 /bin/pinq

194
Tpico 110: Segurana

-rws t x 1 root bin 29974 2005 09-07 17:46 ib 4 n/p"q

Essa sada mostra que o arquivo /bin/ping mudou de tamanho em relao ao re-
gistro anterior. Supe-se que tenha sido substitudo por um programa malicioso,
devendo ser excludo e reinstalado adequadamente. L importante rastrear os logs do
sistema atrs de possveis origens dessa alterao.
Outras buscas por brechas no sistema podem ser realizadas pelos seguintes comandos:

# flnd / -path /dev -prune -perr -2 -not -type 1

Esse comando procura arquivos com permisso de escrita para todos os usurios,
com exceo do diretrio /dev. Arquivos de configurao do sistema poderiam ser
alterados com o intuito de viabilizar invases ou danos ao sistema.
Para procurar arquivos sem dono ou sem grupo, que sugerem que o sistema tenha
sido invadido, o comando apropriado seria:

# find / \( -nouser -o -nogroup \) e


Aps a identificao, esses arquivos - salvo raras excees - devem ser excludos.

Senhas de usurios
Senhas muito antigas podem ser uma brecha de segurana medida que usurios
costumam compartilhar suas senhas. Alm disso, senhas muito simples costumam
ser a maior porta de entrada para invases.
As definies sobre a vida til de senhas e aspectos relacionados so armazenadas
no arquivo /etc/shadow (quando usado o sistema desenhas shadow, padro na maio-
ria dos casos). Cada linha corresponde a uma conta de usurio, em campos separados
por ":", representando:
1. Nome de acesso;
2. Senha criptografada;
3. Dias decorridos entre 1" de janeiro de 1970 e a ltima alterao da senha;
4. Nmero de dias at que a senha deva ser alterada;
5. Nmero de dias aps os quais a senha deve ser alterada;
6. Nmero de dias para advertir o usurio sobre a senha a expirar;
7. Nmero de dias, depois de a senha expirar, at que a conta seja
bloqueada para uso;

195
Certificao LPI-1

S. Dias decorridos entre 1 de janeiro de 1970 e a data em que a conta


foi bloqueada;
9. Campo reservado.

Alm de alterar senhas, o comando passwd tambm pode alterar essas definies,
utilizando uma ou mais das opes:
-x dias: nmero mximo de dias que a senha permanecer vlida;
-n dias: mnimo de dias at que o usurio possa trocar uma senha modificada
anteriormente;
-w dias: dias anteriores ao fim da validade da senha em que ser emitido um
aviso a respeito;
-i dias: inatividade ou tolerncia de dias aps a senha ter expirado at que a
conta seja bloqueada.
Por exemplo, para alterar as validades de senha para a conta atatiba:

# passwd -x 30 -n 1 -w 7 i 7 ataliba

Outra opo importante do passwd com finalidade semelhante a -e, que provoca
a expirao imediata da senha, e a -d, que apaga a senha para a conta especificada.
Quando a opo -q usada, a senha do grupo especificado alterada. Seguido de
-r, remove a senha e de -k restringe o acesso a todos usurios. Essa tarefa s pode ser
realizada pelo usurio root ou pelo administrador do grupo.
Uma conta pode ser bloqueada passwd -1 e liberada com passwd -u. O estado atual
da conta pode ser verificado com passwd -5:

II passwd -s ataliba
ataliba P 05/03/2006 13077

Essa sada representa:


ataliba: login referente conta;
P: um P significa que o usurio possui uma senha utilizvel; NP significa que
ele no possui qualquer senha; L representa uma conta bloqueada;
0510312006: data da ltima mudana de senha;
1: limite mnimo de dias da senha;
30: limite mximo de dias da senha;
7: dias de aviso;
7: limite de dias de inatividade, aps a senha ter expirado, at que a conta
seja bloqueada.

196
Tpico 110: Segurana

Os atributos da senha e validade de conta tambm podem ser alterados com um


comando especfico, chamado chage. Seus principais argumentos so:
-m: mnimo de dias at que o usurio possa trocar uma senha modificada;
-M: nmero mximo de dias em que a senha permanecer vlida;
- d: nmero de dias decorridos, em relao a 01/01/1 970, em que a
senha foi mudada. Tambm pode ser expresso no formato de data local
(dia/ms/ano);
E: nmero de dias decorridos, em relao a 0110111970, a partir dos quais a
conta no estar mais disponvel. Tambm pode ser expresso no formato de
data local (dia/ms/ano);
-1: tolerncia de dias aps a senha ter expirado at que a conta seja
bloqueada;
- W: dias anteriores ao fim da validade da senha nos quais ser emitido um
aviso a respeito da data de expirao.

Por exemplo, para determinar a data de bloqueio de uma conta, o comando


adequado :

# chage -[04/05/2006 ataliba 4


O uso do chage restrito ao usurio root. Porm, usurios comuns podem usar o
chage com a opo -1 para verificar as definies de suas respectivas contas:

$chage -lataliba 4
Maxiipum: 30
Mininum: 1
Warning: 7
Inactive: 1
Last Change: Mal 03, 2006
Password Expires: Jun 02, 2006
Password Inactive: Jun 03, 2006
Account Expires: br 05, 2006

Tanto o comando passwd quanto o comando chage entram em modo de configu-


rao interativa se no forem passadas as opes. O usurio assumido ser sempre o
atual, caso um usurio no seja especificado como argumento.
O comando usermod agrega muitas dessas funes de alterao de conta de usurio.
Suas principais opes so:

197
Certificao LPI-1

-c descri o: descrio do usurio;


-d diretrio: altera diretrio do usurio. Como argumento -m, move o con-
tedo do diretrio atual para o novo;
-e vai or: prazo de validade da conta, especificado no formato ddlmm/aaaa;
-f valor: nmero de dias, ap6s a senha ter expirado, at que a conta seja blo-
queada. Um valor -1 cancela essa funo;
-g grupo: grupo efetivo do usurio;
G grupol, grupo2: grupos adicionais para o usurio;
-i nome: nome de login do usurio;
- p senha: senha;
-u UID: nmero de identificao (UID) do usurio;
-s she 1: shell padro do usurio;
- L: b!oqueia a conta do usurio, colocando um sina] 1 na frente da senha
criptografada. Uma alternativa substituir o shell padro do usurio por um
scripr ou programa que informe as razes do bloqueio;
-O: desbloqueia a conta do usurio, retirando o sinal Ida frente da senha
criptografada.

Apesar de a maioria dessas configuraes poder ser alterada diretamente nos arqui-
vos /etc/passwd e /etc/shadow, recomendada a utilizao dos comandos apropriados
para evitar configuraes incorretas ou corrupo dos arquivos.

Acesso como root


Para um usurio comum entrar na conta de roor, usado o comando su. Ser neces-
srio informar a senha do usurio root para efetuar o login.
Usando apenas su sem argumentos, a nova sesso herdar as configuraes de
ambiente da sesso anterior, como variveis de ambiente e de sesso. Se usado na
forma su -1 ou su -, uma sesso totalmente distinta ser criada, como a sesso criada
a partir de um login tradicional.
Para que um usurio possa realizar tarefas de root, porm sem que tenha conhe-
cimento da senha da conta root, existe o comando sudo. O comando sudo permite a
um usurio ou a um grupo de usurios realizar tarefas antes reservadas somente ao u-
surio root. Via de regra, esse privilgio cedido somente aos usurios que pertencem
a um grupo administrativo, como o grupo admin ou o grupo sido. Por exemplo, um
usurio de grupo administrativo pode manipular a tabela de parties do disco /devf
sda invocando o fdisk com o sudo:

$ sudo fdisk fdev/sda O


198
tpico 110: Segurana

Normalmente solicitada a senha do prprio usurio para executar a ao solicita-


da. As permisses de uso do sudo so determinadas no arquivo /etc/sudoers. neste
arquivo que os usurios ou grupos de usurios com permisso de utilizar o comando
sudo so especificados.

Limitao de recursos
Usurios comuns podem provocar lentido e at panes no sistema se utilizarem
exageradamente os recursos da mquina. Semelhante ao controle de espao em
disco exercido com o uso de cotas, o uso da memria, a criao de arquivos e o
nmero de processos tambm podem ser limitados. Para esse fim utilizado o
comando ulirnit.
O ul imit um comando que age no mbito de uma sesso do Bash. Logo, os
limites so vlidos para a sesso do shell atual, assim como para sesses e processos
disparados a partir dela. Geralmente, os limites so estabelecidos nos arquivos de
configurao de sesso.
Para cada recurso, pode ser determinado um limite sofre um limite harch especifi-
cados pelas opes -s e -H, respectivamente. O limite hard representa o valor mximo
e o limite soE representa o valor de alerta, at que o limite hard seja alcanado. Se
no forem especificados s ou -H, o mesmo limite indicado ser definido para ambos
os fatores. Opes mais comuns de ulimir so:

-a: mostra os limites atuais;


-f: especifica o nmero mximo de arquivos que podero ser na
sesso do shell;
-u: o nmero mximo de processos disponveis ao usurio;
-v: o montante mximo de memria virtual disponvel ao shell.

Portanto, para estabelecer em 100 o limite mximo de processos:

# uliniit -Su 100

Para permitir que o usurio acresa esse limite at o mximo de 200:

# uitmit -Hu 203

Se nenhuma opo for fornecida, o recurso alterado por padro ser -f (limite de
arquivos criados). Sem um valor de limite, o ulimit exibir o limite soft atual para a
opo fornecida.

199
Certificao LPI-1

Verificando portas abertas no sistema


O programa nmap utilizado para rastrear portas de servios ativas. Seu uso mais
simples sem nenhum argumento, especificando apenas um nome ou endereo de
mquina a ser rastreada:

# nmap 1ocahost
Starting naiap 3.93 ( http://www.insecure.org/nmapl ) at 2006-05-08 01:39 BRT
lnterestnq ports on localhost (1270,0.1):
(The 1666 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
631/tep open ipp
60001tcp open Xli

A sada mostra que as portas 631 /tcp (Servio de impresso do CUPS) e 6000Itcp
(servidor de janelas X) esto abertas a conexes. Portanto, fundamental estabelecer
restries ao seu uso, por meio da configurao de tcpwrapper ou da configurao do
prprio servio.
O nrnap possui muitas opes dc rastreamento. possvel, por exemplo, fazer um
rastrearnento para tentar descobrir as portas passveis de conexo e qual o sistema
operacional do alvo:

# nrnap -0192.168.1.250

Startinq Nmap 4.76 ( http:/Jnrnap.org ) at 2009-05-18 17:32 BRT


Interestinq ports on europa.intra.linuxnewmedia.con.br (192.168.1.250):
Not shown: 990 closed ports
PORT STATE S[RVLC[
22Itcp open ssh
53/tcp open domam
80/tcp open http
11i/tcp open rpcbind
139/tcp open netbics-ssn
3891tcp open idap
445/tcp open microsoft-ds
5181tcp open afp
631/tcp open ipp
20491tcp open nfs
MAC Address: AC:DE:48:00:00:01 (Private)

200
Tpico 110: Segurana

evice type: general purpose


Running: Linux 2.6.X
OS details: Linux 2.6.9 - 2.626
Network Distance: 1 hop

Para identificar quais portas esto abertas no sistema tocai, tambm pode ser usado
o comando netstat:

II netstat -tnl
Conexes Internet Ativas (sem os servidores)
Prato Recv-O Send-O Endereo Local Endereo Roto Estada
tcp O 00.0.0.0:53 O,O,O.O : * OUA
tcp O 00.0.0.0:22 0.0,13.0 : * OUA
tcp O O 127,0,0.1:631 0.00.0: OUA
tcp6 O O :::139 :::k OUA
tcp6 O O :::53 :::* OUA
tcp6 O O :::22 :::* OUA
tcp6 O O :::445 :::* OUA

A principal opo no exemplo foi -1, que determina a exibio das portas esperan-
do por conexes no sistema local. No exemplo, possvel observar algumas portas
importantes que esto abertas, como o servio DNS (porta 53) e SSH (porta 22).
Para identificar quais programas e usurio esto utilizando determinada porta de
servio, indicado o comando 1 sof:

il isaf -i :22 -n
COMMAND PID USER FO TYPE DEVICE SUE NODE NAI'IE
ssh 8871 root 3u IPv4 4351024 TCP 192,168.1.109:57914-
'-.>189.14,98.138:ssh (ESTABLISHED)
sshd 20712 root 3u lPv4 4174130 TCP *ssh (LISTEN)
sshd 20712 root 4u lPv6 4174132 TCP *:ssh (LISTEN)
ssh 26047 root 3u IPv4 4263929 TCP 192.168,1.109:46835-
'-.)192.168.1.25O:ssh (ESTASLISHED)

A opo -i indica tratar-se de uma inspeo de rede, cuja sintaxe isof -i


@mquina porta. Se o nome ou o IP da mquina for omitido, assumida ser a mqui-
na local. O exemplo mostra quais programas e usurios esto utilizando a porta 22
(SSH), seja como porta de entrada ou sada. Outras informaes teis tambm so

201
Certilicao 111-1

exibidas, como PID do processo e as mquinas envolvidas. De posse dessas informa-


es, um processo suspeito pode eventualmente ser finalizado. O

110.2 Segurana do host


Peso 3

Mesmo que o computador local no seja utilizado como servidor, diversas portas
de servio podem estar abertas sem necessidade, o que pode ser uma grandc brecha
de segurana. Algumas prticas podem evitar que uma mquina esteja demasiado
exposta sem necessidade.

Senhas shadow
Antes mesmo de verificar brechas que podem resultar numa invaso fundamental se
certificar de que nenhuma senha est exposta dentro do sistema local.
O uso do sistema de senhas sbadcw proporciona maior segurana, visto que o
arquivo em que as senhas so armazenadas - / etc/shadow - no oferece leitura para
usurios comuns ('rr r -') e esto sob forte criptografia.
O uso de senhas shadow verificado pela letra x no campo dc senha do usurio
em /etc/passwd. Caso o sistema no use senhas shadow, necessrio instalar o pacote
shadow password suite - j presente na grande maioria das distribuies - e executar
o comando pwconv para converter as senhas antigas para o novo formato.

Desativando servios de rede


Servios de rede que no esto sendo utilizados representam um risco adicional de
invases que pode ser evitado. Uma das maneiras de desativar servidores desnccess-
rios simplesmente tirar a permisso de execuo do script que os inicia. Antes de
faz-lo, o servio deve ser terminado e depois executado o comando chmod -x script.
Para servios disparados pelo servidor ineteh basta comentar (acrescentar o carac-
tere a linha referente ao servio em /etc/inetd.conf.
Por exemplo, para desativar o servidor remetem /etc/inetd.conf:

II telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

De forma semelhante, os servios controlados pelo servidor xinetd podem ser de-
sativados no arquivo de configurao /etcfxinetd.conf, com a opo disable corres-
pondente ao servio.

202
Tpico 110: Segurana

inetd exinetd
Os programas servidores inetd e xinetd agem como intermedirios para outros
servios. Para que alguns servios pouco utilizados no fiquem o tempo todo
ativos aguardando uma conexo, apenas o inetd ou o xinetd ficam aguardando nas
respectivas portas e disparam o servio sob demanda. Os arquivos de configurao
de ambos inetd e xinetd so /etc/i netd . conf e /etclxi netd .conf, mas podem
estar fragmentados em /etc/inetd.d/ e /etc/xinetd.d/*, respectivamente.

Para desativar o servidor FTP em /etc/xinetd.conf, a entrada correspondente no


arquivo seria:

ftpl $
disable = yes
socket_type strear
orotoco] = tcp
walt no
user = root
server = (usrfsbfn/vstpd

Via de regra, os servios em execuo so interrompidos por meio do prprio script que
os inicia, usando como argumento o termo stop. Por exemplo, /etcfinit.d/sanba stop.
Para simplesmente impedir que um usurio comum seja capaz de fizer login na
mquina, pode ser usado o bloqueio imposto pelo arquivo /etc/nologi n. Se o arquivo
/etc/nologin existir, apenas o usurio root poder entrar no sistema. Os demais usu-
rios sero bloqueados e ser exibido o contedo de fetc/nol 091 n.

TCP wrappers
A maior parte do programas servidores possui suporte biblioteca Iibwrap e podem
utilizar o mecanismo chamado TCP wrappers para controlar o acesso aos servios
disponveis localmente. Esse controle estabelecido atravs de regras criadas nos
arquivos /etcfhosts.allow e /etc/hosts.deny.
O arquivo /etc/hosts.allow contm as regras para os endereos remotos que po-
dero acessar a mquina local. Se um endereo corresponder a uma regra em /etc/
hosts.allow, o acesso ser liberado e o arquivo /etc/hosts.deny no ser consultado.
O arquivo /etc/hosts.deny contm as regras para os endereos remotos que no
podero acessar a mquina local. Se um endereo no constar em Ietc/hosts.allow
nem em /etc)hosts .deny, ele ser liberado.

203
Certificao LPI-1

Cada regra escrita em uma linha, com o mesmo formato - servio:host:coniando


- para /etc/hosts.aiiow e /etc/hosts.deny, em que:
servio um ou mais nomes de daemons de servio, ou instrues especiais;
host um ou mais endereos, ou instrues especiais;
comando um comando opcional a ser executado no caso de cumprimento
da regra.

O campo host pode pode ser um domnio, IP de rede ou IP incompleto. Caracte-


res curinga como ?e * tambm podem ser utilizados.
No campo servio e host tambm podem ser utilizadas as instrues especiais
ALL, LOCAL, KNOW, UNKNOWN e PARANOID. O operador EXCEPT exdui
uni endereo ou grupo de endereos de determinada condio.
Por exemplo, uma regra do arquivo /etc/hosts . ali ow para liberar todos os servios
a todos os endereos da rede 192.168.10, com exceo do 192.168.1.20.

ALL: 192,168.1.* EXC[PT 192.168.1.20 a


Complementarmente, regra de /etc/hosts .deny para bloquear todos os servios a
todo endereo que no constar em regra do arquivo Jetc /hosts . ai iow:

ALL: ALL o
A documentao completa para a criao de regras pode ser encontrada na pgina
manual hostsaccess(5). O

40 110.3 Proteo de dados com criptografia


Peso 3

A preservao da segurana s est completa quando so utilizadas ferramentas de


criptografia, seja para proteger o contedo de dados, seja para garantir a autenticida-
de destes. Sobretudo em ambientes em rede, o uso de fortes sistemas de criptografia
fundamental.

OpenSSH
Tratando-se de acesso remoto, a ferramenta essencial o pacote OpenSSH. O
OpenSSH o substituto para ferramentas de acesso remoto ultrapassadas, como
telnet, riogin, rsh e rcp.

204
Tpico 110: Segurana

O programa cliente do pacote ssh o comando ssh. As configuraes globais para


o cliente so feitas no arquivo /etc/ssh/ssh_eonfig. A utilizao do ssh muito sim-
ples, bastando fornecer o nome de usurio e o endereo de destino:

$ ssh uciaro192.168. 1.

Esse comando abrir uma sesso do shell com o computador de endereo


192.168.1.1, atravs de uma conexo segura. Ser usado o usurio luciano e todas as
configuraes de sesso correspondentes a tal usurio. Tanto a senha do usurio quanto
os dados transmitidos estaro protegidos por forte criptografia. Mesmo que eventual-
mente sejam interceptados, praticamente impossvel que sejam decodificados.

Chaves criptogrficas
As chaves criptogrificas para o computador so geradas automaticamente peio ser-
vidor SSH. Os arquivos para armazenar a chave privada e a chave pblica variam
de acordo com o tipo de criptografia utilizado, como mostrado na tabela Chaves
do computador.
Na primeira vez que o cliente ssh conecta-se a um computador remoto, o usurio
questionado sobre aceitar a chave pblica do computador remoto. Se for aceita, ela
ser armazenada em -/.ssh/know_hosts e garantir a conflabilidade da conexo entre
os dois computadores. O contedo desse arquivo pode ser includo no arquivo /etc/
ssh_know_hosts para que a chave passe a valer para todos os usurios. Ainda assim, ser
necessrio que o usurio fornea sua senha ao conectar-se no destino.
Dessa forma, se outro computador assumir o nome ou o IP da mquina remota,
o cliente SSH informar o usurio que a identificao do servidor mudou e no es-
tabelecer a conexo. Nesse caso, s ser possvel fazer o login via SSH se o usurio
apagar a chave pblica original do servidor armazenada anteriormente no arquivo
-1. ssh/know_hosts.

Autenticao por chave


Alm das chaves do prprio computador, cada usurio pode possuir sua chave pbli-
ca e privada, utilizada para garantir sua autenticidade.

Chaves do computador

RSA fetc/ssh/ssh host rsa key /etc/ssh/ssh host_rsa key.pub


aSA jt isa ty

205
Certificao LPI-1

Dessa forma, possvel fazer com que o acesso via SSH seja feito automatica-
mente, sem necessidade de fornecer a senha cm todo login. Isso especialmente
til quando um computador remoto acessado frequentemente. Antes dc conse-
guir fazer o login sem senha, necessrio que o usurio crie a chave pblica e a
chave primria.
A chave pblica do usurio dever ser includa no arquivo authorized_keys, criado
no computador de destino. Esse arquivo pode contet uma ou mais chaves que foram
criadas em mquinas utilizadas corno origem de acesso. As chaves so criadas com o
comando ssh-keygen.
As chaves criptogrficas podem utilizar diferentes tipos de formatos, sendo os mais
populares o DSJ4 e o RS. Para gerar uma chave DSA de 1024 bits, utiliza-se:

$ ssh-keygen -t dsa -b 1024

Chaves RSA suportam um tamanho em birs maior, como 4096:

$ ssh-keyqen -t rsa -b 4096 a


Um tamanho maior em bits torna ainda mais difcil a quebra da criptografia.
As chaves podem ser criadas com ou sem senha, as chamadas passphrases. Chaves
protegidas com senhas so mais seguras, pois toda vez que forem utilizadas ser ne-
cessrio informar a senha respectiva da chave.
O comando ssh-keygen criar as chaves no diretrio -/ . sshl na mquina de origem
para o usurio atual. A tabela Chaves do usurio mostra quais so os arquivos de
chave do usurio.

Chaves do usurio

ASA -/ .ssh/idjsa -/ .ssIi/itLrsa.pub


OSA -1. ssh/iddsa -/ . ssh/id_dsa pub

O contedo da chave pblica poder ento ser includo em -f . sshfauthori zed_keys


para o usurio especfico no computador de destino. Supondo que o computador de
destino tenha IP 192.168.1.1 e uma conta para o usurio luciano, a chave pblica do
formato DSA pode ser copiada com o comando:

$ cat -/.ssh/id_dsa.pub 1 ssh luciano@192,168.1.1 'cat -/.ssh/authorized_keys

206
Tpico 110: Segurana

O contedo do arquivo -!. ssh/i d_dsa . pub ser direcionado para o comando ssh. O
ssh redirecionar o contedo para o comando cat na mquina remota, que por sua vez
induir o contedo no arquivo -!.ssh/authorized_keys da conta na mquina remota.
Enviar a chave por uma conexo segura fundamental para que no seja interceptada.
Por questo de segurana, importante que todos os arquivos contendo chaves em
!etc!sshl e 1. ssh/ tenham permisso 600 escrita e leitura s para o dono do arquivo.
Se foi informada uma passphrase durante a criao da chave, ser perdida toda a
convenincia de realizar o login sem senha, pois ser necessrio informar a senha da
chave toda vez que esta for utilizada. Contudo, possvel evitar a digitao da pass-
phrase a todo momento se for utilizado o comando sshagent.
O ssh-aqent atua como uma espcie de chaveiro. Ele armazena a autorizao e
libera o usurio da necessidade de digitar a passphrase novamente durante a mesma
sesso. Para utiliz-lo, basta executar o comando ssh-agent:

$ ssh-agent 0
SSH_AUTH_SOCK=/trnp/ssh-Gnbn'W14709/aqent.14709; export SSH_AUTH_SOCK;
SSH_AG[NT_P1014710: expert SSH_AGENJID:
echo Agent pid 14110:

O ssh-agent ir para segundo plano e exibir as variveis de ambiente que neces-


sitam ser declaradas. Somente se essas variveis estiverem acessveis na sesso que a
autorizao automtica do ssh-agent poder ser utilizada. Essas variveis sero usadas
pelos outros programas para fazer a autenticao via ssh-dgent.
Com o ssh-agent ativo e as variveis de ambiente declaradas, utilizado o coman-
do ssh-add para incluir a chave do usurio no ssh-agent:

$ ssh-add 0
Enter passphrase for /home/luciano/.ssh!id_rsa:
Identity added: !hote/luciano!.ssh/id_rsa (/home/luciano/.ssh/id_rsa)

A passphrase ser solicitada apenas uma vez, quando a chave do usurio for inclu-
da no ssh-agent. Feito isso, no ser necessrio informar a passphrase nas sesses em
que as variveis exportadas estiverem acessveis.

Tneis criptografados
Alm de abrir sesses remotas do shell, o SSH pode ser utilizado como veculo para
outras conex6es. Essa tcnica conhecida como tnel de porta ou simplesmentc
tnel SSH.

207
Certificao LPI-1

Aps criar um tnel criptografado, outro programa poder comunicar-se com a


mquina remota em questo atravs desse tnel, de maneira que todos os dados esta-
ro protegidos ao longo da conexo. Esse recurso especialmente til para programas
que no possuem a Funcionalidade de criptografia de dados.
o caso dos clientes e servidores VNC mais simples. Por padro, o VNC utiliza a
porta 5900 e envia os dados sem criptografia. Uma maneira de contornar esse incon-
veniente criar um tnel SSH entre a porta 5900 do computador local at a porta
5900 do computador remoto. Dessa forma, bastar apontar o cliente VNC para a
porta 5900 do computador local e a conexo ser automaticamente direcionada atra-
vs do tnel seguro para a porta 5900 do computador remoto.
Para criar o tnel seguro, utilizado o prprio comando ssh com a opo L
porta local :localhost:porta reiiota, em que porta local especifica qual porta na
mquina local ser a entrada do tnel, localhost nesse caso diz respeito mquina
de destino e porta remota a porta de sada do tnel. Por exemplo, para criar um
tnel para 1uciano@192.168.1.1:

$ ssh -fNL 5900:localhost:5900 luciano@192.168.1j

A opo -f indica que o comando deve ser executado cm segundo plano. A opo
-N determina que no deve ser aberta uma sesso do shell na mquina remota. De-
pois de criado o tnel, bastar apontar o cliente VNC para a mquina local:

$ vncviewer localhost:0

A indicao :0 determina que o vncviewer utilize sua primeira porta padro, ou


seja, a porta 5900. Toda a transmisso enviada e recebida para a mquina remota
acontecer atravs do tnel criptografado.

X remoto via SSH


Tcnica semelhante aos tneis SSH abrir a janela de uma aplicao remota por
meio dc uma conexo SSH, usando a opo -X. Por exemplo, para exibir localmente
o programa VinualBox presente na mquina remota:

$ ssh -x luciano@192.168.1.1 0
E para executar o programa desejado na mquina remota:

$VirtualBox

208
Tpico 110: Segurana

O processo pode ser simplificado em um s comando:

$ ssh X 1uciano192.168.1.1 Virtua1Box"

O comando passado como argumento final para o ssh ser executado na mquina
remota - opcionalmente o comando ssh tambm pode enviar os dados recebidos pela
sua entrada padro para a entrada padro do comando remoto. Nesse caso, ser exibi-
da na mquina local a tela do programa VirtualBox em execuo na mquina remota.

Assinatura GnuPG
O pacote GnuPG a mais popular e completa implementao de cdigo aberto do
padro OpenPGP. Com o GnuPG possvel assinar e codificar arquivos ou mensa-
gens para garantir a autenticidade e segurana dos mesmos. Isso feito baseado no
conceito de chave pblica e secreta, onde a chave secreta de conhecimento apenas
de seu proprietrio e a respectiva chave pblica pode ser utilizada pelas demais pes-
soas para garantir a autenticidade deste proprietrio.
O comando gpg agrega todas as funes do GnuPG. Ele usado para gerar as
chaves, export-las, import-las, assinar e codificar dados.

Criao das chaves


O primeiro passo para a utilizao do GnuPG a criao do par chave secreta e chave
pblica, realizada com a opo - - gen - key:

$ gpg --gen-key
gpq (GnuPG) 1.4.9: Copyright (O 2008 Free Software Foundation, Inc.
This js free software: you are free te chanqe and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Por favor selecione o tipo de chave desejado:


(1)USA e [igamal (padro)
(2)USA (apenas assinatura)
(5) RSA (apenas assinar)
Sua opio?

Recomenda-se a utilizao da chave padro DSA e Elgamah pois mais verstil


que as outras opes. Em seguida, escolhido o tamanho da chave:

par de chaves OSA vai ter 1024 bits. 1


209
Certificao 191-1

L.

ELG-E chaves podem ter o seu comprimento entre 1024 e 4096 bits,
Que tamanho de chave voc@ quer? (2048)

O tamanho sugerido adequado, mas chaves maiores tornam praticamente impos-


svel a quebra da criptografia. A chave pode ter um prazo de validade ou jamais expirar:

Por favor especifique por quanto tempo a chave deve ser valida. 4
O - chave no expira
= chave expira em n dias
= chave expira em n semanas
<n>m = chave expira em n meses
- chave expira em n anos
A chave valida por? (0)

Normalmente no necessrio definir um prazo de validade, salvo quando cria-


da uma chave para alguma necessidade especfica.
Nas etapas finais ser necessrio informar alguns dados pessoais - nome, email e
descrio - e a passpbrase, que a senha com a qual as chaves sero geradas.
A configurao do GnuPG para o usurio e suas chaves ficam no diretrio
=1. qnupq/. Para listar as chaves presentes, usado o comando gpq --1 i st - keys:

pub 10240/F44AD97[ 2009-05-20


uid Luciano Siqueira (isiqueira) <lsiqueira@linuxnewmedia.com.br >
sub 40969/8E19790C 2009-05-20

O cdigo F44AD97E na linha pub a identificao da chave. Essa informao


ser usada para identific-la quando existe mais de uma chave no arquivo de chaveiro
-1 .gnupg/pubring .gpg.

Exportar uma chave


Para que outra pessoa possa verificar os dados assinados, ser necessrio que tenha
acesso chave pblica do usurio em questo. Por isso a chave pblica deve ser ex-
portada, o que feito com o comando gpg - - export:

$ gpq --output Isiqueira.gpg --export isiqueira 4


A opo --output indica o arquivo em que a chave pblica ser gravada. O ar-
gumento da opo - - export determina qual chave pblica deve ser exportada. Para

210
Tpico 110: Segurana

a identificao da chave pode ser usado qualquer campo das informaes pessoais
informadas na criao da chave.
A chave exportada estar no formato binrio. Para gerar uma chave como texto,
til para enviar no corpo de emails, basta acrescentar a opo -armar:

$ gpg -arror --output 1squeira.gp9.asc --export isiqueira

Apesar de a chave pblica exportada poder ser enviada diretamente para quem
dela far uso, mais cmodo export-la para um servidor de chaves, de forma que
qualquer pessoa de posse da identificao da chave poder copi-la diretamente do
servidor. A exportao para um servidor remoto feita com a opo --send-keys:
$ gpg - -send-keys F44A097E
gpq: sen&nq key F44A097E to hkp server keys.qnupg.net

O argumento F44AD97E a identificao da chave. Foi utilizado o servidor de cha-


ves keys - gnupg - net, que o servidor padro do GnuPG. O servidor de chaves espe-
cificado no arquivo / - gnupg/gpg - conf. Para alterar o servidor, edite a entrada keyser-
ver nesse arquivo.

Revogar uma chave


Caso a chave privada tenha sido comprometida (tenha sido copiada por terceiros, por
exemplo), possvel gerar uma chave de revogao. Essa chave de revogao, uma vez
enviada para o servidor de chaves, garantir a invalidao da chave comprometida.
Para fazer a revogao, gere uma chave com o comando qpg --qen-revoke,
indicando a identificao da chave:

$ qpg --gen-revoke F44D97[

Aps escolher o motivo da revogao, a chave ser gerada:

----BEGIN POP PUBLIC KEY BLOCK -----


Version: GnuPG vl,4.12 (GNU/Linux)
Coent: A revocation certficate should follow

IG[[IBEIAAkFAk+nlrrcCHO'lACgkOo3Z8liP991 sYAEAr2t0307cukuv1RDKzIk
lzB/EH8ZLzE/o9WjN4qUlwBAJOzgUqVOFVqnbcG/HvaI r5odspwvinnHgfvnwxK
u52B
=Dxht
-- --E-N3 PGP PUBLIC K[Y BLOCK.....

211
Certificao LPI-1

Este contedo deve ser salvo num arquivo. Assim que a importao da revogao
for realizada, a chave provada estar revogada:

$ gpg -irnport chave_revoqada.txt a


Se a chave privada estava hospedada remotamente, basta repetir o envio para revo-
gar a chave no servidor de chaves:

1 gpg --send-keys

Depois de revogada, uma chave no poder ser revalidada.

Importar uma chave


Antes de verificar a autenticidade de determinado arquivo necessrio importar sua
respectiva chave. A importao de chave a partir de uma arquivo feita com a opo
-- import:

$ gpg --import phess.gpg 0


gpg: key 8A98A584: public key "Pablo Nehab Hess (phess) <phess@linuxnewmedia.
'-.com.br>" imported
gpg: Nmero total processado: 1
gpg: importados: 1
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpq: depth: O valid: 2 signed: O trust: O, Oq, On, Um, Of, 2u

Tambm possvel importar a chave diretamente de um servidor de chaves, caso


a chave pblica em questo esteja presente no servidor configurado no arquivo
/.gnupg/gpg.conf:

$ gpg - -recv-keys 8A98A584 (


gpg: requesting key 8A98A584 from hkp server keys.gnupg.net
gpg: key 8A98A584: public key "Pablo Nehab Hess (phess) <phess@linuxnewmedia.
~com.br)" imported
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust modei
gpg: depth: O valid: 2 signed: O trust: 0, Oq, On, Um. Of, 2u
gpg: Nmero total processado: 1
ypg: importados: 1

212
Tpico 110: Segurana

A opo - - recv - keys recebe como argumento a identificao da chave a ser importa-
da. Realizada a importao, a chave ficar armazenada no chaveiro 1 .gnupg/pubri ng .gpg:

$ qpg --list-keys
/home/lucianol .qnupg/pubringgpg

pub 1024D/F44A097E 2009-05-20


uid Luciano Siqueira (Isiqueira) <lsiqueira@flnuxnewmediacom.br >
sub 40969/8[19790C 2009-05-20

pub 1024D18A98A584 2008-01-29 [expires: 2018-01-261


uid Pablo Nehab Hess (phess) <phess@linuxnewmediacom.br >
sub 40969/F503C928 2008-01-29 [expires: 2018-01-261

Aps importada, uma chave pblica deve ser assinada, de modo a garantir sua
autenticidade:

$ gpg --siqn-key 8A98A584

Este no um procedimento obrigatrio, mas no faz-lo causar a exibio de


uma mensagem de alerta toda vez que a chave em questo for utilizada. recomen-
dvel enviar a chave assinada de volta para o servidor. A chave pblica ganha mais
credibilidade na medida em que mais usurios a assinam e devolvem ao servidor.

Assinando um arquivo
A forma mais comum de utilizar o GnuPG assinar o arquivo. Semelhante a uma
assinatura tradicional, o usurio que receber um documento assinado pelo GnuPG
poder certificar-se sobre a identidade do autor.
Qualquer tipo de arquivo pode ser assinado pelo comando gpg, com a opo - - si gn:

$ qpg --output documento.txt.gpg - -sign documentoJxt L

Esse comando assinar o arquivo documento .txt e criar a cpia assinada no arquivo
docuniento.txt.gpg. Este arquivo poder ser enviado para outra pessoa que, de posse
da chave pblica do autor da assinatura, poder certificar-se da autoria do arquivo
utilizando a opo - - decrypt

$ qpg --output documento.txt --decrypt documentoJxLgpg

213
Certificao LPI-1

Ser criado o arquivo docurnento.txt a partir do arquivo assinado documento.txt.gpg.


Se o arquivo corresponder assinarura do autor, ser exibida a mensagem de sucesso:

gpg: Assinatura feita Cua 20 Mal 2009 15:50:55 BRT usando DSA chave ID 898A584
gpg: checando o trustdb
gpg: 3 parcial(is) necessria(s), 1 completa(s) necessria(s), modelo de confiana PGP
gpg: profundidade: O vlidas: 1 assinadas: 3 confiana: 0, Oq, On. Om, Of, lu
qpq: profundidade: 1 vlidas: 3 assinadas: O confiana: 3 - . Oq, On. Om, Of. Ou
gpg: prxima checagem de banco de dados de confiabilidade em 201801-26
gpg: Assinatura correta de "Pablo Nehab Hess (phess) <phess@linuxnewiiiedia.coni.br >"

Mesmo que a assinatura no seja autntica, o arquivo ser extrado e poder ser
hdo. Apenas ser informado que a assinatura no vlida. J para proteger o con-
tedo de um arquivo contra abertura no autorizada, este deve ser criptografado.

Criptografando um arquivo
A proteo criptogrfica do contedo de um arquivo feita utilizando a chave pblica
de quem receber o arquivo. Dessa forma, somente o prprio destinatrio - de posse de
sua chave secreta - ser capaz de descriptografar. A opo para criptografar um arquivo
- -encrypt. A opo - - reci p1 ent indica de qual usurio ser usada a chave pblica:

$ gpg --output documento.txt.gpq --encrypt --recipient phess documento.txt 3


Para a opo - - recipient pode ser indicado qualquer campo de identificao da
chave pblica desejada. O resultado do comando mostrado ser a criao do arquivo
criptografado documento.txt.qpg a partir do arquivo documento.txt, arquivo que po-
der ser aberto exclusivamenre pelo dono da chave pblica - que consequentementc
possui a chave secreta. J no destino, a opo - -decrypt utilizada para extrair o
arquivo criptografado:

$ gpg --output documento.txt --decrypt documento.txt.gpq

Ser feita a verificao de correspondncia entre o arquivo criptografado com a chave


pblica e a chave secreta local. Se a verificao for bem sucedida, bastar ao usurio
fornecer sua passphrase e ter criado o arquivo com contedo descriptografado. O

214
L Exerccios
Certificao LPI-1

0
, Questes Tpico 110

1. Qual comando um usurio comwn pode utilizar para realizar tarefas reservadas
ao usurio root?
a. sudo
b. export
C. root
d. exec

2. O comando ulimit pode ser usado para limitar


a. o nmero dc contas de usurio.
b. os recursos disponveis a um usurio.
c. a quantidade de memria RAM do sistema.
d. o nmero de conexes UDP.

3. Uma das principais finalidades do comando identificar as portas aber-


tas na mquina local ou em uma mquina remota.

4. A finalidade do comando lsof-i :5432


a. exibir uma sequncia retroativa dc nmeros.
b. localizar um arquivo cujo UID 5432.
c. verificar se a porta 5432 est aberta.
d. exibir detalhes sobre o processo utilizando a porta 5432.

5. Como um servio controlado pelo inetd pode ser desativado em seu arquivo
de configurao?
a. Desinstalando o inetd.
b. Alternando para nvel de execuo 1.
c. Comentando com 4 a linha correspondente ao servio.
cl. Definindo a instruo disable = yes para o servio.

216
Tpico 110: Segurana

6. Quando um endereo IP corresponde a uma regra definida tanto no arquivo


/etc/hosts.allow quanto em /etc/hosrs.deny, qual ser o comportamento para
novas conexes vindas desse endereo?
a. A conexo liberada, pois o bloqueio definido para servios especficos.
b. A conexo liberada, pois a primeira consulta feita em /etclhosrs.allow
e prevalece.
C. A conexo bloqueada, pois a primeira consulta feita em /etclhosts.deny
e prevaicce.
d. A. conexo bloqueada, pois o bloqueio feito usando o nome da mquina.

7. O comando usado para gerar chaves pessoais no formato RSA para o SSH :
a. ssh -t rsa
b. ssh-keygen -t rsa
C. keygen -t rsa 1 ssh
d. ssh -genkey -t rsa

8. O programa ssh-add tem a finalidade de


a. Incluir a autorizao da chave privada no chaveiro ssh-agent.
b. Definir as variveis mostradas pelo ssh-agent.
C. Permitir que outros usurios utilizem o ssh-agent.
d. Incluir uma chave pblica no chaveiro pessoal.

9. Na pasta -/.sshl, qual arquivo armazena as chaves pblicas dos usurios que
podero entrar por SSH sem precisar de senha?

10. Qual opo do gpg usada para importar uma chave pblica diretamente de
um servidor de chaves?
a. .-import
b. --get-key
C. --recv-keys
d. --receive-keys

217
Apndices
Viso geral das mudanas nos
exames para certificao LPIC nvel 1

A nova reviso dos objetivos para as provas LPIC nvel 1, vlida a partir de abril de
2009, levou as provas para a verso 3.0. Essa a segunda reviso completa dos obje-
tivos, que padroniza a verso para o mundo todo. No mbito geral, o LPI antecipou
o ciclo de cinco anos para revises completas. Por volta de cada dois anos e meio, os
objetivos sero modificados para refletir as possveis mudanas do Linux. A prxima
verso do LPIC-1 ser a 3.5 e refletir essa reviso parcial.
Alm dessas revises principais, havero adendos includos numa mdia trimes-
tral, com o intuito de esclarecer pontos e detalhes dos exames. Esses adendos no al-
teram a verso da prova, pois tm apenas o intuito de esclarecer a cobertura da prova
para organizadores de cursos e livros.

Os novos pesos
O peso total de cada prova foi estabelecido em 60. Isso significa que, salvo em provas
com perguntas "beta" para fins de desenvolvimento do exame, cada prova ter exa-
tamente 60 questes. Portanto, a indicao de peso 3 em um determinado objetivo
indica que havero trs questes sobre o tema na prova (exceto, novamente, no caso
de haver questes beta para fins de desenvolvimento dos exames).

Numerao dos objetivos


A numerao dos objetivos passvel de dvida em funo de sua falta de lineari-
dade. Por isso, os prefixos 1. e 2. foram descartados nessa reviso. Em todos os mo-
mentos em que numeraes como I.xxx.y ou 2.nx.y aparecem, o fazem para citar os
objetivos antigos.

Reduo de contedo duplicado


Em verses anteriores dos objetivos da certificao LPI, alguns tpicos eram aborda-
dos tanto nos exames do nvel 1 quanto nos exames do nvel 2. Em alguns casos, o
mesmo contedo aparecia em diferentes provas dentro do mesmo nvel de certifica-
o. A atualizao dos objetivos buscou reduzir as ocorrncias de contedo duplicado
em diferentes provas ou objetivos.
Contudo, algumas tecnologias - como DNS - so importantes nos dois nveis de
certificao e esto distribudos nos locais apropriados. Por exemplo, na certificao
nvel 1, a abordagem sobre o DNS est restrita configurao do cliente do servio.
Certificao LPL-1

Na certificao nvel 2, a abordagem passa para configurao e segurana de servi-


dores DNS.

Verses de programas
Quando apropriado, as verses especficas de programas so mostradas nos objetivos.
Por exemplo, a abordagem do Kernel 2.4 foi descartada para priorizar a verso 2.6.
As questes relacionadas ao ReiserFS limitam-se verso 3 do sistema de arquivos e
o servidor Bind 8.x no mais abordado na prova.

Alteraes de contedo
A maioria dos servios de rede e demais tarefas administrativas foram movidas para
a certificao nvel 2. O foco da certificao nvel 1 foi mais direcionado para o uso e
administrao de um sistema Linux local. Por exemplo, para obter a certificao nvel
1 ainda necessrio saber lidar com a configurao do NTP e Syslog.

Manuseio de base de dados SQL


Dados armazenados em bases SQL tornaram-se muito relevantes na medida que
esses bancos de dados ficaram mais fceis de administrar e interagir. Para esse novo
objetivo, necessrio saber ler, incluir, atualizar e apagar dados a partir do banco.
Nenhum banco de dados especfico abordado, apenas o padro de instrues SQL.

Acessibilidade
A nova verso da prova de certificao nvel 1 introduz a necessidade de preocupao
com questes de acessibilidade, programas e tecnologias assistivas.

Localizao e internacionalizao
Questes que envolvem outros idiomas alm do ingls so abordados. Inclui con-
figurao de fuso horrio, codificaes de caracteres relevantes e configurao de
ambiente relacionadas.

Criptografia de dados
A utilizao do ssh como ferramenta de segurana para o usurio final ganhou mais
relevncia. Alm disso, tambm abordada a utilizao do GPG (GnuPG).

222
rT

Primeira prova para a cerrificao LPI nvel 1.

Sobre os pesos
O peso total da prova foi estabelecido em 60. Isso significa que, salvo em provas com
perguntas "beta" para fins de desenvolvimento do exame, cada prova ter exatamente
60 questes. Portanto, a indicao de peso 3 em um determinado objetivo indica que
havero trs questes sobre o tema na prova (exceto, novamente, no caso de haver
questes beta para fins de desenvolvimento dos exames).

Tpico 101: Arquitetura de Sistema

101.1 Identificar e editar configuraes de hardware


Q
Peso 2

Os candidatos devem ser capazes de realizar configuraes bsicas de hardware.

Conhecimentos chave
Ativar e desativar perifricos integrados;
Configurao de sistemas para iniciarem sem perifricos externos, como tedados;
Saber as diferenas entre os vrios dispositivos de armazenamento;
Especificar o 1D de hardware correto para diferentes dispositivos,
especialmente o dispositivo de boor;
Conhecer a diferena entre dispositivos co/.dpluge hotp/ug
Identificar os recursos de hardware de um dispositivo;
Ferramentas para mostrar diversas informaes de hardware (/susb, lspci etc);
Ferramentas para manipular dispositivos USB;
Conhecimento conceitual sobre sysfi, udev, hal4 dbus.
Conhecimento bsico das caractersticas do LVM.

Lista parcial de arquivos, termos e ferramentas abordadas


/5)75

/proc
/dev
modprobe
lsmod
lspci
Certificao LPI-1

101.2 Incio (boot) do sistema


Peso 3

Os candidatos devem ser capazes de interagir com o processo de boot.

Conhecimentos chave
Fornecer comandos para o carregador de boot e para o kernel durante o boot;
Mostrar conhecimentos sobre a sequncia de boot, das mensagens de BIOS
at o trmino da inicializao;
Verificar os evenros de boor nos arquivos de log.
Realizar alteraes bsicas na configurao do Grub 2.

Lista parcial de arquivos, termos e ferramentas abordadas


/var/log/messages
dmesg
BiOS
boorloader
kernel
init

101.3 Alternar runlevels, desligar e reiniciar o sistema


Peso 3

Os candidatos devem ser capazes de administrar o nvel de execuo do sistema. Este obje-
tivo indui alternar para o modo single user (usurio nico), desligar ou reiniciar o sistema.
Tambm devem ser capazes de alertar aos usurios antes de mudar o nvel de execuo e
finalizar corretamente os processos. Inclui ainda determinar o nvel de execuo padro.

Conhecimentos chave
Determinar o nvel de execuo padro;
Alternar entre os nveis de execuo, incluindo o modo single user;
Desligar e reiniciar usando a linha de comando;
Alertar aos usurios antes de mudar o nvel de execuo ou outro evento
importante no sistema;
Finalizar corretamente os processos.

Lista parcial de arquivos, termos e ferramentas abordadas


o /etc/inittab

224
Apndice

sFiutdown
init
/etcfinit.d
telinit

Tpico 102: Instalao do Linux & Administrao de Pacotes

102.1 Dimensionar as parties de disco


40
Peso 2

Os candidatos devem ser capazes de elaborar um esquema de particionamento de


disco para um sistema Linux.

Conhecimentos chave
Alocar sistemas de arquivos e espao de swap em parties ou discos distintos;
Ajustar o esquema de parties para a finalidade do sistema;
Assegurar que a partio Iboot esteja adequada arquitetura e que o sistema
seja capaz de iniciar.

Lista parcial de arquivos, termos e ferramentas abordadas


sistema de arquivos / (raiz)
sistema de arquivos Jvar
sistema de arquivos /home
espao de swap
pontos de montagem
parties

102.2 Instalar o gerenciador de inicializao


Peso 2

Os candidatos devem scr capazes de escolher, instalar e configurar um gerenciador


de boot.

Conhecimentos chave
Construir locais ternativos dc boot e fazer becape das opes;
Instalar e configurar um carregador de boot, como o GRUB;
Interagir com o carregador de boot
Certificao LPI-1

Lista parcial de arquivos, termos e ferramentas abordadas


/boot/grub/menu.!sr
grub-install
MBR
superbiock

102.3 Controle das bibliotecas compartilhadas

Peso 1
Os candidatos devem ser capazes de identificar as bibliotecas compartilhadas das
quais os programas dependem e instal-las quando necessrio.

Conhecimentos chave
Identificar bibliotecas compartilhadas;
Identificar as localizaes tpicas de bibliotecas compartilhadas no sistema;
Carregar bibliotecas compartilhadas.
Conhecimento bsico das caractersticas do systemd e Upstart

Lista parcial de arquivos, termos e ferramentas abordadas


ldd
ldconfig
/erclld.so.conf
LD_LIBRARY_PATH

102.4 Utilizao do sistema de pacotes Debian


Peso 3

Os candidatos devem ser capazes de realizar gerenciamento de pacotes utilizando as


Ferramentas de pacotes do Debian.

Conhecimentos chave
Instalar, atualizar e desinstalar pacotcs binrios do Debian;
Encontrar pacotes contendo arquivos ou bibliotecas especficas, instalados ou no;
Obter informaes sobre o pacote, como verso, contedo, dependncias, inte-
gridade de pacote e status de instalao (se os pacotes esto ou no instalados).

Lista parcial de arquivos, termos e ferramentas abordadas


/etc/apt/sources.list

226
Apndice

dpkg
dpkg-reconfigure
apt-get
apt-cache
aptitude

102.5 Utilizao do sistema de pacotes RPM e VUM


Peso 3

Os candidatos devem ser capazes de gerenciar pacotes com as ferramentas do RPM


eYVM.

Conhecimentos chave
Instalar, reinstalar, atualizar e remover pacotes usando RPM e YIJM;
Obter informaes sobre pacotes RPM como verso, status, dependncias,
integridade e assinaturas;
Determinar quais arquivos so fornecidos por um pacote, bem como
descobrir a qual pacote determinado arquivo pertence.

Lista parcial de arquivos, termos e ferramentas abordadas


rpni
rpm2cpio
/ctclyum.conf
Ietclyum.repos.dI
yum
yumdownloader

Tpico 103: Comandos GNU e Unix

103.1 Trabalhar com a linha de comando


P
Peso 4

Os candidatos devem ser capazes de interagir com shells e comandos usando o termi-
nal. O objetivo supe a utilizao do shell bash.

Conhecimentos chave
Utilizar comandos simples e sequncias de comandos no terminal;

227
Certificao 191-1

Utilizar e modificar o ambiente de shel!, incluindo a definio, referncia


e exportao de variveis de ambiente;
Utilizar e editar o histrico de comandos;
Executar comandos localizados dentro e fora do caminho definido pela
varivel PATH.

Lista parcial de arquivos, termos e ferramentas abordadas


bash
echo
env
exec
export
pwd
set
unset
mau
uname
history

103.2 Processar fluxos de texto com o uso de filtros


Peso 3

Os candidatos devem ser capazes de utilizar filtros em fluxos de texto.

Conhecimentos chave
Enviar arquivos e fluxos de sada com o uso de filtros para modificar o resultado
utilizando os comandos padro do UNIX, encontrados no pacote GNU texrutils.

Lista parcial de arquivos, termos e ferramentas abordadas


cai
cut
expand
fmt
head
od
join
nI
paste

228
Apndice

pr
sed
sort
split
tail
tr
unexpand
uniq
wc

103.3 Gerenciamento bsico de arquivos


Peso 4

Os candidatos devem ser capazes de utilizar os comandos bsicos Linux para mani-
pular arquivos e diretrios.

Conhecimentos chave
Copiar, mover e remover arquivos e diretrios individualmente;
Copiar arquivos e diretrios recursivamente;
Remover arquivos e diretrios recursivamente;
Utilizar caracteres curinga simples e avanados nos comandos;
Utilizar ofindpara localizar arquivos baseados no tipo, tamanho ou tempo
e agir sobre o resultado;
Uso do tar, cpio e deli

Lista parcial de arquivos, termos e ferramentas abordadas


cp
find
mkdir
mv
Is
rm
rmdir
touch
tar
cpio
dd
file

229
Certificao LPI-1

gzip
gunzip
bzip2
file globbing

103.4 Fluxos, pipes (canalizao) e redirecionamento de sada


Peso 4

Os candidatos devem ser capazes de redirecionar fluxos e canaliz-los para processar


dados de texto. Inclui redirecionar entrada padro, sada-padro e sada de erro
padro, canalizar a sada de um comando para a entrada de um outro comando, uti-
lizar a sada dc um comando como argumento para outro comando e enviar a sada
para stdout (sada padro) ou para um arquivo.

Conhecimentos chave
Redirecionamento de entrada-padro, sada-padro e erro padro;
Canalizar a sada de um comando para a e.ntrada de um outro comando
utilizando pipei-,
Utilizar a sada de um comando como argumento para outro comando;
Enviar a sada para stdoute para um arquivo.

Lista parcial de arquivos, termos e ferramentas abordadas


tee
xargs

103.5 Criar, monitorar e finalizar processos


Peso 4

Os candidatos devcm ser capazes de realizar o controle bsico de processos.

Conhecimentos chave
Rodar tarefas em primeiro e segundo plano;
Fazem um programa permanecer ativo aps o Iogou
Monitorar processos ativos;
Selecionar e classificar processos vinculados a um disp/.ay,
Enviar sinais para processos.

230
Apndice

Lista parcial de arquivos, termos e ferramentas abordadas


.&
bg
fg
jobs
kill
nohup
5
top
free
uptime
killall

103.6 Modificar a prioridade de execuo de um processo


Peso 2

Os candidatos devem ser capazes dc administrar prioridades de processos em execuo.

Conhecimentos chave
Conhecer a prioridade padro de processos iniciados;
Executar um programa com prioridade maior ou menor que a padro;
Modificar a prioridade de um processo em execuo.

Lista parcial de arquivos, termos e ferramentas abordadas


nice
5
renice
top

103.7 Procurar em arquivos de texto, usando expresses regulares


Peso 2

Os candidatos devem ser capazes de manipular arquivos e textos utilizando expres-


ses regulares. Este objetivo inclui criar expresses regulares simples, contendo diver-
sos padres. Inclui ainda utilizar ferramentas de expresso regular para realizar buscas
em um sistema de arquivos ou no contedo de um arquivo.

231
Certificao LPI-1

Conhecimentos chave
Criar expresses regulares simples, contendo diversos padres;
Utilizar ferramentas de expresso regular para realizar buscas em um sistema
de arquivos ou no contedo de um arquivo.

Lista parcial de arquivos, termos e ferramentas abordadas


grep
egrep
fgrep
sed
regex(7)

103.8 Edio bsica de arquivos com o vi


Peso 3

Os candidatos devem ser capazes dc editar arquivos de texto, utilizando vi. Este ob-
jetivo inclui navegao no vi, modos de execuo bsicos do vi, inserir, editar, apagar,
copiar e encontrar texto.

Conhecimentos chave
Navegar em um documento utilizando vi;
Utilizar modos de execuo bsicos do vi;
Inserir, editar, apagar, copiar e encontrar texto.

Lista parcial de arquivos, termos e ferramentas abordadas


vi
1,?
h,j,k,1
i,o,a
c,d,p,y,dd,yy
ZZ, :w!, :q!, e!

232
Apndice

Tpico 104: Dispositivos, sistemas de arquivos


Linux e padro FHS - Filesystem Hierarchy Standard

104.1 Criar parties e sistemas de arquivos


Peso 2

Os candidatos devem ser capazes dc criar parties de disco e sistemas de arquivo em


dispositivos como discos rgidos. Inclui a manipulao de parries swap.

Conhecimentos chave
Utilizar os vrios comandos mkfi para configurar as parties e criar diversos sistemas
de arquivos como:
ext2
ext3
xfs
reiserfs v 3
vfat
ext4

Lista parcial de arquivos, termos e ferramentas abordadas


fdisk
mkfs
mkswap

104.2 Manuteno da integridade de sistemas de arquivos


Peso 2

Os candidatos devem ser capazes de fazer a manuteno de um sistema de arquivo co-


mum, bem como os dados adicionais associados com wn sistema de arquivo journailing.

Conhecimentos chave
Verificar a integridade dos sistemas de arquivo;
Monitorar espao e inodes livres;
Reparar problemas simples no sistema de arquivos.

Lista parcial de arquivos, termos e ferramentas abordadas


du
df

Pc!']
Certificao LPI-1

fsck
e2fsck
mke2&
debugfs
dumpe2fs
rune2fs
Ferramentas xfsrools (como xfs_metadump e xfs_info)

104.3 Controle da montagem e desmontagem de sistemas de arquivos


Peso 3

Os candidatos devem ser capazes de configurar a montagem de sistemas de arquivos.

Conhecimentos chave
Montar e desmontar manualmente sistemas de arquivos;
Configurar a montagem de sistemas de arquivos na inicializao;
Configurar a montagem por usurios de dispositivos externos.

Lista parcial de arquivos, termos e ferramentas abordadas


/etc/fstab
/media
mount
umount

104.4 Administrar cotas de disco


Peso 1

Os candidatos devem ser capazes de administrar cotas de disco para os usurios.

Conhecimentos chave
Configurar cota de disco para um sistema de arquivos;
Editar, controlar e criar relatrios de cotas de usurios.

Lista parcial de arquivos, termos e ferramentas abordadas


quota
edquota
repquota
quotaon

234
Apndice

104.5 Controlar permisses e propriedade de arquivos


Peso 3

Os candidatos devem ser capazes de controlar o acesso a arquivos pelo do uso apro-
priado das permisses e propriedades.

Conhecimentos chave
Definir permisses para arquivos comuns, especiais e diretrios;
Permisses de acesso como suieh sgide o sticky bit para fortalecer a segurana;
Saber como mudar a mscara de criao de arquivos;
Utilizar o campo de grupo para permitir o acesso aos membros de um grupo.

Lista parcial de arquivos, termos e ferramentas abordadas


chmod
umask
chown
chgrp

104.6 Criar e alterar links simblicos e hardlinks


Peso 2

Os candidatos devem ser capazes de criar e operar links simblicos e hardlinks.

Conhecimentos chave
Criar links;
Identificar links fsicos e/ou simblicos;
Diferenas entre copiar e "linkar" arquivos;
Utilizar links para finalidades administrativas de sistema.

Lista parcial de arquivos, termos e ferramentas abordadas


In

104.1 Encontrar arquivos de sistema e conhecer sua localizao correta


Peso 2

Os candidatos devem ser capazes de entender bem o FHS - Filesystem Hierarchy


Standard (Hierarquia Padro de Sistema de arquivos), as localizaes tpicas de arqui-
vos e as classificaes de diretrios.

235
Certificao LPI-1

Conhecimentos chave
Entender a localizao correta dos arquivos no FHS;
Encontrar arquivos e comandos num sistema Linux;
Conhecer a localizao e o ptopsito dos arquivos e direttios importantes
como definidos no FHS.

Lista parcial de arquivos, termos e ferramentas abordadas


find
locate
updatedb
wheteis
which
type
Jetdupdatedb.conf

Sfl' 11JjtiiJ. flE t

Segunda prova para a certificao LPI nvel 1

Sobre os pesos
O peso total da prova foi estabelecido em 60. Isso significa que, salvo em provas com
perguntas "beta" para fins de desenvolvimento do exame, cada prova ter exatamente
60 questes. Portanto, a indica5o de peso 3 em um determinado objetivo indica que
havet trs questes sobre o tema na prova (exceto, novamente, no caso de haverem
questes beta para fins de desenvolvimento dos exames).

Tpico 105: Shelis, scripts e administrao de dados

105.1 Personalizar e trabalhar no ambiente Shell


Peso 4

Os candidatos devem ser capazes de configurar o ambiente de shell para satisfazet as ne-
cessidade dos usurios. Tambm devem saber alterar perfis gerais e especficos de usurios.

236
Apndice

Conhecimentos chave
Criao de variveis de ambiente (como PATIM no login ou quando um
novo shell disparado;
Escrever funes BASH para sequencias de comandos utilizadas frequentemente;
Manter um csquema de direrrios para novas contas de usurio;
Definir o caminho de busca de comandos com o diretrios apropriado.

Lista parcial de arquivos, termos e ferramentas abordadas


/etc/profile
env
export
set
unset
-/.basLproflie
-/.bash_login
-/.profile
-/.bashrc
-/.bash_logout
function
alias
lists

105.2 Editar e escrever scripts simples


Peso 4

Os candidatos devem ser capazes de editar scripts existentes e escrever simples scripts BASH.

Conhecimentos chave
Uso sintaxe sh padro, como laos (loops) e testes;
Utilizar substituio de comando;
Verificar se a reposta produzida por um comando corresponde a sucesso ou
falha e analisar outras respostas de comandos;
Selecionar corretamente o interpretador pelo uso do shebang (#O;
Administrar a localizao, propriedade, direito de execuo e permisso suid.

Lista parcial de arquivos, termos e ferramentas abordadas


for
while

237
Certificao LPI-1

test
if
read
chmod
seq

105.3 Administrao de dados SQL.


Peso 2

Os candidatos devem ser capazes de consultar bancos de dados e manipular informa-


es utilizando comandos SQL bsicos. Este objetivo inciui a realizao de consultas
que compreendam a unio de duas tabelas e/ou subconjuntos.

Conhecimentos chave
Uso de comandos SQL bsicos;
Manipulao bsica de dados.

Lista parcial de arquivos, termos e ferramentas abordadas


insert
update
select
delete
from
where
group by
orderby
join

Tpico 106: Interfaces de usurio e Desktops

106.1 Instalar e configurar o Xli


Peso 2

Os candidatos devem saber instalar e configurar o Xli.

Conhecimentos chave
Verificar se o servidor X suporta a placa de vdeo e o monitor;

238
Apndice

Conhecimento sobre o servidor de fontes do X.


Conhecimento bsico do arquivo de configurao X.

Lista parcial de arquivos, termos e ferramentas abordadas


Jetc/X1 1/xorg.conf
xhost
DISPLAY
xwininfo
xdpyinfo
.
x

106.2 Configurar o gerenciador de login grfico


Peso 2

Os candidatos devem ser capazes de configurar e adaptar um ambiente grfico. Este


objetivo contempla os gerenciadores XDM (X Display Manager), GDM (Gnome
Display Manager) e KDM (KDE Display Manager).

Conhecimentos chave
Ativar ou desarivar o login grfico;
Alterar a saudao do login grfico;
Alterar a profundidade de cor padro do login grfico;
Configurar o login grfico para ser usado em X-stations.

Lista parcial de arquivos, termos e ferramentas abordadas


/etc/inittab;
Arquivos de configurao do xdm;
Arquivos de configurao do kdm;
Arquivos de configurao do gdm.

106.3 Acessibilidade
Peso 1

Os candidatos devem demonstrar conhecimento e preocupao acerca de tecnologias


de acessibilidade.

Conhecimentos chave
Configuraes de acessibilidade de teclado (AccessX);

239
Certificao LPI-1

Temas e configuraes visuais;


Tecnologias assistivas (TAs).

Lista parcial de arquivos, termos e ferramentas abordadas


Segurar/Repetir teclas;
Desacelerar/inverter/trocar teclas;
Teclas do mouse;
Temas de desktop de alto contraste e tamanho;
Leitor de tela;
Mostrador Braille;
Ampliador de tela;
Teclado em tela;
Cestos (usados no login, no gdm por exemplo);
Orca;
GOK;
emacspeak.

E Tpico 107: Tarefas administrativas

107.1 Administrar contas de usurio, grupos e arquivos


de sistema relacionados
Peso 5

Os candidatos devem ser capazes de adicionar, remover, suspender e modificar contas


de usurio.

Conhecimentos chave
Adicionar, modificar e remover usurios e grupos;
Manipular as informaes do usuriolgrupo nos registros de contas e grupos;
Criar e administrar contas restritas e com finalidades especficas.

Lista parcial de arquivos, termos e ferramentas abordadas


/etc/passwd
/etc/shadow
/etc/group
/etc/skel
chage

240
Apndice

groupadd
groupdel
groupmod
passwd
useradd
userde!
usermod

107.2 Automatizar e agendar tarefas administrativas de sistema


Peso 4

Os candidatos devem ser capazes de utilizar o cron ou anacron para executar traba-
!hos em intervalos regulares e usar o az' para executar trabalhos em um momento
especfico.

Conhecimentos chave
Controlar agendamentos cron e at
Configurar o acesso de usurios aos servios cron e ai'.

Lista parcial de arquivos, termos e ferramentas abordadas


/etc/cron.{d,daily,hourly,monthly,weekly}
/etc/at.deny
/etc/at.allow
fetc/crontab
fetc/cron.allow
fctc/cron.deny
fvar/spool/cron /*
croncab
at
atq
atrm

107.3 Localizao e internacionalizao


Peso 3

Os candidatos devem ser capazes de configurar um sistema para um idioma dife-


rente do ingls. Tambm devem compreender o motivo da utilizao de LANG=C
em scripts.

241
Certificao LPI-1

Conhecimentos chave
Configuraes de localizao;
Configuraes de fuso horrio.

Lista parcial de arquivos, termos e ferramentas abordadas


/etcltimezone
/etc/localtime
/usr/share/zoneinfo
Variveis de ambiente:
LC_*
LCALL
LANG
/usr/bin/!ocaie
tzselect
tzconfig
date
iconv
UTF-8
150-8859
ASCII
Unicode

Tpico 108: Servios essenciais do sistema

108.1 Manuteno de data e hora do sistema


Peso 3

Os candidatos devem ser capazes de fazer apropriadamente a manuteno de data e


hora do sistema e sincronizar a hora via NTP.

Conhecimentos chave
Definir a data e a hora do sistema;
Definir a data e hora de BIOS para a zona UTC correta;
Configurar o fuso horrio correto;
Configurao bsica do NTP;
Saber como utilizar o servio pool.ntp.org .

242
Apndice

Lista parcial de arquivos, termos e ferramentas abordadas


/usr/share/zoneinfo
/etcltimezone
/etc/localtime
/etc/ntp.conf
date
hwclock
ntpd
ntpdate

108.2 Configurar e recorrer a arquivos de Iog


Peso 2

Os candidatos devem ser capazes de configurar o datmon syslog. Este objetivo con-
templa a configurao do daemon de log para enviar a sada para um servidor central
ou para receber logs de outras mquinas.

Conhecimentos chave
Arquivos de configurao do syslog;
syslog;
Pari/ides, priorities e actions padro.

Lista parcial de arquivos, termos e ferramentas abordadas


syslog.conf
syslogd
ldogd
!ogger

108.3 Fundamentos de MTA (Mali Transfer Agent)


Peso 3

Os candidaros devem conhecer os programas MTA mais comuns e ser capazes de


realizar opera5es bsicas como redirecionar e criar aliases. Demais arquivos de con-
figurao no so abordados.

Conhecimentos chave
Criar aliases de emai!;
Configurar redirecionamento de emai!;

243
Certificao 111-1

Conhecimentos sobre os programas MTA mais comuns (postfix, sendmai!,


qmail, exim), exceto configurao.

Lista parcial de arquivos, termos e ferramentas abordadas


-I.forward
Comandos na camada de emulao do sendmail
newaliases
mailq
postfix
sendmail
exim
qmail

108.4 Configurar impressoras e impresso


Peso 2

Usando o CUPS e a interface de compatibilidade LPD, os candidatos devem ser


capaies de administrar filas de impresso e as tarefas de impresso de usurios.

Conhecimentos chave
Configurao bsica do CUPS (para impressoras locais e remotas);
Administrar fila de impresso de usurio;
Resoluo de problemas referentes impresso;
Incluir e excluir tarefas de impresso em filas configuradas.

Lista parcial de arquivos, termos e ferramentas abordadas


Arquivos de configurao do CUPS, ferramentas e utilitrios;
/etc/cups;
Interface legada lpd (lpr, lprm, lpq).

Tpico 109: Fundamentos de rede


LI&]

109.1 Fundamentos dos protocolos de Internet


Peso 4

Os candidatos devem demonstrar conhecimento slido sobre os fundamentos de


redes TCP/IP

244
Apndice

Conhecimentos chave
Entendimento sobre mscaras de rede;
Diferenas entre endereos IP "dorted quad" privados e pblicos;
Definio de rota padro;
Conhecimento acerca de portas TCP e UDP comuns (20, 21, 22, 23, 25, 53,
80, 110, 119, 139, 143, 161, 443, 465, 993, 995);
Saber as diferenas entre UDP, TCP e ICMP e suas caractersticas;
Conhecer as diferenas principais entre IPv4 e IPv6,
Conhecimento bsico de IPv6

Lista parcial de arquivos, termos e ferramentas abordadas


/etc/services
ftp
telnet
host
ping
dig
traccroute
tracepath

109.2 Configurao bsica de rede


Peso 4

Os candidatos devem ser capazes de identificar, modificar e verificar a configurao


de rede nas mquinas clientes.

Conhecimentos chave
Realizar configurao manual e automtica de interfaces de rede;
Configurao bsica de TCP/IP

Lista parcial de arquivos, termos e ferramentas abordadas


/etc/hostname
/etc/hosts
/etcfresolv.conf
/etc/nsswitch.conf
ifconflg
ifup
ifdown

245
Certificao LPI-1

route

109.3 Solues para problemas de rede simples


Peso 4

Conhecimentos chave
Configurar manual e automaticamente interfaces de rede e tabelas de rotas,
incluindo incluir, iniciar, interromper, reiniciar, remover e reconfigurar inter-
Faces de rede;
Alterar, identificar e configurar a tabela de rotas e corrigir manualmente uma
rota padro definida incorretamente;
Analisar problemas associados configurao de rede.

Lista parcial de arquivos, termos e ferramentas abordadas


ifconfig
iRip
ifdown
route
host
hosiname
dig
netstat
ping
traceroute

109.4 Configurar DNS cliente


Peso 2

Os candidatos devem ser capazes de configurar o DNS no lado do cliente.

Conhecimentos chave
Utilizao de DNS no sistema local;
Alterar a ordem em que a resoluo de nome ocorre.

Lista parcial de arquivos, termos e ferramentas abordadas


/etdhosts
/etc/resolv.conf
/etc/nsswitch.conf

246
Apndice

Tpico 110: Segurana

110.1 Tarefas administrativas de segurana


Peso 3

Os candidatos devem saber examinar a configurao do sistema e garantir que este-


jam de acordo com as polticas locais de segurana.

Conhecimentos chave
Localizar no sistema arquivos com o suidisgid bit aplicado;
Definir ou modificar senhas e validade de senha;
Saber utilizar o nmap e netstat para descobrir portas abertas em um sistema;
Limitar logins de usurios, processos e uso de memria;
Utilizao bsica do suda.

Lista parcial de arquivos, termos e ferramentas abordadas


find
passwd
lsof
nmap
chage
netstat
sudo
fetc/sudoers
su
usermod
ulimir

110.2 Segurana do host


Peso 3

Os candidatos devem saber como configurar minimamente a segurana bsica do host.

Conhecimentos chave
Conhecer o funcionamento de senhas shadou
Desligar os servios de rede desnecessrios;
Entender a aplicao de TCP wrappers.
Revogar uma chave.

247
Certificao LPI-1

Lista parcial de arquivos, termos e ferramentas abordadas


/etc/nologin
/etc/passwd
/ctc/shadow
/ etc/xi netd . d/*
/etc/xinetd.conf
/ etc/i net. d/*
/erc/inerd.conf
Ietclhosts.allow
/etc/hosts.deny

110.3 Proteo de dados com criptografia


Peso 3

Os candidatos devem saber como utilizar chaves pblicas para proteger dados e co-
municaes.

Conhecimentos chave
Configurao e uso bsicos do cliente OpenSSH 2;
Entender a aplicao de chaves de servidor OpenSSH 2;
Configurao e uso bsicos do GnuPG;
Compreenso de tneis deporta por SSH (incluindo tneis Xli).

Lista parcial de arquivos, termos e ferramentas abordadas


ssh
ssh-keygen
ssh-agent
ssh-add
-/.ssh/id_rsa e id_rsa.pub
-I.sshlid_dsa e id_dsa.pub
/etc/ssh/ssh_host_rsa_key e /etcfssh/ssh_host_rsa_key.pub
/etc/sshfssh_host_dsa_key e fetc/ssh/ssh..host_dsa_keypub
-/.ssh/authorized_keys
/etc/ssh_known_hosts
gpg
_/.gnupg l*

248
Respostas
Tpico 101

1. B
2.0
3-A
4W
5. /dcv/hda2
6. B
7.A
8. runlevel
9-A e B
1o.c

Tpico 102

LD
2. B
3.CeD
4.0
5.A
6. ldd
7. /etc/Id.so.conf
8.0
9.A
10. A

Tpico 103

1.D
2. B
3.D
4. B
5.D
6.0
7. tee
8.8 e D
9.D
LO. D

250
Respostas dos exerccios

Tpico 104

1.8
2. tune2fs -i /dev/sda3
3. swapon
4. fsck
5.D
6.8
7.D
8.D
9. C
10. find

Tpico 105

1.D
2.D
3. B
4.D
5W
6. A
7. B
8.D
9. C
lo. c

Tpico 106

1. B
2.D
3. A
4.D
5.0
6. xdrn-conhg
7.A
8. Orca
9.A
10. GOK

251
Certificao LPI-1

Tpico 107

1.AeB
2.0
3.A, CeD
4. pwconv
5. chsh
6.A
7. vigr
8. *130 * * * * fusr/bin/backup.sh
9.A
1O.D

Tpico 108

1. A
2. A
3. Ietclntp.conf
4. ntpdate
5. B
6. logger
7. 3
8.A
9.0
1O.D

Tpico 109

LD
2. A
3.D
4. 3
5. A e D
6. route add defhulc gw 192.168.1.250
7. dig
8.c
9.A
10. 3

252
Respostas dos exerccios

Tpico 110

1.A
2. B
3. nmap
4.D
5. C
6. B
7. B
8.A
9. authorized_keys
1o.c

253
a,
Agora que voce ja est prontoaais provas do nvel 1,
que tal se pepartjara o nvel 2?

L inux Pro
COLEO

LI

garanta j o seu pelo site www.linuxmagazine.com.br


v4
t Lt':. :)

tu,ndon. *400.11,, 4*10.0*0 0*4 000*00 *ol1,.O,.


O 'FTttVAIi -

COMPUTAO EU iWVEM CHEGA NRALMEUTI A MATUNIDADE COM NOVAS (IRRAMENTAS


QUE PAtIUTAM A AIMUIISTIAAO E O MOMITUAMENTU DE SUA INFRAESTRUI1JRA.
SAIBA QUAIS SO AS MUDANAS QUE *55011112 FAIA O tEMAm. DE 11. PO31
1a0Iira9' . ,,e s..t lrOtd 1Da.l1I!,.,s:.riLa.;. 1!. . .o*fl 0* 0aIShIdiIM Pfl
aU - , flr! .....a....a,l,4*00q.fltr,SIflgI2Jl Pfl
.1 FIOnt 01,fIen0R ttlCGFa.!iIk , .... a 4..0 p*2

NflROIU p45
Comace o pn.qromo, .pllcoll.to pan a
pIaIalo.iiit - maio cinco no mondo

C1IJStKS
Gononclomonlo Oaril do moltoolas bibIloInoino
* cotomilaloreo com mt*tJlelIlei --

1 *
Entenda comi i 0*04*4.0W to.Tdtt. O Ii
ao.neeoenao.oac0s19P O
.

BANCO [JE OMiOS


4dmlnt5Ira000 de boneos 4* Ialoi
e oobmlos Come Ele.. O Cloro

toolirlo rrroltoc001aI.0000IC140euoamarJlir!at4.72 II ,J1E ij-j


I lem nIL.10ra! t di triboir,00l. *4 N pepsi.. p.1*
dir'ir o.' n'na' 1 zadr oe: ConTe - S*4I ttJ:;tF jj:i

IWflLUNUXMAOAZNE.COMSR

Somente os profissionais que se mantm atualizados garantem sucesso e reconhecimento


profissional. Todo ms a Linux Magazine leva ao leitor as informaes mais recentes e relevantes
sobre mercado, novas tecnologias, ferramentas e procedimentos que todo profissional
Linux qualificado precisa dominar.
Acesse o site e conhea as diferentes modalidades de assinatura

www.linuxmagazine.com.br
Na produ&, sae livro, ffluizamos as famllLas t.pograllcas.
Garamond, ffC FrankJi GothIc, Heivelca Neja, HeKelica LT e Inleratate
O mlo do livro Icx impresso Oro papel Offsel 75 g e a capa
em papel Carto 230 g com an'anao BOPP Orto.
lnprso por AR Ocnneley.