24.10.2014 Views

Linux - Servidor de Redes e Monitoramento - Gerds

Linux - Servidor de Redes e Monitoramento - Gerds

Linux - Servidor de Redes e Monitoramento - Gerds

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!