Preparatório LPIC-1 Tópico 102 Professor Leandro Trindade leandro.a.trindade@gmail.com
Tópico 102 Visão Geral Instalação do Linux e gerenciamento de pacotes Definir layout do disco rígido Instalação de gestores de boot (LILO, Grub) Gerir bibliotecas compartilhadas Usar sistema de empacotamento do Debian Usar gerenciador de pacotes YUM e pacotes RPM
Tópico 102.1 Fonte: http://wiki.lpi.org/wiki/lpic-1_objectives#topic_102:_linux_installation_and_package_management Conhecimentos necessários Particionar o disco e alocar o espaço necessário para o sistema de arquivos e swap de memória. Personalizar o design de disco de acordo com as necessidades do sistema Garantir que a partição de boot siga corretamente a arquitetura de hardware Conhecimento de funcionalidades básicas da LVM
Tópico 102.1 Fonte: http://wiki.lpi.org/wiki/lpic-1_objectives#topic_102:_linux_installation_and_package_management Lista de arquivos, ferramentas e utilitários / (root). /var. /home. espaço de swap. pontos de montagem. partições.
Tópico 102.1 Design de partições para Linux básico 1. /boot 2. swap 3. /
Tópico 102.1 Design de partições para Linux completa 1. /boot 2. swap 3. / 4. /usr 5. /var 6. /tmp 7. /home
Tópico 102.1 Partição / Quanto mais simples melhor, atualizações de distribuição afetam essa partição. Partição /boot Manter menos de 1024 cilindros ~ 524Mb dependendo do HD para compatibilidade com kernel < 2.2.0 Partição /var Escolher um tamanho adequado para guardar logs, emails, e variaveis em geral dos usuarios Partição /tmp Guarda arquivos temporários para todos os usuários
Tópico 102.1 Partição /usr Espaço suficiente para compilação do kernel linux Partição /home Normalmente o que possui maior espaço, guarda todos os documentos e arquivos pessoais dos usuários do sistema Partição de SWAP Nesta partição ocorrem todos os swaps de memória em disco, seu tamanho influencia diretamente a quantidade e peso dos programas que podem ser abertos juntos Recomenda-se usar o dobro da memória ram em espaço
Tópico 102.1 MBR (Master Boot Record) Progama pequeno (1 o setor - 512 bytes do disco) responsável pelo boot do sistema. Para fazer o backup: dd if=/dev/hda of=~/mbr.txt count=1 bs=512 Para restaurar: dd if=~/mbr.txt of=/dev/hda count=1 bs=512
Tópico 102.1 Tabela de partições Contém informação sobre o layout de partições Para fazer backup: sfdisk -d /dev/hda > partition_backup.txt Para restaurar: sfdisk /dev/hda < partition_backup.txt (mais detalhes no tópico 104)
Topico 102.1 Fazendo o backup do MBR
Tópico 102.2 LILO (era mais famoso antigamente) Boot loader composto de 2 estágios: o primeiro reside no MBR e apenas serve para carregar o segundo o segundo mostra um prompt para o usuário escolher opções de carregamento e o kernel a carregar; encontra o kernel e carrega.
Tópico 102.2 Ferramenta lilo do linux serve para configurar e instalar ele em uma máquina. escreve o bootloader estágio 1 no MBR. cria arquivos que apontam para localizações de kernel, ferramentas de boot alternativos, etc.
Tópico 102.2 # cat /etc/lilo.conf boot = /dev/hda timeout = 50 prompt default = win vga = normal read-only map=/boot/map install=/boot/boot.b image = /boot/vmlinuz-2.2.12-20 label = linux initrd = /boot/initrd-2.2.12-20.img root = /dev/hda3 other = /dev/hda1 label = win
Tópico 102.2 GRUB O bootloader mais utilizado para linux possúi 3 estágios: 1 - MBR, carrega o estágio 1.5 1.5 - Primeiros 30KB antes da primeira partição (quando permitido pelo disco), carrega drivers de sistema de arquivos 2 - Carregamento de configurações, prompt de usuário, etc.
Tópico 102.2 GRUB
Tópico 102.2 O grub tem uma convenção diferente para nomes de HD e partições, sem diferenciar HDs IDE e SCSI/SATA. (hd0) = o primeiro HD na sequência de boot da BIOS (fd0) = o primeiro disquete (faça de conta que isso ainda existe para a prova) (hd0,0) = a primeira partição do primeiro HD
Tópico 102.2 Para instalar o grub pode-se usar o comando # grubinstall (hd0) o instalador procura o arquivo /boot/grub/ device.map, se não existir ele tenta adivinhar ex: (fd0) /dev/fd0 (hd0) /dev/sd0 Alternativamente pode ser instalado pela ferramenta grub que abre um console (supondo um /boot na primeira partição): # grub grub> root (hd0,0) grub> setup (hd0)
Tópico 102.2 Se o grub não possuir um arquivo de configuração / boot/grub/menu.lst o boot é feito direto no console para fazer boot de um kernel específico são necessários pelo menos 3 comandos: grub> root (hd0,0) grub> kernel /vmlinuz-2.4.18-14 ro root=/dev/hda2 grub> initrd /initrd-2.4.18-14.img (opcional) grub> boot
Tópico 102.3 Alguns procedimentos são comuns entre programas, por exemplo, para mostrar texto no terminal todos usam a função printf(). Ja pensou se todos os programas tivessem que carregar os mesmos códigos toda vez? O tamanho de cada programa seria gigante O uso da memoria ram seria exaustivo e repetitivo com o mesmo codigo replicado diversas vezes
Tópico 102.3 A solução para isso é o uso de bibliotecas compartilhadas Uma biblioteca contém códigos comuns que diversos programas poderão usar. Uma biblioteca pode ter uma cópia na memória quando necessário e satisfazer pedidos de vários programas separados. Problema: um programa espera que você já tenha a biblioteca instalada pois não vai conter o código dela
Tópico 102.3 Podemos usar o comando ldd para saber as bibliotecas das quais um programa depende. Ex: # ldd /bin/bash /bin/bash: libtermcap.so.2 => /lib/libtermcap.so.2 (0x40018000) libc.so.6 => /lib/libc.so.6 (0x4001c000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Tópico 102.3 As bibliotecas são controladas, colocadas e retiradas de memoria pelo programa ld.so a variavel de sistema LD_LIBRARY_PATH é usada para indicar as pastas em que ficam as bibliotecas para atualizar as bibliotecas podemos executar o ldconfig # ldconfig -p (lista o que tem no cache)
Tópico 102.4