Administração de sistemas operacionais Aula 09 Manipulação do sistemas de arquivos Prof. Esp. Diovani Milhorim File system Antes de instalar qualquer sistema operacional, é necessário particionar o HD, criando as partições de instalação. Devido a uma limitação nos endereços que vem desde a época dos primeiros PCs, é possível criar apenas 4 partições primárias, ou até três partições primárias e uma partição estendida, que pode ser usada para criar mais partições. File system Partições: Partições primárias: Cada disco no Linux pode conter no máximo quatro partições primárias. Estas partições contém necessariamente um sistema de arquivos e pelo menos uma deve ser criada. As partições primárias podem ser nomeadas como /dev/hda1, /dev/hda2, /dev/hda3 e /dev/hda4. Uma destas partições primárias deve ser marcada como ativa para que a inicialização do sistema operacional seja realizada com sucesso. File system Partições: Partições estendidas: Partições estendidas são uma variação das partições primárias, mas não podem conter um sistema de arquivos. Elas funcionam como um contêiner para as partições lógicas. Um disco pode ter somente uma partição estendida e que toma lugar de uma partição primária. Em uma configuração padrão, pode-se ter o seguinte esquema de particionamento dos discos. /dev/hda1 (partição primária) /dev/hda2 (partição secundária) File system Partições: Partições lógicas: As partições lógicas existem em conjunto com uma partição estendida e pode ter de uma a doze partições deste tipo. Elas são nomeadas á partir do número cinco até dezesseis. /dev/hda1 (partição primária) /dev/hda2 (partição estendida) /dev/hda5 (partição lógica) (...) /dev/hda16 (partição lógica) Podemos ter no máximo 15 partições com sistema de arquivos em um único disco, sendo três primárias e doze lógicas. File system Na figura 01 vê-se a tela do software Gparted com informações de um HD. O HD encontra-se dividido em 5 partições: /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda5 /dev/sda6 (com uma instalação do Windows) (com uma instalação do Ubuntu) (reservada / sem uso) (swap) (para arquivos). File system Figura 01: Tela do software gparte visualizando partições de um hd File system Na figura 01 a partição "/dev/sda4" é a partição estendida, que é criada automaticamente pelo particionador quando você usa a opção de criar uma partição lógica, como uma espécie de "container" para as demais partições. Nota-se que o tamanho especificado pelo particionador é o das duas partições somadas: File system Partição swap Este tipo de partição é usado para oferecer o suporte a memória virtual ao GNU/Linux em adição a memória RAM instalada no sistema. Ao se executar um programa e a memória RAM encher, o GNU/Linux move automaticamente os não estão sendo usados para a partição Swap memória RAM para a continuar carregando necessários. começar a dados que e libera a os dados Quando os dados movidos para a partição Swap são solicitados, o GNU/Linux move os dados da partição Swap para a Memória. Por este motivo a partição Swap também é chamada de Troca ou memória virtual. File system Partição swap O uso da partição swap é sempre recomendada, pois permite que o sistema disponha de uma área adicional para situações em que precisa de uma quantidade muito grande de memória RAM, como (por exemplo) ao editar vídeos. A memória swap pode ser usada também para mover arquivos e bibliotecas que não estão em uso, liberando mais memória RAM para uso dos programas e do cache de disco. File system Alterando o uso da Partição swap A propensão do sistema a utilizar memória swap é configurável através de uma opção do kernel, a "vm.swappiness", que aceita valores de 0 a 100, sendo que um valor baixo orienta o sistema a usar swap apenas quando não houver mais memória disponível. O default na maioria das distribuições é "60", o que faz com que o sistema use um pouco de swap mesmo quando tem memória de sobra disponível. Para alterar este parâmetro execute, como root, o comando: # sysctl vm.swappiness=20 Para que a alteração se torne permanente, edite o arquivo "/etc/sysctl.conf" e adicione a linha "vm.swappiness=20". File system Montando partições: O sistema nunca acessa os dados dentro da partição diretamente. Ao invés disso, ele permite que você "monte" a partição em uma determinada pasta e acesse os arquivos dentro da partição através dela. A montagem do volume físico é uma abstração do sistema operacional que nos permite visualizar o volume em uma forma lógica e mais compreensível. File system Montando partições: mount O comando "mount“ é responsável por criar a abstração de um sistema de arquivos lógicos a partir de um volume físico. A sintaxe básica inclui o dispositivo e a pasta onde ele será acessado, como em: # mount /dev/sdb1 /mnt/sdb1 File system Montando partições: mount Ao desmontar a partição, pode-se especificar tanto o dispositivo, quando a pasta onde ele foi montado, como em: # umount /mnt/sdb1 OU # umount /dev/sdb1 File system Montando partições: mount O comando mount é utilizado para montar um dispositivo na hierarquia do sistema de arquivos do Linux. As opções mais usadas são: -a - Monta todos os dispositivos especificados no arquivo /etc/fstab que não têm a opção noauto selecionada. -r - Monta o sistema de arquivos do dispositivo como somente leitura. -w - Monta o sistema de arquivos do dispositivo como leitura e gravação. -o - Especifica as opções de montagem. -t - Especifica o tipo do sistema de arquivos do dispositivo. File system Montando partições: mount Alguns tipos de sistemas de arquivos: ext2 - Partições Linux. ext3 - Partições Linux. reiserfs - Para partições reiserfs. vfat - Para partições Windows Fat. ntfs - Para partições Windows NTFS. iso9660 - Para montar unidades de cdrom. Exemplos: # mount /dev/hdb1 /mnt/windows -t vfat # mount /dev/fd0 /mnt/floppy -t vfat # mount /dev/cdrom /mnt/cdrom -t iso9660 File system Montando partições: arquivo fstab Os pontos de montagem, ou seja, as pastas onde as partições serão montadas, podem ser configurados através do arquivo "/etc/fstab". Quase sempre este arquivo é configurado durante a instalação do sistema, incluindo referências a todas as partições e CD-ROMs disponíveis, de forma que pode-se montar as partições digitando apenas "mount /dev/sdb1" (por exemplo), sem precisar usar o comando completo. File system Montando partições: arquivo fstab O arquivo fstab armazena as configurações de quais dispositivos devem ser montados e qual o ponto de montagem de cada um na inicialização do sistema operacional. O Linux suporta diversos sistemas de arquivos locais e remotos. O arquivo fstab está localizado no diretório /etc. File system Montando partições: arquivo fstab O arquivo fstab tem a aparência que podese observar na figura 02 abaixo: Figura 02: aparência característica do arquivo /etc/fstab File system Montando partições: arquivo fstab Campos do arquivo fstab: Dispositivo: Específica o dispositivo a ser montado. P.Montagem(Ponto de montagem). Especifica o diretório em que o dispositivo será montado. Tipo S.Arquivos(Tipo sistema de arquivos). Específica o tipo de sistema de arquivos a ser montado. Op. Montagem(Opções de montagem). Especifica as opções de montagem dependendo do tipo de sistema de arquivos. Backup(Freqüencia de Backup). O programa dump consulta o arquivo para saber a freqüencia de backup. É um campo numérico, onde 1 é para sistemas ext2 e 0 para outros. Ch.Disc(Checagem de disco). Determina se o dispositivo deve ou não ser checado na inicialização do sistema pelo fsck. É um campo numérico, onde 0 é para não ser checado, 1 é para ser checado primeiro(raiz) e 2 para checar depois do raiz. File system Montando partições: arquivo fstab Opções de montagem: File system Montando partições: arquivo fstab Opções de montagem: File system Montando partições: Comando fdisk Para saber informações do seu sistema de arquivos use o comando fdisk. Exemplo: # fdisk -l Perceba que para realizar essa operação preciso estar logado como usuário root (superusuário). File system Montando partições: Comando fdisk Vê-se na figura 03 a saída típica do comando fdisk –l: Figura 03: saída típica do comando fdisk –l: File system Montando partições: Comando fdisk O fdisk é um utilitário para criar, listar e apagar partições de disco. Ele é muito robusto e possibilita criar uma lista grande de tipos de partições para o Linux e diferentes sistemas operacionais. O fdisk funciona em modo texto e com um menu pouco amigável. Exemplo: # fdisk /dev/hda Neste exemplo o fdisk ira particionar o disco primário mestre IDE. As opções mais usadas são: a d l m - Marca ou desmarca a partição como ativa. Apaga uma partição. Lista os tipos de partição possível Mostra ajuda. File system Montando partições: Comando df O comando df é usado para exibir o número de blocos livres no HD e inodes.. O número de inodes é definido na formatação do disco. As opções mais usadas são: -h - Mostra as informações de forma amigável. -i - Mostra o número de inodes restantes. Exemplo: # df -h Sist. Arq. /dev/hda2 tmpfs /dev/hda1 /dev/hda4 Tam Usad 19G 3,9G 126M 0 89M 11M 13G 8,8G Disp Uso% Montado em 15G 21% / 126M 0% /dev/shm 74M 13% /boot 3,6G 72% /home File system Montando partições: Comando df O comando df também pode receber como parâmetro um diretório. Neste caso ele irá mostrar a capacidade utilizada e restante deste diretório. Exemplo: #df /home/fernando Sist. Arq. /dev/hda4 1K-blocos Usad 12891760 9220040 Dispon. Uso% Montado em 3671720 72% /home File system Montando partições: Comando du O comando du é usado para obter informações do espaço utilizado por um diretório ou arquivo. É muito útil para determinar o uso do espaço disponivel em disco. As opções mais usadas são: -a - Mostra todos os arquivos e não somente os diretórios. -c - Mostra um total no final da listagem. -h - Mostra as informações de maneira mais amigável. -s - Mostra um sumário do diretório especificado e não o total de cada subdiretório. -S - Exclui os subdiretórios da contagem. Exemplo: # du -h meuarquivo.tgz 8,2M meuarquivo.tgz File system Montando partições: Comando fsck O comando fsck checka e corrige erros no sistema de arquivos. Por padrão, o fsck assume o sistema de arquivos ext2 e, após fazer uma checagem no disco, pergunta ao usuário se ele deseja fazer as correções necessárias. As opções mais usadas são: -A - Faz a checkagem de todos os discos especificados no arquivo /etc/fstab. -t - Específica o tipo de sistema de arquivos que deverá ser checado. -b superbloco - Específica qual o superbloco o fsck irá trabalhar. -c - Faz checkagem de setores defeituosos. -f - Força a checkagem. -p - Repara automaticamente o sistema de arquivos. -y - Executa o fsck de modo não interativo. Exemplo: # fsck -p -y /dev/hda1