View
4
Download
0
Category
Preview:
Citation preview
Formação de Administradores de Redes Linux
LPI – level 1
Aula 5SENAC TI
Fernando Costa
Agenda• 101.1 – Identificar e editar configurações
de hardware– (/sys, /proc, /dev, modprobe, lsmod,
lspci)
• 102.1 – Dimensionar as partições de disco
– (/ (raiz), /var, /home, swap, pontos de montagem, partições)
• 104.1 – Criar partições e sistemas de arquivos
– (fdisk, mkfs, mkswap)
• 104.2 – Manutenção da integridade de sistemas de arquivos
– (du, df, fsck, e2fsck,mke2fs, debugfs, dumpe2fs, tune2fs, xfstools)
• 104.3 – Controle da montagem e desmontagem do sistema de arquivos
– (/etc/fstab, /media, mount, umount)
101.1 – Identificar e editar configurações de hardware
• /sys• /proc• /dev• modprobe• lsmod• lspci• lsusb
/dev
• O diretório "/dev", que é de longe o exemplo mais exótico de estrutura de diretório no Linux. Todos os arquivos contidos aqui, como, por exemplo, "/dev/sda", "/dev/dsp", "/dev/modem", etc., não são arquivos armazenados no HD, mas sim ponteiros para dispositivos de hardware.
• O "arquivo" "/dev/mouse" contém as informações enviadas pelo mouse, enquanto o "/dev/dsp" permite acessar a placa de som, por exemplo.
• Essa organização visa facilitar a vida dos programadores, que podem acessar o hardware do micro simplesmente fazendo seus programas lerem e gravarem em arquivos, deixando que o kernel se encarregue da parte complicada.
/dev
• /dev Dispositivos– /dev/hd Discos rígidos
• /dev/hda1 Primeira partição do disco rígido A
– /dev/sd Discos SCSI• /dev/sdb2 Segunda partição do disco rígido SCSI b• /dev/sda4 ZIP drive
– /dev/fd Disquete• /dev/fd0 Disquete a:
– /dev/null Buraco negro, tudo que é enviado paraeste dispositivo está perdido para sempre.
– /dev/tty Terminais• /dev/tty1 Terminal 1
/proc
• Complementa o "/dev“• Não armazena arquivos, mas sim informações sobre o
hardware e sobre a configuração do sistema.• Estas informações são usadas por utilitários de
detecção e configuração do sistema, mas podem ser úteis também quando você quer checar alguma configuração manualmente.
• O comando "cat /proc/net/dev" mostra informações sobre as interfaces de rede,
• o "cat /proc/cpuinfo" mostra informações sobre o processador e assim por diante.
/sys
• O diretório /proc faz par com o "/sys", uma novidade introduzida a partir do kernel 2.6
• Agrupa informações sobre os dispositivos instalados, incluindo o tipo, fabricante, capacidade, endereços usados e assim por diante.
• Estas informações são geradas automaticamente pelo kernel e permitem que os serviços responsáveis pela detecção de hardware façam seu trabalho, configurando impressoras e criando ícones no desktop para acesso ao pendrive, por exemplo.
modprobe
# modprobe [módulo]
Exemplo:# modprobe vboxdrv
• O modprobe lê o arquivo de dependências de módulos gerado pelo comando depmod. Por isso, deve-se executar o comando# depmod –apara produzir um novo arquivo contendo as dependências de módulo. Após executá-lo, pode-se usar o comando modprobe para instalar qualquer módulo e ter os outros módulos dos quais ele depende automaticamente instalados.
• Observações: Para acrescentar um módulo automaticamente a cada inicialização do sistema, inclua o comando correspondente no arquivo /etc/rc.d/rc.local ou no arquivo /etc/rc.sysinit.
lsmod
Uso: # lsmod
• Cada linha do exemplo mostra as seguintes informações: nome, tamanho, contador de uso e lista dos módulos que referenciam o módulo em questão (dependem do módulo). A palavra autocleanindica que o módulo é removido automaticamente da memória quando não está sendo utilizado.
Module Size Used byparport_pc 5620 0 (autoclean)parport 7124 0 (autoclean) [parport_pc]nfsd 149048 8 (autoclean)lockd 30888 1 (autoclean) [nfsd]sunrpc 52548 1 (autoclean) [nfsd lockd]aic7xxx 105584 5
• Na realidade, o comando lsmod apenas exibe o conteúdo do arquivo /proc/modules
rmmod
# rmprobe [módulo]
Exemplo:
# rmmod vboxdrv
• Remove o driver da memória• Desabilita o módulo
lspci
Inspeciona dispositivos PCI conectados
Manual:# man lspci# lspci --help
Exemplos de uso:
lspci -v (informações detalhadas)lspci -vv (informações mais detalhadas)lspci -vvv (informações totalmente detalhadas)
lsusb
Inspeciona dispositivos USB conectados
Manual:# man lsusb# lsusb --help
Exemplos de uso:
# lspci -v (informações detalhadas)# lsusb -s 001:001 -v (informações detalhadas da porta usb bus:device 001:001)
dmesg
• Mostra as mensagens do kernel, da identificação do hardware em diante. Essa informação está disponível em /var/log/dmesg e /var/log/messages.
Exemplo:# dmesg
102.1 – Dimensionar as partições de disco
• / (raiz)• /var• /home• swap• pontos de montagem• partições
Estrutura de arquivos
/
bin etc mnt/ home/
Floppy cdrom
pedro ana
usr
/ (raiz)
• Abriga todos o sistema, todos arquivos que forem criados e não possuírem partição específica, irão buscar recursos nesta pasta.
Equivalente ao “C:\” do S.O. Windows
/var
• Dados que mudam durante funcionamentodo sistema
Exemplo:Arquivos de log ( /var/log/messages )Arquivos de bancos de dados (
/var/lib/mysql )Arquivos com número de processos ()
/home
• Pasta pessoal dos usuários do sistema.
Por exemplo:/home/senacti/home/fernandocosta/home/joao
Equivalente ao “C:\Document and Settings\” do S.O. Windows
Outros diretórios importantes
• /bin ou /sbin comandos necessários paraoperção mínima
• /etc Arquivos de configuração e início
• /lib Bibliotecas para programasC
• /tmp Arquivos temporários
/usr
• /usr Programas– /usr/local Programas instalados localmente
– /usr/bin/ Comandos de usuários– /usr/sbin Comandos do sistema que não
são necessários no sistema de arquivos root
– /usr/man Páginas de manuais
swap
• O swap é uma área de troca usada para aumentar a quantidade de memória RAM do sistema.
• Até o kernel 2.1, o tamanho máximo de uma partição de swap era de 128MB. A partir do kernel 2.2 essa limitação passou a ser de 2GB.
• O Linux pode ter mais de 8 áreas de troca ativas ao mesmo tempo. Entretanto, o total da área de swap não pode ultrapassar 16GB.
• Comandos relacionados
• mkswap : formata uma área de swap. • swapoff : desabilita dispositivos de swap. • swapon : habilita dispositivos de swap.
Pontos de Montagem
• O GNU/Linux acessa as partições existente em seus discos rígidos e disquetes através de diretórios. Os diretórios que são usados para acessar (montar) partições são chamados de Pontos de Montagem.
• No DOS cada letra de unidade (C:, D:, E:) identifica uma partição de disco, no GNU/Linuxos pontos de montagem fazem parte da grande estrutura do sistema de arquivos raiz.
Partições
• São divisões existentes no disco rígido que marcam onde começa onde termina um sistema de arquivos. Por causa destas divisões, nós podemos usar mais de um sistema operacional no mesmo computador (como o GNU/Linux, Windows e DOS), ou dividir o disco rígido em uma ou mais partes para ser usado por um único sistema operacional.
104.1 – Criar partições e sistemas de arquivos
• Fdisk• Mkfs• Mkswap
fdisk
Uso:fdisk [dispositivo]
Opções:• m lista opções• d exclui partição• l lista tipos conhecidos• n cria nova partição• p exibe tabela de parti₤ões atual• q sai sem salvar alterações• w grava tabela no disco e sai• t troca tipo de sistema de uma partição• x Funções adicionais
mkfs
# mkfs [opções] dispositivo [blocos]
Onde:• dispositivo : é o arquivo especial correspondente ao dispositivo. • blocos : é quantidade de blocos a ser utilizada pelo sistema de arquivos.
Opções:-t tipo : especifica o tipo de sistema de arquivos a ser criado. O padrão é ext2.-c : checa o dispositivo a procura de blocos defeituosos durante a criação do
sistema de arquivos.
Por exemplo:• mkfs -t ext2 /dev/fd0 1440 configura o disquete para o sistema de arquivos
ext2.
mkswap
Uso:mkswap [-c] dispositivo [bloco]
Opções:-c pede que se verifique a existência de blocos ruins antes de criar o sistema
de arquivos. • dispositivo tem normalmente o seguinte formato
/dev/hda[1-8]/dev/hdb[1-8]/dev/sda[1-8]/dev/sdb[1-8]
• bloco corresponde ao número de blocos que a área de swap deve possuir sendo que cada bloco tem 1 Kb. O valor mínimo (MINCOUNT) e o valor máximo (MAXCOUNT) possíveis para este parâmetro é calculado da seguinte forma: MINCOUNT = 10 * tamanho_página / 1024 MAXCOUNT = (tamanho_página - 10) * 8 * tamanho_página / 1024 Caso este parâmetro não seja fornecido, ele é determinado automaticamente pelo mkswap.
mkswap
• Exemplo:
# dd if=/dev/zero of=/teste bs=1024 count=64000000(esse comando irá criar um arquivo “/teste”, com o
tamanho de 64MB (count=64000000).
# mkswap /teste(cria dentro desse arquivo um padrão de partição swap)
# swapon teste(habilita a partição swap, pronto agora está tudo
funcionando!)
104.2 – Manutenção da integridade de sistemas de arquivos
• Du• Df• Fsck• E2fsck• Mke2fs• Debugfs• Dumpe2fs• Tune2fs• xfstools
du
$ du [opções] [arquivo ... ]
Opções-a : mostra o espaço ocupado por todos os arquivos (de forma
recursiva). -h : mostra o espaço ocupado de forma mais legível para humanos.-b : mostra o espaço ocupado em bytes.-c : mostra o total do espaço ocupado.-k : mostra o espaço ocupado em Kbytes (é o padrão).-s : lista apenas o total para cada argumento.
O uso do comando du, sem qualquer opção e sem nome de arquivo ou diretório, fornece a quantidade de espaço ocupada por cada subdiretório que se encontra hierarquicamente abaixo do diretório atual e a totalização dos espaços ocupados por esses subdiretórios.
du
Por exemplo:
• para ver o tamanho do arquivo teste.txt em bytes, digite # du -b teste.txt
• Para obter o tamanho, em Kbytes, de todos os arquivos do diretório corrente com extensão txt e o total de espaço ocupado por estes arquivos, basta digitar# du -c *.txt
• Experimente: # du -ksh /*
df - report file system disk space usage
Uso:df [opções] [partição]
Opções:-a : inclui também na listagem os sistemas de arquivos com zero blocos.-h : lista o tamanho de forma mais legível para humanos.-k : lista o tamanho dos blocos em kbytes.-m : lista o tamanho dos blocos em Mbytes.-t tipo : especifica o tipo dos sistemas de arquivos a serem listados.-x tipo : especifica o tipo dos sistemas de arquivos que não deve ser listado.
Por exemplo, o comando# df /dev/hda1 (exibe as informações sobre o espaço livre da partição /dev/hda1.)
# df -h
fsck
Uso:# fsck [opções] sistema
onde sistema pode ser o nome do dispositivo ou o ponto de montagem para o sistema de arquivos. Se mais de um sistema de arquivo for fornecido, o fsck tentará verificá-los em paralelo.
Opções:-a : repara automaticamente o sistema de arquivos com defeito.-A : analisa o arquivo /etc/fstab e tenta verificar todos os arquivos
listados de uma vez.-N : não executa, apenas mostra o que seria feito.-r : pergunta se o sistema de arquivos deve ser reparado quando
detecta alguma falha.-V : produz uma saída detalhada.
fsck
ObservaçõesO fsck é usado para verificar e, opcionalmente, reparar um sistema de
arquivos do Linux. O código de erro retornado é a soma das seguintes condições:
• 0 - nenhum erro.• 1 - erros do sistema de arquivos corrigidos.• 2 - o sistema deve ser reiniciado.• 4 - erros do sistema de arquivos não corrigidos.• 8 - erro operacional.• 16 - erro de uso ou de sintaxe.• 128 - erro de biblioteca compartilhada.
Na realidade, o fsck é simplesmente um intermediário para os vários verificadores de sistemas de arquivos disponíveis no Linux (por exemplo, fsck.ext4 para sistemas de arquivo do tipo ext4).
E2fsck
• É o FSCK para sistemas de arquivos ext2 e ext3
# e2fsck --help# man e2fsck
mke2fs – cria um sistemas de arquivos ext2/3
Uso:# mke2fs [opções] [dispositivo]
Opções:-b num : especifica num bytes por bloco.-c : verifica e formata o disco usando um método mais rápido.-m num : reserva num% de espaço no disco para o superusuário.
Por exemplo:# mke2fs /dev/hda1
formata o dispositivo /dev/hda1 para suportar um sistema de arquivos do tipo ext2.
É possível usar o comando mke2fs para formatar e configurar disquetes para o sistema de arquivos ext2. Neste caso, temos uma formatação de alto nível.
mke2fs /dev/fd0Use o comando fdformat para uma formatação de baixo nível e depois use o comando
mkfs para configurar o disquete para o sistema de arquivos ext2.
debugfs
O programa debugfs é um depurador de sistemas de arquivos interativo. Ele pode ser usado para examinar e alterar o estado de um sistema de arquivos.
Manual traduzido:http://pjtsalina.codigolivre.org.br/doc/linux/mancl5/man8/debugfs.8.html
Exemplo:
Recuperação de arquivos removidos:http://linux.lcc.ufmg.br/index.php/component/content/article/39-sistemas-de-arquivos/77-recuperando-arquivos-removidos.html
Dumpe2fs
Mostra detalhes sobre uma partição Linux.
Uso:dumpe2fs [opções] [partição]
Onde: • partição
– Identificação da partição que será usada. • opções
-b– Mostra somente os blocos marcados como defeituosos no sistema de arquivos especificado.
Este comando lista diversas opções úteis do sistema de arquivos como o tipo do sistema de arquivos, características especiais, número de inodos, blocos livres, tamanho do bloco, intervalo entre checagens automáticas, etc.
Exemplo: dumpe2fs /dev/sda1, dumpe2fs -b /dev/sda1
Tune2fs
• Otimiza performance do sistema de arquivos
Uso [opções] [partição]
Opções-c montagem-máxima
Ajusta o número máximo de montagens entre duas ve-rificações do sistema de arquivos. -e comportamento-em-erro
Muda o comportamente do código do kernel quando erros são detectados. comportamento-em-erro pode ser um dos seguintes:
– continue Continua a execução normal.– remount-ro Remonta o sistema de arquivos somente para leitura.– panic Causa pânico do kernel.
-g grupoDefine o grupo de usuários que pode se beneficiar dos blocos reservados. grupo pode ser um gid numérico ou o nome de um grupo.
-i intervalo-entre-verificações[d|m|w]Ajusta o tempo máximo entre duas verificações do sistema de arquivos. Nenhum sufixo ou `d' resulta em dias,
`m' em meses e `w' em semanas. Um valor de zero vai desabilitar a verificação dependente do tempo. -l
Lista o conteúdo do superbloco do sistema de arquivos. -m número-de-blocos-reservados
Ajusta a porcentagem de blocos reservados no dispositivo dado.
Tune2fs-r contagem-blocos-reservados
Ajusta a quantidade de blocos reservador no dispositivo dado. -s marca-super-esparso
Ajusta e reinicia a marca superbloco-esparso. A característica superbloco-esparso economiza espaço em sistemas de arquivos realmente grandes. Aviso: O kernel do Linux 2.0 não suporta corretamente esta característica, nem todos os kernels do Linux 2.1; por favor não use isto a não ser que você saiba o que está fazendo!
-u usuárioDefine o usuário que pode se beneficiar dos blocos reservados. usuário pode ser um uid
numérico ou um nome de usuário. -C número-de-montagens
Define o número de vezes que o sistema de arquivos foi montado. -L rótulo-do-volume
Define o rótudo do volume no sistema de arquivos. -M diretório-da-última-montagem
Define o diretório da última montagem do sistema de arquivos. -U UUID
Define o UUID do sistema de arquivos. Um exemplo de UUID parece assim: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". O uuid também pode ser "null", o que define o UUID do sistema de arquivos como um UUID nulo. O uuid também pode ser "random", o que gera um UUID aleatório para o sistema de arquivos.
xfs tools (xfs_metadump, xfs_info)
xfs_metadump
Copia um sistemas de arquivos para um arquivo
xfs tools (xfs_metadump, xfs_info)
xfs_info
Amplia o tamanho de um sistemas de arquivos XFS
104.3 – Controle da montagem e desmontagem do sistema de arquivos
• 104.3 – Controle da montagem e desmontagem do sistema de arquivos
– (/etc/fstab, /media, mount, umount)
/etc/fstab
• O arquivo "/etc/fstab" permite configurar o sistema para montar partições, CD-ROMs, disquetes e compartilhamentos de rede durante o boot. Cada linha é responsável por um ponto de montagem. É através do "/etc/fstab" que o sistema é capaz de acessar o seu CD-ROM, por exemplo. O fstab é um dos arquivos essenciais para o funcionamento do sistema, por isso, antes de editá-lo, faça sempre uma cópia de segurança:
• # cp /etc/fstab /etc/fstab-original
.
/etc/fstab• Colunas 1, 2 e 3
Coluna 1 - É a partição/disco a ser montado. No nosso exemplo temos duas entradas diferentes:
LABEL=/ e /dev/hdb1
/etc/fstab• Coluna 4
A coluna 4 descreve as opções de montagem da partição/disco associadas ao sistema de arquivos. Aqui podemos fazer várias configurações afim de personalizarmos nosso sistema.
Vamos as opções: • auto, noauto - Diz para o sistema se deve ou não montar automaticamente. Se colocar a opção "auto", o sistema
irá montar no boot, se estiver "noauto", terá que montar o disco/partição manualmente. Default: auto. • user, nouser - Aqui é onde permitimos ou não os usuários montarem o disco/partição. Colocando "user", qualquer
usuário consegue montar, se colocarmos "nouser", apenas o super usuário conseguirá montar (root). Default: user.
• exec, noexec - Permite ou não a execução de binários no sistema de arquivos. Default: exec (imagine que, por engano, coloque noexec no /).
• rw - Monta o sistema de ficheiros com a opção Read-Write, ou seja, leitura e escrita. • ro - Monta o sistema de ficheiros com a opção Read-Only, ou seja, somente leitura. • sync, async - Diz ao sistema como deve ser a sincronização de dados (Input/output). Explicando melhor, diz
como o sistema deve proceder quando tem que escrever no disco, se deve guardar em memória primeiro, aguardar confirmação e então escrever ou se escreve directamente (fisicamente) no disco/partição/disquete.
Um exemplo, são as "pendrives", quando você escreve um documento de texto na sua pen, se estiver a opção sync, o sistema escreve na hora o documento na pen, se estiver async, o sistema apenas escreve o documento quando você for desmontar a pen. O grande problema coloca-se quando o utilizador esquece de desmontar o drive. Default: async.
• suid, nosuid - Habilita/desabilita o bit de set-user-identifier ou set-group-identifier. • defaults - Diz ao sistema para carregar as opções padrão, que são: rw, suid, dev, exec, auto, nouser e async. •
Para outras opções, consulte a página de manual do mount.
/etc/fstab
Coluna 5 - Esta coluna é a opção de dump do sistema, que nada mais é do que um utilitário de backup do sistema. O dump "lê" aqui o número e decide se o sistema deve ou não ser feito backup. Se estiver 0 (zero), o dump simplesmente ignora o disco/partição.
Coluna 6 - Esta coluna é utilizada pelo fsck para a verificação dos discos/partições. Partições/discos de sistema normalmente tem esta opção como 1, outras partições do sistema como 2. Sistemas de arquivos no mesmo disco são verificados sequencialmente, enquanto que sistemas de arquivos em discos diferentes são verificados ao mesmo tempo, utilizando a função de paralelismo (se o hardware permitir). Se colocar esta opção como 0 (zero), o fsckconclui não ser necessário a verificação aqui.
/media
• o diretório "/mnt" (de "mount") recebe este nome justamente por servir de ponto de montagem para o drive óptico ("/mnt/cdrom" ou "/mnt/dvd") e outros dispositivos de armazenamento. Na maioria das distribuições atuais ele é substituído pelo diretório "/media", que tem a mesma função. Ao plugar um pendrive no Ubuntu, por exemplo, ele é montado pelo sistema na pasta "/media/disk"; ao plugar um cartão de memória, ele é visto como "/media/card" e assim por diante.
• Na verdade, o uso do diretório "/media" ou "/mnt" é apenas uma convenção. Você pode perfeitamente montar o seu pendrive dentro da pasta "/home/fulano/pendrive", por exemplo, desde que faça a montagem de forma manual. Os diretórios padrão de montagem das partições são configuráveis através do "/etc/fstab", que é um dos arquivos básicos de configuração do sistema.
mountUso:# mount [opções] dispositivo ponto_de_montagem
Em um sistema Linux, os arquivos estão organizados em uma grande árvore, onde o diretório raiz (pai de todos os outros diretórios) é representado como /. Estes arquivos podem estar distribuídos por diversos dispositivos como disquetes, cd-rooms, HDs, etc.
O comando mount é usado para incluir o sistema de arquivos, de um dispositivo qualquer, à grande árvore de arquivos.
Opções -a : monta todos os sistemas de arquivos especificados no arquivo /etc/fstab.-r : monta a partição somente para leitura.-t tipo : especifica o tipo de sistema de arquivo que será montado.
São exemplos de tipos de sistemas: – ext2 - para partições Linux. – vfat - para partições Windows (permite nomes de arquivos com até 32 caracteres). – msdos - para partições DOS. – iso9660 - para unidades de CD-ROM. – umsdos - para partição DOS com alguns recursos de Linux.
-v : lista o sistema de arquivo de cada dispositivo montado.-w : monta a partição para leitura/gravação (é o padrão).
mount• O exemplo abaixo monta uma partição DOS localizada em /dev/hda1 no diretório /mnt/dos# mount -r -t msdos /dev/hda1 /mnt/dos
Se o dispositvo já foi descrito no /etc/fstab, mas ainda não foi montado, então basta especificar o nome do dispositivo ou o ponto de montagem ao digitar o comando mount.
Por exemplo, suponha que o sistema tenha a seguinte linha no /etc/fstab/dev/fd0 /mnt/floppy vfat exec,dev,suid,rw,noauto 0 0 O
comando acima define que o disquete (/dev/fd0) deve ser montado abaixo do diretório /mnt/floppy, sendo que o sistema de arquivos usado é vfat (Windows/DOS). A opção noauto define que o dispositivo não deve ser montado automaticamente durante a inicialização do sistema.
Para montar o disquete você deve digitar# mount /mnt/floppy/ou# mount /dev/fd0
Observações:O arquivo /etc/mtab possui a lista de todos os sistemas de arquivos atualmente montados no Linux.O comando mount, sem parâmetros, faz o sistema listar o conteúdo do arquivo /etc/mtab.
umount
Uso# umount [opções] dispositivo / ponto de montagem
Opções:-a : desmonta todos os sistemas de arquivos especificados em /etc/mtab.-r : no caso da desmontagem falhar, tenta remontar apenas para leitura.-v : exibe mensagens durante o processo de desmontagem da partição.
Por exemplo, para desmontar o sistema de arquivos de um disquete, montado no diretório /mn/floppy, basta digitar:
# umount /dev/fd0 ou# umount /mnt/floppy/
Fernando Costawww.fernandocosta.com.brfernandocosta@gmail.com
Recommended