Linux - Servidor de Redes e Monitoramento - Gerds
Linux - Servidor de Redes e Monitoramento - Gerds
Linux - Servidor de Redes e Monitoramento - Gerds
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Sistemas Operacionais<br />
Sistema <strong>de</strong> Inicialização<br />
BOOT<br />
15/10/09 08:58 PM Prof. André Luiz 1
Sistema <strong>de</strong> Boot<br />
<br />
POST e BIOS – Responsáveis pela inicialização do Hardware.<br />
<br />
Após realizar os testes iniciais (POST) a BIOS localiza o<br />
Loa<strong>de</strong>r (ou gerenciador <strong>de</strong> partida) para subir o SO.<br />
O Gerenciador <strong>de</strong> Partida é um programa que carrega<br />
um Sistema Operacional e/ou permite escolher qual será<br />
iniciado. Normalmente, este programa é gravado no setor<br />
<strong>de</strong> boot <strong>de</strong> uma partição ativa ou no Master Boot Record<br />
(MBR) do disco rígido.<br />
15/10/09 08:58 PM Prof. André Luiz 2
Sistema <strong>de</strong> Boot<br />
O MBR contém 512 bytes <strong>de</strong> informação da estrutura<br />
organizacional do disco (partições, código <strong>de</strong> arranque do<br />
sistema operativo, e assinatura <strong>de</strong>sse código):<br />
Estrutura do Master Boot Record<br />
Código <strong>de</strong><br />
arranque do SO<br />
446 bytes<br />
Master Partition Table<br />
16<br />
bytes<br />
16<br />
bytes<br />
16<br />
bytes<br />
16<br />
bytes<br />
Assinatura<br />
2 bytes<br />
15/10/09 08:58 PM Prof. André Luiz 3
Sistema <strong>de</strong> Boot<br />
<br />
Sistemas GNU/<strong>Linux</strong> possuem diversos sistemas <strong>de</strong> boot<br />
(loa<strong>de</strong>rs). Sendo o LILO e o GRUB os principais loa<strong>de</strong>rs<br />
utilizados, os quais são responsáveis pelo gerenciamento<br />
da carga do Sistema Operacional.<br />
<br />
O LILO e o GRUB, são responsáveis por passar ao Sistema<br />
operacional, informações <strong>de</strong> Hardware, estas informações<br />
estão em arquivos <strong>de</strong> configuração, pré-configurados.<br />
15/10/09 08:58 PM Prof. André Luiz 4
Sistema <strong>de</strong> Boot<br />
15/10/09 08:58 PM Prof. André Luiz 5
Sistema <strong>de</strong> Boot - Loa<strong>de</strong>rs<br />
Comparação entre os principais Loa<strong>de</strong>rs<br />
http://en.wikipedia.org/wiki/Comparison_of_boot_loa<strong>de</strong>rs<br />
15/10/09 08:58 PM Prof. André Luiz 6
Sistema <strong>de</strong> Boot<br />
Lilo – <strong>Linux</strong> Loa<strong>de</strong>r<br />
15/10/09 08:58 PM Prof. André Luiz 7
Sistema <strong>de</strong> Boot<br />
Grub Legacy<br />
15/10/09 08:58 PM Prof. André Luiz 8
Sistema <strong>de</strong> Boot<br />
<br />
Po<strong>de</strong> ocorrer que o GRUB ou LILO passem informações<br />
ao Kernel, através <strong>de</strong> linha <strong>de</strong> comando, seguindo:<br />
• Nome_da_imagem_do_kernel parametro<br />
• Ou<br />
• Nome_da_imagem_do_kernel parametro=valor<br />
• Exemplo: #<strong>Linux</strong> root=/<strong>de</strong>v/hda6<br />
15/10/09 08:58 PM Prof. André Luiz 9
Sistema <strong>de</strong> Boot<br />
Como o GRUB Trabalha com Discos e Partições<br />
15/10/09 08:58 PM Prof. André Luiz 10
Sistema <strong>de</strong> Boot - Grub<br />
O GRUB (Grand Unified Boot Loa<strong>de</strong>r), é mais uma alternativa <strong>de</strong><br />
gerenciador <strong>de</strong> inicialização, e apresenta alguns recursos extras com relação<br />
as outras opções disponíveis. Ele é flexível, funcional e po<strong>de</strong>roso, po<strong>de</strong>ndo<br />
inicializar sistemas operacionais como o Windows (9x, ME, NT, 2000 e XP),<br />
Dos, <strong>Linux</strong>, GNU Hurd, *BSD, OS/2 etc. Po<strong>de</strong>mos <strong>de</strong>stacar também o suporte<br />
aos sistemas <strong>de</strong> arquivos EXT2, EXT3 e ReiserFS, FAT16 e FAT32 (Win<br />
9x/ME), FFS (Fast File System usado no *BSD), minix (MINIX OS) etc.<br />
Por utilizar o padrão Multiboot, ele é capaz <strong>de</strong> carregar diversas imagens <strong>de</strong><br />
inicialização (uma por vez) e módulos. Por esse motivo, ele é o único<br />
gerenciador <strong>de</strong> inicialização capaz <strong>de</strong> carregar o conjunto <strong>de</strong> servidores do<br />
GNU Hurd. O GRUB também permite buscar imagens do Kernel pela re<strong>de</strong>, por<br />
cabo seriais, suporta discos rígidos IDE, SATA e SCSI, informar a quantida<strong>de</strong><br />
total <strong>de</strong> memória RAM ao sistema, tem interface voltada para linha <strong>de</strong><br />
comandos ou menus <strong>de</strong> escolha, além <strong>de</strong> suportar sistemas sem discos e<br />
terminais remotos.<br />
15/10/09 08:58 PM Prof. André Luiz 11
Sistema <strong>de</strong> Boot - Grub<br />
Principais diretórios e arquivos <strong>de</strong> configuração:<br />
Lilo - /etc/lilo.conf<br />
Grub Legacy - /boot/grub/menu.lst<br />
Grub 2 - /boot/grub/grub.cfg<br />
O arquivo <strong>de</strong> configuração do GRUB 2 é formado automaticamente<br />
pela concatenação <strong>de</strong> todos os arquivos do diretório /etc/grub.d e possuem<br />
parâmetros muitos parecidos com o Grub Legacy, estes arquivos aten<strong>de</strong>m o<br />
Padrão FHS:<br />
http://www.pathname.com/fhs/<br />
15/10/09 08:58 PM Prof. André Luiz 12
Sistema <strong>de</strong> Boot - Grub<br />
Principais parâmetros globais <strong>de</strong> configuração do GRUB Legacy:<br />
timeout = Define um tempo (em segundos) <strong>de</strong> espera. Se nenhuma tecla for<br />
pressionada, carrega a imagem padrão.<br />
<strong>de</strong>fault = Define qual será a opção padrão que <strong>de</strong>ve ser automaticamente<br />
selecionada quando nenhuma outra for especificada em um tempo <strong>de</strong>finido<br />
pelo parâmetro “timeout”.<br />
fallback = Caso ocorra algum erro inesperado e a opção padrão não possa<br />
ser carregada, este parâmetro <strong>de</strong>fine qual a outra opção <strong>de</strong>ve ser utilizada.<br />
color = Permite que você escolha as cores usadas no menu <strong>de</strong> boot.<br />
password = Permite que você especifique uma senha. Está será solicitada<br />
sempre que houver necessida<strong>de</strong> <strong>de</strong> realizar uma função que não seja carregar<br />
as imagens disponíveis, como por exemplo acessar a linha <strong>de</strong> comandos do<br />
GRUB.<br />
hid<strong>de</strong>nmenu = Está opção faz com que o menu <strong>de</strong> opções não seja<br />
mostrado.<br />
•<br />
15/10/09 08:58 PM Prof. André Luiz 13
Sistema <strong>de</strong> Boot - Grub<br />
Principais parâmetros do grub legacy que afetam os SO disponíveis:<br />
/boot/grub/menu.lst<br />
title Windows<br />
hi<strong>de</strong> (hd0,1)<br />
unhi<strong>de</strong> (hd0,0)<br />
rootnoverify (hd0,0)<br />
chainloa<strong>de</strong>r +1<br />
makeactive<br />
title Debian GNU/<strong>Linux</strong>, kernel 2.6.18-4-486<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-2.6.18-4-486 root=/<strong>de</strong>v/hda1 ro<br />
initrd /boot/initrd.img-2.6.18-4-486<br />
save<strong>de</strong>fault<br />
15/10/09 08:58 PM Prof. André Luiz 14
Sistema <strong>de</strong> Boot - Grub<br />
Principais parâmetros do grub 2 que afetam os SO disponíveis:<br />
/etc/<strong>de</strong>fault/grub<br />
/etc/grub.d/*<br />
Entrada para SO MS Windows 7:<br />
$ cat /etc/grub.d/40_custom<br />
#!/bin/sh<br />
exec tail -n +3 $0<br />
# This file is an example on how to add custom entries<br />
menuentry "Ruindows 7" {<br />
set root=(hd0,1)<br />
chainloa<strong>de</strong>r +1<br />
}<br />
15/10/09 08:58 PM Prof. André Luiz 15
Sistema <strong>de</strong> Boot - Grub<br />
Comandos mais utilizados:<br />
$ grub<br />
Enter the GRand Unified Bootloa<strong>de</strong>r command shell.<br />
$ grub-install<br />
Grub-install copies GRUB images into the DIR/boot<br />
directory specfied by --root-directory, and uses the grub<br />
shell to install grub into the boot sector.<br />
$ update-grub<br />
Program to generate GRUB’s menu.lst file<br />
15/10/09 08:58 PM Prof. André Luiz 16
Sistema <strong>de</strong> Boot - Grub<br />
Comandos mais utilizados:<br />
$ grub-md5-crypt<br />
Encrypt a password in MD5 format.<br />
$ grub-floppy<br />
Create GRUB boot floppy.<br />
$ upgra<strong>de</strong>-from-grub-legacy<br />
Remove Grub Legacy and install GRUB 2 to MBR<br />
15/10/09 08:58 PM Prof. André Luiz 17
Sistema <strong>de</strong> Boot – Grub2 - Shell<br />
grub> help<br />
. FILE [ EXPRESSION ]<br />
blocklist FILE<br />
boot<br />
cat FILE<br />
cmp FILE1 FILE2<br />
configfile FILE<br />
cpuid<br />
echo [-e|-n] FILE<br />
export ENVVAR<br />
halt [-n] help [PATTERN ...]<br />
hexdump [OPTIONS] FILE_OR_DEVICE insmod MODULE<br />
loopback [-d|-p] DEVICENAME FILE ls [-l|-h|-a] [FILE]<br />
lsmod<br />
reboot<br />
rescue<br />
rmmod MODULE<br />
search [-f|-l|-u|-s] NAME set [ENVVAR=VALUE]<br />
source FILE<br />
terminal [TERM...]<br />
test EXPRESSION<br />
unset ENVVAR<br />
grub> ls<br />
(host) (hd0) (hd0,1) (hd0,2) (hd0,5) (hd0,6) (hd0,7)<br />
grub> ls (hd0,1)<br />
Partition hd0,1: Filesystem type ntfs, UUID f264f40564f3ca7d<br />
grub><br />
15/10/09 08:58 PM Prof. André Luiz 18
Sistema <strong>de</strong> Boot - Grub<br />
Removendo o GRUB do MBR<br />
Não existe a necessida<strong>de</strong> <strong>de</strong> se remover o GRUB do MBR, pois não<br />
há utilização para o mesmo vazio. Mas caso você queira fazer isso <strong>de</strong> qualquer<br />
forma, há várias formas, uma <strong>de</strong>las é usar o utilitário “fdisk” do MS DOS,<br />
juntamente com o parâmetro “/mbr” (“fdisk /mbr”), outra forma mais arriscada<br />
inclusive, é usando o utilitário “dd” do GNU/<strong>Linux</strong> da seguinte forma, supondo que<br />
você esteja utilizando um disco conectado a controladora principal IDE:<br />
dd if=/<strong>de</strong>v/zero of=/<strong>de</strong>v/hda bs=446 count=1<br />
15/10/09 08:58 PM Prof. André Luiz 19
Sistema <strong>de</strong> Boot e Shutdown<br />
<br />
Durante o boot o <strong>Linux</strong> executa diversos<br />
processos em uma or<strong>de</strong>m programada<br />
chamada <strong>de</strong> “nível <strong>de</strong> execução” ou RunLevel.<br />
<br />
Utilizando o comando init, po<strong>de</strong>-se indicar ao<br />
Sistema Operacional, qual nível <strong>de</strong>seja<br />
executar.<br />
15/10/09 08:58 PM Prof. André Luiz 20
Sistema <strong>de</strong> Boot e Shutdown<br />
Runlevel<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
Descrição (Padrão Debian)<br />
Desligamento elegante e rápido do Sistema<br />
Manutenção do sistema – Monousuário<br />
Modo multiusuário<br />
Modo multiusuário – não usado<br />
Modo multiusuário – não usado<br />
Modo multiusuário – não usado<br />
Reboot do sistema<br />
15/10/09 08:58 PM Prof. André Luiz 21
Sistema <strong>de</strong> Boot e Shutdown<br />
O arquivo /etc/inittab, <strong>de</strong>fine o Runlevel<br />
padrão.<br />
• Em id:n:init<strong>de</strong>fault<br />
• Obs: O valor 0 ou 6 em n, o que faria ?<br />
15/10/09 08:58 PM Prof. André Luiz 22
Sistema <strong>de</strong> Boot e Shutdown<br />
<br />
O arquivo /etc/inittab também é responsável<br />
por configurar a inicialização dos consoles<br />
(/<strong>de</strong>v/ttyx) e pela associação <strong>de</strong> teclas <strong>de</strong><br />
funções como CRTL+ALT+DEL.<br />
15/10/09 08:58 PM Prof. André Luiz 23
Sistema <strong>de</strong> Boot e Shutdown<br />
<br />
Quando o <strong>Linux</strong> inicia, uma série <strong>de</strong> arquivo<br />
são executados a partir do diretório /etc/rcS.d<br />
• rc.sysinit fstab (semelhantes)<br />
• rc.local Arquivo usado para carga do sistema,<br />
montado pelo administrador<br />
• /etc/init.d/ Diversos scripts para carga do<br />
sistema.<br />
15/10/09 08:58 PM Prof. André Luiz 24
Sistema <strong>de</strong> Boot e Shutdown<br />
O Debian GNU/<strong>Linux</strong>, possuí o seguinte padrão para <strong>de</strong>finir se uma ligação<br />
simbólica em “/etc/rc[0-6].d” iniciará ou interromperá a execução <strong>de</strong> um serviço em<br />
“/etc/init.d”:<br />
• Se um link é iniciado com a letra K (kill), quer dizer que o serviço será<br />
interrompido naquele nível <strong>de</strong> execução. O que ele faz na verda<strong>de</strong>, é executar<br />
o script do serviço em questão em “/etc/init.d” seguido da opção “stop”.<br />
• Se um link é iniciado com a letra S (start), quer dizer que o serviço será<br />
iniciado naquele nível <strong>de</strong> execução. Isto fará com que o script do serviço em<br />
questão em “/etc/init.d” seja invocado seguido da opção “start”.<br />
15/10/09 08:58 PM Prof. André Luiz 25
Sistema <strong>de</strong> Boot e Shutdown<br />
<br />
OS níveis <strong>de</strong> serviços são <strong>de</strong>finidos nos<br />
diretório /etc/rc.d.<br />
Neste diretório encontra-se o que será<br />
executado em cada um dos níveis <strong>de</strong> serviços.<br />
15/10/09 08:58 PM Prof. André Luiz 26
Sistema <strong>de</strong> Boot e Shutdown<br />
Por or<strong>de</strong>m, os links com a letra “K” são executado primeiro<br />
seguido pelos que iniciam pela letra “S”. A or<strong>de</strong>m com que são<br />
executados, <strong>de</strong>pen<strong>de</strong> também do valor numérico que acompanha<br />
o link, por exemplo, os seguintes arquivos são executados em<br />
seqüência:<br />
S10sysklogd<br />
S12kerneld<br />
S20inetd<br />
S20linuxlogo<br />
S20lprng<br />
S89cron<br />
S99xdm<br />
15/10/09 08:58 PM Prof. André Luiz 27
Sistema <strong>de</strong> Boot e Shutdown<br />
Para inserir ou remover scripts nos runlevels é interessante<br />
utilizar a ferramenta update- rc.d, que é a maneira correta (eu<br />
até diria: essa é a forma mais elegante) para controlar o uso dos<br />
scripts <strong>de</strong> inicialização.<br />
Exemplos <strong>de</strong> uso:<br />
#update-rc.d ssh <strong>de</strong>faults<br />
Insere o serviço ssh (/etc/ini.d/ssh) em todos os runlevels para iniciar e parar <strong>de</strong><br />
foma correta <strong>de</strong>pen<strong>de</strong>ndo <strong>de</strong> cada runlevel.<br />
# update-rc.d ssh start 20 2 .<br />
Insere o serviço ssh (/etc/ini.d/ssh) apenas no runlevel 2 para iniciar.<br />
# update-rc.d -f ssh remove<br />
Remove o serviço ssh (/etc/ini.d/ssh) <strong>de</strong> todos os runlevels em que está<br />
registrado.<br />
15/10/09 08:58 PM Prof. André Luiz 28
Sistema <strong>de</strong> Boot e Shutdown<br />
<br />
shutdown [opções] horário [mensagem]<br />
• Usado para <strong>de</strong>sligar ou reiniciar a máquina.<br />
• Opções<br />
-r Reinicia o sistema<br />
-h Paraliza o sistema<br />
-k Manda mensagem <strong>de</strong> <strong>de</strong>sligamento<br />
-f Carga rápida no sistema<br />
-F Força a checagem do disco quando inicializar<br />
15/10/09 08:58 PM Prof. André Luiz 29
Sistema <strong>de</strong> Boot e Shutdown<br />
<br />
Exemplos<br />
• #shutdown –r now<br />
• #shutdown –r 06:00 “Haverá troca <strong>de</strong> hardware”<br />
• #shudown –h 10<br />
15/10/09 08:58 PM Prof. André Luiz 30