Академический Документы
Профессиональный Документы
Культура Документы
www.4linux.com.br
Sumrio
Captulo 1
Instalao do Sistema................................................................................................................ 9
1.1. Objetivos......................................................................................................................... 9
1.2. Introduo Terica........................................................................................................ 10
1.3. Prtica Dirigida............................................................................................................. 10
1.3.1. Seleo do idioma / layout de teclado................................................................................. 11
1.3.2. Confgurando a Rede e Hostname....................................................................................... 16
1.3.3. Planejamento do Esquema de Particionamento...................................................................18
1.3.4. FHS - Filesystem Hierarchy Standard ................................................................................ 19
1.3.5. Diretrios Obrigatrios........................................................................................................19
1.3.6. Diretrios Opcionais............................................................................................................ 21
1.3.7. Diretrios Recomendados....................................................................................................21
1.3.8. Tipos de Parties................................................................................................................22
1.3.9. Sistemas de Arquivos...........................................................................................................23
1.3.10. Confgurar o fuso horrio.................................................................................................. 24
1.3.11. Particionando o Disco Rgido............................................................................................. 25
1.3.12. Confrmando o particionamento........................................................................................ 26
1.3.13. Instalando o Sistema......................................................................................................... 28
1.3.14. Confgurar usurios e senhas............................................................................................ 29
1.3.15. Confgurar o gerenciador de pacotes................................................................................ 30
1.3.16. Instalao do boot loader.................................................................................................. 31
1.3.17. Finalizando a Instalao e Reiniciando o Sistema............................................................. 32
3
Captulo 3
Compilando Programas............................................................................................................ 45
3.1. Objetivos....................................................................................................................... 45
3.2. Introduo Terica........................................................................................................ 46
3.2.1. Confgure............................................................................................................................. 46
3.2.2. Makefle............................................................................................................................... 47
4
6.2.3. Nveis...................................................................................................................................74
6.2.4. Destinos............................................................................................................................... 75
6.2.5. Arquivos importantes ........................................................................................................ 76
5
Captulo 9
Gerenciando Processos.......................................................................................................... 112
9.1. Objetivos..................................................................................................................... 112
9.2. Introduo Terica...................................................................................................... 113
9.3. Prtica Dirigida........................................................................................................... 115
9.3.1. Formas de Visualizao de Processos................................................................................115
9.3.2. Gerenciando Processos......................................................................................................117
9.3.3. (re-)Defnindo a Prioridade dos Processos ........................................................................118
9.3.4. Planos de Execuo........................................................................................................... 118
6
12.3. Prtica Dirigida......................................................................................................... 146
12.3.1. Identifcando Dispositivos................................................................................................150
7
14.6. Laboratrio................................................................................................................181
Captulo 15
TCP Wrappers........................................................................................................................ 182
15.1. Objetivos................................................................................................................... 182
15.2. Introduo Terica.................................................................................................... 183
15.3. Prtica Dirigida......................................................................................................... 183
Captulo 16
Servidor de Impresso........................................................................................................... 185
16.1. Objetivos................................................................................................................... 185
16.2. Introduo Terica.................................................................................................... 186
16.3. Prtica Dirigida ........................................................................................................ 186
16.4. Exerccios Tericos................................................................................................... 192
Captulo 17
Compilao do Kernel............................................................................................................ 193
17.1. Objetivos................................................................................................................... 193
17.2. Introduo Terica.................................................................................................... 194
17.3. Prtica Dirigida......................................................................................................... 195
Captulo 18
Gerenciadores de Boot........................................................................................................... 200
18.1. Objetivos................................................................................................................... 200
18.2. Introduo Terica.................................................................................................... 201
18.2.1. GRUB............................................................................................................................... 201
8
BIBLIOGRFICAS.................................................................................................................. 212
ndice de tabelas
ndice de Figuras
Captulo 1
Instalao do Sistema
1.1. Objetivos
do
nosso
servidor,
facilitando
administrao
as
futuras
atualizaes.
podemos
importante conhecermos essa opo pois no futuro podemos nos deparar com
mquinas que possuem hardware especfcos, como controladoras RAID, que
02. 06. 26
Modo
Linux
Modo
Expert
4) Escolha do idioma:
9) Tipo do teclado:
10)
Layout br-abnt2:
11)
Detectar o CD-Rom:
12)
CD-ROM Detectado:
Carregar componentes:
14)
Selecionar componentes:
bsicos
para
instalao,
instalador
tentar
carregar
as
Endereo IP
192.168.200.X
Mscara de rede
255.255.255.0
Gateway Padro
192.168.200.254
200.176.2.10
Hostname
microX
Domain Name
com.br
15)
16)
Confgurar a rede:
No obter IP automaticamente:
DEVICE
PONTO DE MONT.
TAMANHO
FILESYSTEM
Pri
/dev/sda1
/boot
256 MB
EXT3
Pri
/dev/sda2
3000 MB
EXT3
Pri
/dev/sda3
/home
10000 MB
EXT3
Log
/dev/sda5
/usr
10000 MB
EXT3
Log
/dev/sda6
/var
10000 MB
EXT3
Log
/dev/sda7
/tmp
1000 MB
EXT3
Log
/dev/sda8
/var/log
3000 MB
EXT3
Log
/dev/sda9
swap
1024 MB
SWAP
Log
/dev/sda10
NAO MONTAR
512 MB
SEM FS
Log
/dev/sda11
NAO MONTAR
512 MB
SEM FS
Log
/dev/sda12
NAO MONTAR
512 MB
SEM FS
Log
/dev/sda13
NAO MONTAR
512 MB
SEM FS
Log
/dev/sda14
NAO MONTAR
512 MB
SEM FS
1. / diretrio raiz (root) do sistema. Abaixo dele devem estar contidos todos os
outros subdiretrios;
2. /boot contm os arquivos necessrios para o boot do sistema, como os arquivos
do boot loader e a imagem do kernel;
programas proprietrios;
11.
13.
Outros diretrios que podem estar disponveis mas no precisam ter o nome
sugerido so:
Dica LPI: Na Prova ser cobrado assunto sobre a FHS. Como, por exemplo:
Qual o diretrio menos importante do qual deve-se fazer backup? A
resposta /tmp.
nos
ext4 a mais nova verso desse flesystem de sucesso. Muito mais rpido do
que seus predecessores, permite ainda, a manipulao de arquivos com mais
de 2Gb de tamanho.
xfs um
interessantes
sendo
otimizado
para
escalabilidade.
Recomendado
para
utilizao em sistemas com HD SCSI e fbra ptica. Como o xfs faz muito cache
dos dados em trnsito na memria RAM e muitos programas mal projetados
no tomam precaues na hora de escrever arquivos no disco (h muitos
programas que fazem isso), se houver uma falha de energia durante escritas
em disco podem ocorrer perdas de dados. Sugerimos utilizao em ambientes
preparados para fornecer alta disponibilidade de energia como no-breaks.
mtodo
antigo
de
determinao
astronmica
pelo
mtodo
de
determinao atmica.
Considerando que estamos em So Paulo, sede da 4Linux, escolheremos
Amricas e em seguida So Paulo; dessa forma teremos confgurado nossa
timezone.
18)
Confgurar o relgio:
20)
Detectar discos:
22)
Particionar Discos:
24)
Particionamento Manual, e com espao livre para montagem
de parties:
Formatando as parties:
26)
28)
Aps a defnio da senha do root, crie uma conta de usurio comum sendo o
nome completo do usurio "aluno ", login name "aluno" e senha 123456.
OBS: recomenda-se que o nome de login dos usurios seja uma combinao de
seu nome e sobrenome afm de evitar ataques por brute force.
30)
Gerenciar pacotes:
32)
No utilizar espelhos de rede, e nem fazer atualizaes de
links do Debian. Aps essas modifcaes, iremos selecionar os
softwares:
Depois de instalar o boot loader, vir a tela informando que a instalao est
fnalizada.
34)
Captulo 2
Instalao de Programas
2.1. Objetivos
Iremos aprender como gerenciar esses dois programas e suas diferenas, isso
porque se tratam dos dois gerenciadores de pacotes mais importantes e
populares do universo Gnu/Linux.
Por trs do gerenciador de pacotes est o banco de dados RPM. Ele consiste de
uma lista duplicada, que contm todas as informaes de todos os RPM instalados. O
banco de dados lista todos os arquivos que so criados ou modifcados quando um
usurio instala um programa e facilita a remoo destes mesmos arquivos. Se o
banco de dados fca corrompido (o que acontece facilmente se o cliente de RPM
fechado
subitamente),
as
ligaes
duplas
garantem
que
eles
possam
ser
10)
# cd /media/cdrom/pool/main/g/gpm
# dpkg -i libgpm2<versao>.deb
11)
# dpkg -l libgpm2
12)
Determine onde
aplicativo libgpm2:
# dpkg -L libgpm2 | more
esto
instalados
todos
os
arquivos
do
onde
sero
instalados
todos
os
arquivos
do
14)
# dpkg -r libgpm2
15)
# dpkg -l libgpmg2
16)
Verifque
removidos:
se
seus
respectivos
arquivos
tambm
foram
17)
# dpkg -P libgpm2
com
aptitude
# vim /etc/apt/sources.list
deb
http://192.168.1.1/debian
lenny
main
temos
que
confgurar
10)
# fle sl*
# fle ccze*
7) Instale os programas:
# rpm -ih --percent sl--<versao>.rpm
# rpm -ih --percent ccze--<versao>.rpm
11)
# rpm -e ccze
12)
# rpm -qa
# rpm -q ccze
13)
Para realizar uma atualizao de verso de algum programa
podemos utilizar o comando:
# rpm -Uh pacote-<versao>.rpm
14)
Verifque a integridade de todos os pacotes instalados no
sistema:
# rpm -Va
2.5. Laboratrio
1) Instale o pacote sudo;
2) Consulte a documentao do sudo;
3) Implemente o sudo na mquina com as regras do instrutor;
4) Faa testes locais em sua mquina.
Captulo 3
Compilando Programas
3.1. Objetivos
3.2.1. Confgure
Em geral, sempre que pegamos o cdigo fonte de um programa ele vir com
um aplicativo chamado confgure que ir executar uma verifcao em seu sistema
para identifcar se ele dispe de todos os componentes bsicos para uma compilao
bem sucedida.
Alm disso, quando consultamos a ajuda do confgure ele ir nos mostrar
todas as funcionalidades que podemos adicionar ou remover do programa para que
3.2.2. Makefle
10)
Aps compilarmos o programa, podemos remover os arquivos
binrios e de objetos que foram criados durante a compilao:
# make clean
3.5. Laboratrio
Leia tambm:
Captulo 4
Bibliotecas
4.1. Objetivos
Mesmo depois que um programa esteja instalado precisamos nos certifcar que
as suas bibliotecas foram carregadas;
Captulo 4 Bibliotecas 53
4.2. Introduo Terica
Hoje em dia muito simples instalar um programa j compilado, com a ajuda
de gerenciadores de pacotes como rpm, dpkg, aptitude e outros. Mas voc vai
encontrar muitos programas disponveis somente em cdigo-fonte, e s vezes nem
to bem documentados assim. Entretanto, compilar um programa no algo de outro
mundo, no um bicho de sete cabeas. A funo destas bibliotecas lembra um
pouco a dos arquivos .dll no Windows. Existem bibliotecas estticas e dinmicas.
As dinmicas so usadas por vrios programas e necessrias para instalar programas
distribudos em cdigo fonte (os famosos arquivos tar.gz).
Captulo 4 Bibliotecas 54
Exemplo de executvel esttico:
# aptitude install module-assistant
# ldd /usr/bin/module-assistant
not a dynamic executable
Exemplo de executvel compartilhado:
# ldd /bin/ln
linux-gate.so.1 => (0xffe000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7ded000)
/lib/ld-linux.so.2 (0xb7f29000)
Verifcando tamanhos:
# du -h /usr/bin/module-assistant ; du -h /bin/ln
64K /usr/bin/module-assistant
40K /bin/ln
Note que um executvel esttico bem maior que o executvel dinmico, isso
ocorre pois o esttico j contm o que precisa dentro do prprio executvel.
Obviamente, bibliotecas compartilhadas tendem a gerar executveis menores.
arquivo da
Captulo 4 Bibliotecas 55
O padro usar bibliotecas compartilhadas, e geralmente a deciso
mais
sbia, mas todas as bibliotecas necessrias precisam estar presentes no sistema para
o perfeito funcionamento do executvel.
No Linux, bibliotecas estticas tm nomes como libname.a, enquanto
bibliotecas compartilhadas so chamadas libname.so.x.y.z onde x.y.z alguma
forma de nmero de verso.
A ltima fase do desenvolvimento de um software a biblioteca, ou seja, reunir
todas as partes fundamentais para haver execuo. Existem tarefas que a maioria
dos softwares iram querer realizar como abrir arquivos, por exemplo, e esse tipo de
tarefa realizada atravs de bibliotecas. No Linux, as bibliotecas podem ser
encontradas, normalmente, em /lib e /usr/lib/.
Captulo 4 Bibliotecas 56
dizendo ao programa que quando for executado, ele ter que carregar primeiro esta
biblioteca. Diversos programas, para no terem sempre que reinventar a roda,
usam bibliotecas, como a libc, por exemplo.
Captulo 4 Bibliotecas 57
4) Portanto, ainda existe uma biblioteca, porque a que acabamos de
mover era apenas um link simblico (veremos mais tarde com
detalhes). Ento:
# ls -l /lib/libresolv.so.2
# mv /lib/libresolv.so.2 /lib/teste-2
a biblioteca
libresolv.so.2, pois
Captulo 4 Bibliotecas 58
10)
# ping -c 2 -w 2 192.168.200.254
11)
O arquivo /etc/ld.so.conf contm os diretrios onde procurar
dependncias:
# cat /etc/ld.so.conf
/lib e /usr/lib j esto automaticamente inclusas!
12)
Existe tambm a varivel de ambiente LD_LIBRARY_PATH, que
instrui o carregador dinmico para checar um certo diretrio:
# export LD_LIBRARY_PATH=/usr/lib/velho:/opt/lib/novo
13)
Temos tambm outro arquivo chamado /etc/ld.so.cache, que
contm uma lista de todas as bibliotecas compartilhadas que ld.so
ou ld-linux.so iro procurar na mquina. Esse arquivo sempre
gerado e atualizado por ldconfg baseando-se no arquivo
/etc/ld.so.conf:
# fle /etc/ld.so.cache
Captulo 4 Bibliotecas 59
4.4. Exerccios Tericos
Captulo 4 Bibliotecas 60
Captulo 5
Data e Hora do Sistema e Servidor de
NTP
5.1. Objetivos
2)
10)
Como o horrio da BIOS est diferente do horrio do sistema,
vamos sincroniz-los considerando que o horrio do sistema o
correto:
# hwclock -w
# date
Dica
LPI:
No
se
esquea
que
comando
ntpdate
serve
para
2) RedHat:
# yum install ntp
8) Vamos
determinar
se
a
sincronizao
est
funcionando
corretamente. Para isso vamos alterar a hora do sistema e depois
iniciar o servio de NTP:
# date 010101012009
# /etc/init.d/ntp stop
10)
Depois disso, vamos reiniciar o daemon do ntp-server para
que ele sincronize e passe a ser um servidor NTP:
# /etc/init.d/ntp restart
11)
sincronizao:
# tail -f /var/log/syslog
12)
5.5. Laboratrio
1) Visualize os trabalhos que esto agendados para seu usurio;
2) Insira uma regra para que o horrio seja sincronizado todos os dias, menos
aos domingos, as 00:00;
3) Liste os agendamentos do seu usurio. Veja se o daemon do Ntp e do
Ntpdate esto ativos. Veja se j existe alguma entrada nos agendamentos
do sistema.
Captulo 6
Rsyslog
6.1. Objetivos
Captulo 6 Rsyslog 73
6.2. Introduo Terica
A necessidade de registro das atividades dos usurios e servios dos sistemas
notoriamente, muito importante para Administradores de Sistemas. A norma NBR
ISO/IEC 27002 recomenda no item 10.10.1 as seguintes caractersticas de um
sistema de logs:
1. Identifcao dos usurios;
2. Datas e horrios de entrada e sada de terminais;
3. Hostname ou endereo IP, para servios acessados via rede;
4. Registro das tentativas de acessos aceitos e rejeitados.
Captulo 6 Rsyslog 74
6.2.2. Facilidades do Rsyslog
daemon
Outros
servios
do
sistema
que
no
possuem
facilidades
especfcas.
Captulo 6 Rsyslog 75
6.2.4. Destinos
arquivo
comum.
Captulo 6 Rsyslog 76
6.2.5. Arquivos importantes
/var/log/tudo.log
Captulo 6 Rsyslog 77
Dica RedHat:
# service rsyslog restart
@192.168.200.X
Captulo 6 Rsyslog 78
4) Reinicialize o servio Rsyslod:
# /etc/init.d/rsyslog stop
# /etc/init.d/rsyslog start
Captulo 6 Rsyslog 79
Para isso, edite o arquivo /etc/logrotate.conf:
# vim /etc/logrotate.conf
#Definindo rotao de logs semanalmente
weekly
# Manter os logs de 4 semanas
rotate 4
# Criar um arquivo novo para cada rotao de logs
create
# Descomente caso queira compactar os logs em formato .gz
compress
# Todo arquivo dentro deste diretrio ser considerado como uma
configurao de log rotate.
include /etc/logrotate.d
# Configuraes para wtmp e btmp
/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0664 root utmp
rotate 1
}
# system-specific logs may be configured here
Captulo 6 Rsyslog 80
2) Inclua no arquivo o seguinte contedo:
/var/log/*.err /var/log/*.info {
daily
size 5M
sharedscripts
postrotate
/usr/bin/pkill -1 rsyslog
endscript
rotate 5
}
Captulo 6 Rsyslog 81
5) Redirecione o arquivo teste.err.1 para o arquivo teste.err:
# cat /var/log/teste.err.1 >> /var/log/teste.err
6) Acione o logrotate:
# logrotate -f /etc/logrotate.conf
3) Suponha que voc necessite que os logs sejam comprimidos. Como voc
faria isso automaticamente?
_____________________________________________________________________________
_____________________________________________________________________________
Captulo 6 Rsyslog 82
6.5. Laboratrio
Captulo 6 Rsyslog 83
Captulo 7
Shell Script I
7.1. Objetivos
Entender a estrutura de um script;
Automatizar tarefas;
Conhecer algumas variveis importantes.
primeira
linha,
na
qual
aparece
um
comentrio,
possui
uma
#!/bin/bash
#
3 #Esse script pega o valor dos parmetros e imprimi na tela.
4 echo $1
5 echo $2
6 echo $3
7 # ./script3 42 the answer
2
Muitas vezes quando fazemos scripts, precisamos de uma funo que faa o
trabalho das operaes matemticas bsicas como soma, diviso, multiplicao e
subtrao. Em shell script podemos usar o comando expr para realiz-las. J a
contagem de linhas feita pelo comando wc. E o comando cut serve para
cortar a sada no ponto especifcado pelo separador.
Vamos ver esse exemplo: um script que deve dizer quantos usurios esto
presentes, quantos grupos esto presentes e no fnal mostrar quantos objetos meu
#!/bin/bash
#
3 #Esse programa tem como objetivo filtrar todos os usurios que no
possuem home
4 QTD=`cat /etc/passwd | grep -v /home/ | wc -l`
5 echo "A quantidade de usurios que no possuem home de: $QTD"
2
3) Execute o script:
# ./userfiltro
7.3.2. A varivel $?
# test 2 -eq 2
# echo $?
# 0
# test -z $pinga
# echo $?
# 0
#
#
#
#
whisk=blue
test -z $whisk
echo $?
1
Acima mostramos algumas formas de se testar as condicionais utilizadas dentro
da estrutura se. Lembre-se que podemos usar as condicionais tanto dentro, quanto
fora da estrutura se, depende do caso e do meio.
Abaixo podemos ver uma lista de operadores para nossa diverso.
7.3.7. Operadores de strings
Operadores
Funes
==
Igual
!=
Diferente
Operadores
Funes
Soma
Subtrao
Multiplicao
Diviso
>
>=
<
<=
Maior
Maior ou Igual
Menor
Menor ou Igual
Funes
-e
-nt
-ot
-d
um diretrio (directory)
essenciais!
Programar em shell script uma arte, e como na arte, em shell o limite a
sua
imaginao.
Para
se
aprofundar
nesse
assunto
pra
de
bacana:
http://jneves.wordpress.com/
#!/bin/bash
#
3 ## Primeiro script - Verificando se um usurio existe
4 #
5 echo "Digite usurio para consulta:"
6 read USER
7 REPLY=$(getent passwd | grep $USER)
2
test -z $REPLY
10 if [ $? -eq 0 ] ; then
11
echo "Usurio $USER no existe!"
12 else
13
echo "Pagamento em dia"
14 fi
9
Podemos fazer diversas operaes no nosso sistema com o shell. Vamos para
o ltimo exemplo:
#!/bin/bash
#
## segundo script - Verificando se um arquivo est vazio
#
# Programa para gerar uma lista de usurios com seus determinados
homes,
# Exportar para um arquivo com um cabealho com usurio e timestamp
# Fazer check de arquivo existente
echo "Deseja prosseguir com a exportao da lista de usurios? (y/n)"
read OP
$OP = y ]; then
"Nome da lista"
LISTA
-e $LISTA
$? -eq 0 ]; then
"Arquivo existe, impossvel continuar .... saindo"
Captulo 8
Shell Script II
8.1. Objetivos
8.2.1. Operadores
ping. Para
utilizamos a
CTRL + c (^c):
# ping 192.168.200.1
# ping 192.168.200.2
Perfeito, funciona! Entretanto queremos automatizar o procedimento e para
isso precisamos que o comando ping pare em algum instante. Sendo assim,
utilizamos os parmetros -c e -w.
3) Utilizando o comando ping, envie dois pacotes icmp tipo echorequest em intervalos de 2 segundos:
# ping -c 2 -w 2 192.168.200.1
Perfeito, o ping est operando de forma que podemos utiliz-lo num looping
para mudar o endereo IP.
echo
#!/bin/bash
for IP in $(seq 1 15); do
ping -c 2 -w 2 192.168.200.$IP > /dev/null &&
echo "192.168.200.$IP - UP" ||
echo "192.168.200.$IP - DOWN"
done
10)
Agora vamos construir um script utilizando o comando
"read":
# cd /sbin
# vim add-users
#!/bin/bash
#Inserindo usurio
echo "Entre com o nome do novo usurio:
read user
#pega a resposta e grava na varivel user
echo " "
echo "Inserindo $user"
adduser $user
echo " "
echo "Adicionando usurio aos grupos ..."
echo " "
gpasswd -a $user audio
gpasswd -a $user video
gpasswd -a $user cdrom
gpasswd -a $user floppy
gpasswd -a $user plugdev
echo " "
echo "Grupos que $user pertence:"
groups $user
echo " "
11)
# chmod +x add-users
# add-users
generalizaes como pedir que o usurio entre com o range de IP's a ser pingado,
alm de fornecer uma forma do usurio cancelar a execuo do script de forma
natural.
E a ltima melhoria que poderamos fazer tornar o trecho de cdigo que
realiza o ping em uma funo de forma que, se no futuro desejarmos adicionar
mais cdigos ou melhorar o script isso seja feito de forma organizada.
12)
Lembre-se:
A varivel que defne onde os executveis iram fcar:
# echo $PATH
3) Visualizando databases:
mysql> show databases;
4) Criando database:
mysql> create database lpi;
5) Utilizando database:
mysql> use lpi;
id - campo de identifcao;
7) Visualizando as tabelas:
mysql> show tables;
8) Estrutura da tabela:
mysql> desc lpi;
Com o retorno do comando desc podemos ver quais os campos da tabela,
qual o tipo dos campos, se aceitam ou no valores nulos, se existe uma chave
primria, e se algum campo possui a propriedade auto_increment.
10)
Adicionando usurio:
mysql> GRANT ALL PRIVILEGES ON lpi.* TO curso@localhost
IDENTIFIED BY 'cursolinux' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Saindo do Mysql:
mysql> quit
12)
# mysql -u root -p
# mysql -u curso -p
1) O que difere entre uma shell e outra, por exemplo entre tcsh e bash
ou ksh?
____________________________________________________________________________
8.5. Laboratrio
1. Crie um script que ser til para o seu dia-a-dia;
Captulo 9
Gerenciando Processos
9.1. Objetivos
O que um processo?;
Gerenciar processos;
Uma descrio mais detalhada desses status pode ser vista na seo
PROCESS STATE CODES do man ps.
> o processo est rodando com prioridade maior que a padro, tendo sido
defnida pelo kernel;
<
o processo est rodando com prioridade menor que a padro, tendo sido
dependem dele;
4) Dentro da bash que voc est, abra uma nova bash e determine
o PPID dela:
# ps fax
# echo $PPID
1)
# nice -n 19 cron
2)
Captulo 10
Inicializao dos Servios e SYSTEM V
10.1. Objetivos
/etc/init.d para poder determinar a ordem pela qual os scripts sero executados.
Os links nos permitem fazer modifcaes nos arquivos originais, assim no
precisamos alterar o arquivo original e sua cpia. Ao contrrio da cpia, porque a
cpia no guarda atualizaes em seu arquivo original. Faz sentido?
10.2.1. System V
O padro System V defne, entre outras coisas, como deve ser a inicializao
dos servios do sistema. Ele trabalha com nveis de inicializao, os chamados
runlevels, havendo oito deles que sero descritos posteriormente.
A inicializao do sistema comea com um boot loader no qual o usurio
escolhe qual sistema operacional ser iniciado na mquina. Uma vez escolhido, o
boot loader inicia o carregamento do kernel na memria RAM e passa o controle
do sistema a ele. Uma vez que o kernel j esteja controlando a mquina iniciada a
fase de subir os servios necessrios para a utilizao do sistema. Este ltimo estgio
sobre o que trataremos aqui.
Dica LPI: Para saber o nvel de execuo utilizado pelo sistema, execute:
# runlevel
Mais tarde iremos aprender uma srie de comandos e ferramentas especias
para melhor gerenciamento dos runlevels.
RedHat:
Nvel 0 - desliga o sistema;
Nvel 1 - modo mono usurio;
Nvel 2 - multiusurio, sem NFS;
Nvel 3 - multiusurio, com NFS;
Nvel 4 - no usado;
Nvel 5 - multiusurio com NFS e X;
Nvel 6 - reiniciar o sistema;
1) Verifque quantos
arquivos:
inodes
esto
disponveis
no
sistema
de
# df -i
10)
Altere o contedo do arquivo hard.lnk e veja o resultado em
arquivo.txt:
# echo "Mais dados" >> hard.lnk
# cat arquivo.txt
11)
# rm arquivo.txt
# cat hard.lnk
# runlevel padro
id:2:initdefault:
# Script de configurao/inicializao do sistema que roda durante o
# boot
si::sysinit:/etc/init.d/rcS
# Define o comportamento do single mode - pede a senha do root
~~:S:wait:/sbin/sulogin
# /etc/init.d executa os scripts S e K quando mudando de runlevel#
l0:0:wait:/etc/init.d/rc
l1:1:wait:/etc/init.d/rc
l2:2:wait:/etc/init.d/rc
l3:3:wait:/etc/init.d/rc
l4:4:wait:/etc/init.d/rc
l5:5:wait:/etc/init.d/rc
l6:6:wait:/etc/init.d/rc
0
1
2
3
4
5
6
6) Removendo um servio:
# update-rc.d -f cron remove
7) Adicionando um servio:
# update-rc.d cron defaults
8) RedHat:
# chkconfg --list
# chkconfg --level 2345 nfs-common stop
10.5. Laboratrio
1) Instale o pacote sysv-rc-conf;
2) Gerencie o SystemV pelo sysv-rc-conf;
3) Crie um script dentro do /etc/init.d/;
4) Coloque este script para executar no nosso runlevel.
Captulo 11
Quotas de Disco
11.1. Objetivos
Uma vez criada essa estrutura, basta editar os arquivos de controle de quotas e
distribuir as quantidades de forma apropriada.
2) RedHat:
# yum install quota
/home
ext3 defaults,usrquota,grpquota
5) RedHat:
LABEL=/home /homeext3 defaults,usrquota,grpquota
10)
Verifque se o sistema de quota est ativo, listando as suas
informaes:
# repquota -v -a
Obs.: possvel que o sistema de quotas no seja ativado corretamente at
o prximo reboot.
soft
100
hard
110
10)
Aps apag-los, vamos executar o script gera-arquivos para
estourar o nmero de inodes permitidos:
$ I=1; while true ; do touch arq$I; let I++; done
11)
Depois da quota estourar, volte ao terminal do root e
examine o status da quota:
# repquota -v -a
12)
Defna quota por grupo para o grupo audio utilizando os
mesmos valores que defnimos para o usurio apolo:
# edquota -g audio
13)
# repquota -v -a -g
15)
# quotaof -v /home
16)
Faa uma checagem na quota da partio para ver se est tudo
OK.
# quotacheck -vug /home
17)
# quotaon -v /home
18)
Perceba que estamos utilizando EXT3, por padro sistemas de
quotas suporta apenas, fle systems formatados com EXT3. Mas ao
recompilar o Kernel, podemos adicionar novos sistemas de
arquivos.
# cat /etc/fstab
6) Qual comando gera essa sada: "ii quota 3.16-7 implementation of the disk
quota system"?
____________________________________________________________________________
11.5. Laboratrio
1.
Defna que a partio /home utilizar apenas quota por grupo e ative o
sistema de quotas.
2. Defna quotas nos grupos fnanceiro, vendas e diretoria para que eles
usem at 150Mb ou 1500 arquivos. Se for necessrio, crie esses grupos.
Captulo 12
Trabalhando com Mdulos
12.1. Objetivos
Dica LPI: O comando que exibe o Kernel em uso, e suas opes : uname -a
Verso do Kernel
Mdulos Ativos
Mdulos Disponveis
11)
J que o mdulo cdrom no est mais sendo utilizado
podemos remov-lo:
# rmmod cdrom
# lsmod |grep cdrom
12)
Remova o mdulo cdrom da memria utilizando o comando
modprobe -r :
# modprobe -r cdrom
13)
Remova
cdrom:
ide_cd_mod
para
que
possamos
remover
# modprobe -r ide_cd_mod
14)
15)
17)
Continue o teste:
# rmmod cdrom
# modprobe ide_cd_mod
# lsmod |grep cdrom
18)
Como o modprobe sabe quais mdulos dependem de quais
mdulos?
# cd /lib/modules/$(uname -r)
# ls -l
# vi modules.dep
19)
No acredita que o modprobe usa esse arquivo? Remova-o e
tente utiliz-lo:
# rm /lib/modules/$(uname -r)/modules.dep
# modprobe -r ide_cd_mod
20)
No funcionou? :) E agora? Construa o arquivo modules.dep
novamente:
# depmod
# modprobe -r ide_cd
2)
108544
uhci_hcd
12.5. Laboratrio
1) Descubra qual o mdulo que est sendo usado para a placa de rede do
computador que voc est utilizando.
2) Sem utilizar os comandos modprobe ou lsmod, determine o nmero de
mdulos ativos e mdulos disponveis no sistema.
3) Determine qual o mdulo que est sendo utilizado pela placa de som do
computador que voc est utilizando.
Captulo 13
Conceitos de Redes, TCP e Servios de
Rede
13.1. Objetivos
Trabalhar com endereos IP's e aprender como dividir uma rede logicamente
utilizando os clculos de de endereos IP;
Voc deve estar lembrado que 1 byte = 8 bits, ou seja, 1 byte corresponde
combinao de 8 dgitos, podendo, cada dgito ter o valor 0 ou 1. Alm disso, o bit
mais direita chamado de bit menos signifcativo e o mais esquerda chamado
de bit mais signifcativo.
Sendo assim, como podemos converter um nmero decimal, digamos 176, para
a sua representao binria?
De fato, bastante simples, basta realizar sua diviso, inteira, por 2 at que
no possamos mais dividi-lo, ou seja, o quociente da diviso ser igual a zero. Veja a
fgura.
Aproveite a fgura, para treinar. Determine a representao binria do nmero
183, completando a fgura:
Bit n
2^n
2^7
2^6
2^5
2^4
2^3
2^2
2^1
2^0
Valor
128
64
32
16
13.2.5. Endereamento IP
Classe
1 at 126
rede.HOST.HOST.HOST
128 at 192
rede.rede.HOST.HOST
129 at 223
rede.rede.rede.HOST
224 at 239
240 at 255
rede: 172.16.0.0
mscara: 255.255.0.0
De
At
Broadcast
172.16.0.0
172.16.0.1
172.16.31.254
172.16.31.255
172.16.32.0
172.16.32.1
172.16.63.254
172.16.63.255
172.16.64.0
172.16.64.1
172.16.95.254
172.16.95.255
172.16.96.0
172.16.96.1
172.16.127.254
172.16.127.255
172.16.128.0
172.16.128.1
172.16.159.254
172.16.159.191
172.16.160.0
172.16.160.1
172.16.191.254
172.16.191.255
172.16.192.0
172.16.192.1
172.16.223.254
172.16.223.255
172.16.224.0
172.16.224.1
172.16.255.254
172.16.255.255
No
possui
esquema
de
autenticao
que
possibilite
garantir
que
ifconfg
eth0:0
192.168.0.129
netmask
255.255.255.128
broadcast
192.168.0.255
inserir
uma
entrada
no
arquivo
# sysctl -p /etc/sysctl.conf
tcp - tipo de protocolo utilizado. Deve ser um protocolo que conste no arquivo
/etc/protocols;
9) Tente uma nova conexo mquina do colega, mas dessa vez utilize
usurio root:
# telnet IP-do-AMIGO
RedHat:
Em um sistema que utiliza o xinetd haver um arquivo de confgurao para
cada tipo de servio e eles estaro no subdiretrio /etc/xinetd.d.
/etc/xinetd.d
\_ telnetd
\_ cvspserver
\_ samba
13.5. Laboratrio
Captulo 14
Servidor SSH
14.1. Objetivos
Para copiar arquivos de uma mquina para outra, deve-se seguir a mesma
lgica do comando cp que funciona da seguinte forma:
# cp origem destino
RedHat:
# yum install ssh
Port 22
Protocol 2
LoginGraceTime 60
PermitRootLogin yes
PubkeyAuthentication yes
PermitEmptyPasswords yes
Dica LPI: Leitura Sugerida: Para conhecer mais detalhes cobrados na prova
leia o man sshd_confg
Port 65100
PermitRootLogin no
PubkeyAuthentication yes
PermitEmptyPasswords no
Banner /etc/issue.net
14.6. Laboratrio
1. Utilizando o comando scp, envie uma cpia do diretrio /etc local para o
diretrio home remoto do seu usurio.
2. Altere a confgurao do servidor para que o root no possa se conectar via
ssh mas possa dar comandos remotos. Realize testes para ver se funciona.
3. Gere uma chave assimtrica para o root, sem senha, e realize testes para ver
se funcionou.
Captulo 15
TCP Wrappers
15.1. Objetivos
por
dois
arquivos:
/etc/hosts.allow
confgurao
de
acessos
185
Captulo 16
Servidor de Impresso
16.1. Objetivos
Confgurao do cliente;
O CUPS - Common Unix Printing System uma das formas mais utilizadas
atualmente para trabalhar com impresso no mundo GNU/Linux. Ele utiliza
1.1/sam.html
5) Reinicie o CUPS
# /etc/init.d/cups restart
Agora
podemos
gerenciar
as
confguraes
relacionadas
fla
de
Para adicionar uma nova impressora, basta clicar no boto Add Printer e ele
abrir a tela a seguir:
Nesta
tela
selecionamos
o tipo
de device
onde
impressora
est
10)
Vamos ver agora o arquivo no qual o sistema busca as
defnies das impressoras existentes:
# vi /var/run/cups/printcap
Dica LPI: Se voc tivesse um impressora em na segunda porta paralela, esta
seria referenciada como /dev/lp1.
11)
Podemos agora fazer um teste de impresso com o comando
lp:
# lp -dteste /etc/shadow
Dica LPI: a opo "-d" recebe o nome da minha impressora
# lpq -Pteste
13)
# lpstat -t
14)
Se eu quiser remover um trabalho da fla de impresso tenho
que indicar o nome da impressora e o nmero da job:
# lprm -Pteste 5
Dica LPI: Onde "5" o nmero da job do arquivo na fla de impresso.
193
Captulo 17
Compilao do Kernel
17.1. Objetivos
um
kernel
manualmente
frequentemente
tido
como
procedimento mais difcil que um usurio de Gnu/Linux tem que fazer. Isso no
bem verdade, depois de confgurar uns dez kerneis voc nem lembrar que foi
difcil :) Como tudo na vida mais uma questo de prtica do que de inteligncia.
No entanto, uma coisa verdade: voc deve conhecer muito bem seu sistema
quando voc comear a confgurar o kernel manualmente. A maior parte das
informaes pode ser obtida utilizando o comando lspci.
cat
cat
cat
cat
/proc/interrupts
/proc/ioports
/proc/meminfo
/proc/cpuinfo
/proc/ioports
/proc/meminfo
/proc/cpuinfo
/proc/mtab
/proc/swaps
/proc/dma
10)
# make help
# make menuconfig
A interface de confgurao fornece uma estrutura de menus e sub-menus nos
quais devemos navegar afm de selecionar as opes que desejamos adicionar,
remover ou compilar como mdulos.
12)
Aps salvar as confguraes, podemos visualizar o arquivo
gerado e copi-lo para um lugar seguro:
# cat .config
# cp .config /boot/config-2.6.XX.c1")
13)
# make
14)
Aps compilar o kernel e seus mdulos, vamos copiar os
mdulos para o diretrio apropriado em /lib/modules:
# make modules_install
Dica
LPI:
Processo
de
compilao
do
kernel:
make
make
modules_install
# cd arch/i386/boot/
# file bzImage
# cp bzImage /boot/kernel-2.6.XX.c1")
Se
nosso
kernel
tiver
sido
compilado com
mdulos
que sejam
16)
17)
200
Captulo 18
Gerenciadores de Boot
18.1. Objetivos
Confgurar o Grub;
18.2.1. GRUB
Para que nosso novo kernel, possa ser inicializado, devemos confgurar nosso
bootloader. Veremos agora como fazer isso no Grub.
3
4
5
6
title
root
kernel
initrd
18.4. Laboratrio
1. Reinicie a mquina;
2. Teste o GRUB sem senha;
3. Deixe o usurio root sem senha;
4. Coloque senha no GRUB;
5. Troque as cores do GRUB na inicializao.
Captulo 19
Confgurao de Rede Wireless
19.1. Objetivos
baixar
driver
da
internet
no
seguinte
site:
10)
# iwconfg
11)
Agora que nosso mdulo est carregado, podemos confgurar a nossa rede.
Para isso, alm de usarmos o comando ifconfg para atribuir um IP, vamos utilizar o
Em uma rede wireless managed, no vamos mais ter conexes ponto a ponto,
mas sim um centralizador em nossa rede que vai administrar as conexes. Esse
centralizador o Access Point.
3. Qual o arquivo onde posso defnir minha placa de rede wireless, e IP fxo,
em todo reboot? E como fcaria esse arquivo?
_________________________________________________________________________________
_________________________________________________________________________________
_________________________________________________________________________________
REFERNCIAS
BIBLIOGRFICAS
JULIO CESAR NEVES. Programao em Shell Linux. 6. edio.
Brasport. 2006
The Linux documentation Project, website: http://www.tldp.org.
Acesso em 28 de maro de 2008.
Pritchard, Pessanha, Langfeldt, Stranger and Dean. Certifcao
Linux LPI 2. edio. AltaBooks. 2007
Gagn, Moving to Linux.
1 edio, Addilson Wesley
Rubem E. Ferreira, Guia de Administrao Linux.
2 edio, Novatec, 2008