segunda-feira, 16 de maio de 2016

Montando partições automaticamente

Entendendo o FSTAB

Quem usa Windows e Linux no mesmo computador (dual boot) com certeza já usou o comando mount para poder "enxergar" os arquivos do Windows no Linux. Com o passar do tempo fica muito cansativo ter que ficar digitando o mesmo comando toda vez que o Linux é iniciado. Seria muito bom se o sistema de arquivos fosse montado automaticamente na inicialização e com o arquivo fstab isso é possível.

O arquivo /etc/fstab é responsável pela entrada de partições e/ou dispositivos que possuam os sistemas de arquivos. Abaixo segue um exemplo do arquivo /etc/fstab:

# cat /etc/fstab

/dev/hda3     swap         swap       defauts                  0   0
/dev/hda2     /            reiserfs   defaults                 0   0
/dev/fd0      /mnt/floppy  auto       defaults,user,noauto     0   0
/dev/cdrom    /mnt/cdrom   iso9660    defaults,user,noauto,ro  0   0




Coluna 3 - Curto e grosso, é onde informamos o sistema de arquivo do disco/partição. Temos disponíveis "algumas" opções:

adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs.

Para mais tipos de sistema e detalhes, veja a página de manual do mount:

$ man mount

Uma ressalva a fazer é a opção "auto", que diz para o sistema automaticamente detectar o sistema de arquivo presente na partição.
É possível excluir ou adicionar partições e/ou dispositivos seguindo os seguintes significados das colunas:

1ª Coluna
Especificação do arquivo do dispositivo que será montado.


2ª Coluna

É o local (diretório) onde o dispositivo especificado na 1ª será montado, Ex:

Disco 1: /boot, /, /var e o Swap
Disco 2: /home
Disco 3: /backup
Disco 4: /backup2 


3ª Coluna
É o tipo de sistema sistema de arquivos.

    ext2 - Sistema de arquivos do Linux;
    ext3 - Sistema de arquivos journaling (ext2 + journaling);
    reiserfs - Sistema de arquivos journaling do Linux;
    msdos - Sistema de arquivos MS-DOS;
    vfat - Sistema de arquivos Win9x;
    ntfs - Sistema de arquivos Win2k, XP;
    iso9660 - Sistema de arquivos do CD-ROM;
    auto - Detecta o tipo de sistema automaticamente.

e outros:

adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs.


 
Para mais tipos de sistema e detalhes, veja a página de manual do mount:
$ man mount

4ª ColunaA coluna 4 descreve as opções de montagem da partição/disco associadas ao sistema de ficheiros. Aqui podemos fazer várias configurações afim de personalizarmos nosso sistema.

Uma opção muito utilizada por administradores de sistemas é a opção de bloquear o uso da unidade de disquetes e cdrom (não que eu seja de acordo, sou a favor da liberdade).

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.

5ª Coluna


Dump para o dispositivo.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. 

    0 - Não faz dump;
    1 - Faz dump.


6ª Coluna
Verificação e reparo do dispositivo.
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 fsck conclui não ser necessário a verificação aqui.     

0 - Não faz a verificação e reparo.
1 - Faz a verificação e reparo.
 

Montando os dispositivos

Vamos imaginar o seguinte cenário: você tem o Windows e o Linux instalados no seu HD de 40GB, teoricamente você teria 3 partições: 1 ntfs ou fat para Windows, 1 ext2, ext3 etc e 1 swap, ambas para o Linux. E se quisermos montar a partição Windows no Linux automaticamente toda vez que ele for iniciado?

Primeiro crie um diretório que será usado para montar o dispositivo:

# mkdir /mnt/windows

Agora acrescente a seguinte linha no /etc/fstab:

mount /dev/hda1  /mnt/windows    ntfs   defaults,user,auto    0  0

Essa linha monta o conteúdo do hda1 (c:) dentro do diretório /mnt/windows automaticamente, que pode montado/desmontado por qualquer usuário do sistema. Detalhe: quando o tipo de partição for ntfs, será necessário colocar o rw na 4ª coluna, caso contrário você não poderá criar ou excluir arquivos e/ou pastas. Ex:

mount /dev/hda1    /mnt/windows    ntfs    defaults,user.rw,auto    0    0 
Exemplo do meu fstab:
cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>

#Entry for /dev/sda6 :
UUID=7ef92b10-48c6-44c3-b5fd-5056f3774ea0    /    ext4    errors=remount-ro    0    1
 
#Entry for /dev/sda3 :
UUID=2CA42702A426CE60    /media/Dados    ntfs-3g    defaults,locale=pt_BR.UTF-8    0    0
 
#Entry for /dev/sda5 :
UUID=8f22e3df-9de3-4a71-a4a1-99cfea9ee734    none    swap    sw    0    0
Comando para descobrir o UUID do Disco:
ls -lh /dev/disk/by-uuid/*
ou
sudo blkid

Nenhum comentário:

Postar um comentário