O fstab é o arquivo de configuração que contém informações sobre todas as partições e dispositivos de armazenamento do computador. Esse arquivo está localizado no diretório /etc, de forma que o caminho completo desse arquivo é /etc/fstab.
O /etc/fstab contém informações de onde suas partições e dispositivos de armazenamento devem ser montados e como. Se não puder acessar a sua partição Windows no Linux, não ser capaz de montar seu CD ou escrever em um disquete como usuário normal, ou tiver problemas com CD-RW, você provavelmente tem um arquivo /etc/fstab mal configurado. Assim, você pode corrigir manualmente seus problemas de montagem pela edição do arquivo fstab.
O /etc/fstab é apenas um arquivo de texto puro, de forma que você pode abri-lo e edita-lo com qualquer editor de texto que esteja familiarizado. Porém, observe que você precisa ter privilégios de super-usuário antes de poder editar o fstab. Assim, para poder editar esse arquivo, você precisa logar como root ou usar o comando su para tornar-se super-usuário.
< Visão geral do arquivo >
Naturalmente cada máquina possui um arquivo /etc/fstab um pouco diferente porque suas partições, dispositivos e suas propriedades são diferentes em cada sistema. Mas a estrutura básica dele é sempre a mesma. Abaixo segue um exemplo do conteúdo do /etc/fstab:
/dev/hda2 | / | ext2 | defaults | 1 1 |
/dev/hdb1 | /home | ext2 | defaults | 1 2 |
/dev/cdrom | /media/cdrom | auto | ro,noauto,user,exec | 0 0 |
/dev/fd0 | /media/floppy | auto | rw,noauto,user,sync | 0 0 |
proc | /proc | proc | defaults | 0 0 |
/dev/hda1 | swap | swap | pri=42 | 0 0 |
O essa sopa de letrinhas faz? Como pode ver, cada linha contém a informação de um dispositivo ou partição. A primeira coluna contém o nome do dispositivo, a segunda seu ponto de montagem, a terceira o tipo do sistema de arquivo, a quarta são as opções de montagem, a quinta (um número) opções de esvaziamento, e a sexta (outro número) são as opções de checagem do sistema de arquivos. Vamos dar uma olhada em cada item desses.
< 1ª e 2ª colunas: Dispositivos e pontos de montagens padrão >
A primeira e segunda coluna devem ser bem diretas. Elas dizem ao comando mount exatamente as mesmas coisas que você informaria a ele se fosse montar algo manualmente: o que é o dispositivo ou partição, e onde será o ponto de montagem. O ponto de montagem especificado por um dispositivo no /etc/fstab é o ponto de montagem padrão. Esse é o diretório onde o dispositivo será montado se você não especificar outro ponto de montagem quando for montar o dispositivo.
Como você deve saber, muitas distribuições Linux criam diretório especiais para pontos de montagens. Muitas distribuições criam esses diretórios em /mnt, e outras em /media. Como provavelmente você notou ao dar uma olhada no fstab, nesse artigo foi usado o diretório /media.
O que tudo isso significa? Se for digitado o seguinte comando:
$ mount /dev/fd0
…o disquete será montado em /media/floppy
, por este ser o ponto de montagem especificado em /etc/fstab. Se não houver nenhuma entrada para /dev/fd0 no fstab quando o comando acima for disparado o mount ficará muito confuso e não saberá onde montar o disquete.
Você pode alterar livremente os pontos de montagem listados no /etc/fstab se não estiver satisfeito com os locais padrão de sua distribuição. Apenas certifique-se de que o ponto de montagem seja um diretório que já existe no seu sistema. Se não existir, simplesmente crie-o.
Algumas partições e dispositivos são automaticamente montados quando o seu sistema Linux é iniciado. Por exemplo, dê uma olha no fstab exemplo a seguir. Haverão linhas que se parecerão com isso:
/dev/hda2 / ext2 defaults 1 1
/dev/hdb1 /home ext2 defaults 1 2
Como vimos, essas linhas dizem que /dev/hda2 será montado em / e /dev/hdb1 será montado em /home. Isso é feito automaticamente quando o Linux inicia… se não fosse feito isso, você teria dificuldades em usar seu sistema Linux pois todos os programas que você usa estão em / e você não seria capaz de executa-los se / não estivesse montado. Mas como o sistema sabe onde você quer montar /dev/hda2 e /dev/hdb1? Olhando o arquivo /etc/fstab, naturalmente.
< 3ª coluna: Tipo do sistema de arquivo >
A terceira coluna do arquivo especifica o tipo de sistema de arquivo do dispositivo ou partição. Muitas tipos diferentes são suportados mas iremos ver apenas os mais comuns.
ext2 e ext3 Há uma grande possibilidade de sua partição Linux ser Ext3.Ext2 costumava ser o sistema de arquivos padrão do Linux, mas atualmente, Ext3 e ReiserFs são normalmente os sistemas de arquivos padrão para quase todas as distribuições Linux. Ext3 é um sistema de arquivos novo que se difere do Ext2 por ter suporte a registro de transações (journalising), o que significa que se você desligar o seu computador de forma inadequada, não perderia nenhum dado e seu sistema não gastaria muito tempo fazendo a verificação do sitema de arquivos no próximo boot.
reiserfs Suas partições Linux podem muito bem ser formatadas com o ReiserFs. Como o Ext3, o ReiserFs tem suporte a registro de transações (journalising), mas é muito mais avançado que o Ext3.
swap O nome do sistema de arquivos é auto-explanatório. O tipo “swap” é usado pela suas partição de troca (swap).
vfat and ntfs Seu pendrive USB muito provavelmente deve testar formatado como Vfat (mais comumente conhecido como FAT32). Suas partições Windows devem ser Vfat ou NTFS. A série 9x (95, 98, Me) usa Vfat, e a série NT (NT, 2000, XP, Vista, 7) usa NTFS mas podem ser formatadas com Vfat também.
auto Não, isso não é um tipo de sistema de arquivos. A opção “auto” simplesmente significa que o tipo do sistema de arquivos é detectado automaticamente. Se você der uma olhada no fstab mostrado acima, verá que tanto o floppy quanto o CDROM possuem “auto” como seu sistema de arquivos. Por quê? Seus sistemas de arquivos podem variar. Um disquete pode ser formatado para Windows e outro para Linux. Esse é o porquê é sábio deixar sistema detectar automaticamente o tipo de sistema de arquivo da mídia.
< 4ª coluna: Opções de montagem >
A quarta coluna no fstab lista as opções de montagem dos dispositivo ou partições. Essa coluna também a mais confusa do arquivo, mas sabendo o que algumas das opções mais comuns significa, muita dor de cabeça é evitada. Sim, existem muitas opções disponíveis, mas aqui veremos as mais usadas apenas. Para mais informações, verifique a manpage do comando mount.
auto and noauto Com a opção auto
, o dispositivo será montado automaticamente (durante a inicialização, como foi dito um pouco antes, ou quando um comando mount -a for disparado). auto
é a opção padrão. Se não quiser que o dispositivo seja montado automaticamente, use a opção noauto
no /etc/fstab
. Com noauto
, o dispositivo só pode ser montado explicitamente.
user and nouser Esses são as opções mais úteis. A opção user permite que usuário normais montem o dispositivo, enquanto que nouser
permite que apenas o super-usuário monte o dispositivo. nouser
é a opção padrão, o que é a principal causa de dor de cabeça para novos usuários Linux. Se você não conseguir montar seu cdrom, partição Windows, ou outra coisa como um usuário normal, adicione a opção user
ao /etc/fstab
.
exec and noexec exec
permite que você execute binários em sua partição, enquanto noexec
não permite que você faça isso. noexec
pode ser útil para um partição qie contenha binários que você não queira executar em seu sistema, ou mesmo que não possam ser executados no seu sistema. Esse pode ser o cado de uma partição Windows. exec
é a opção padrão, o que é uma boa coisa. Imagine o que aconteceria se você acidentalmente usasse a opção noexec
na sua partição raiz no Linux.
ro Monta o seu sistema de arquivos como somente leitura.
rw Monta o seu sistema de arquivo como leitura e escrita. Novamente, usar essa opção pode evitar dor de cabeça em muitos usuário Linux que não estejam conseguindo escrever dados em seus disquetes, pendrives, partições Windows, etc
sync and async Como a entrada e saída de dados no sistema de arquivos devem ser feitas. . sync
significa que é feito de forma síncrona. Se você olhar o exemplo, notará que essa é a opção usada com o disquete. Em bom português, isso significa que quando você, por exemplo, copiar um arquivo para o disquete, as alterações são escritas no dispositivo ao mesmo tempo que o comando é executado.
Porém, se você possui a opção async
no arquivo /etc/fstab
, a entrada e saída de dados é feito de forma assíncrona. Agora, quando você copia um arquivo para o disquete, as alterações são fisicamente escritas algum tempo após a execução do comando. Isso não é ruim, e muitas vezes é favorável, mas pode caisar alguns acidentes. Se você remover o dispositivo sem desmonta-lo, o arquivo copiado pode não existir na mídia.
async
é a opção padrão. Porém, pode ser sábio usar a opção sync
com disquetes, especialmente se você costuma usar disquetes da mesma forma que usa-os no Widnows e tende a remover eles antes de desmonta-los.
defaults Usa as opções padrão que são rw, suid, dev, exec, auto, nouser, e async.
< 5ª e 6ª colunas: Opções dump e fsck >
Dump é um utilitário de backup e fsck é um utilitário de checagem do sistema de arquivos. Não iremos falar muito deles aqui, mas iremos menciona-los para que você não fique se perguntando o que essas opções significam.
A quinta coluna no arquivo /etc/fstab é a opção dump. Ela verifica e usa esse número para decidir se um sistema de arquivo deve ou não ser alvo de backup. Se for zero, o dump ignorará esse sistema de arquivos. Se você der uma olhada no exemplo, observará que a quinta coluna será zero é muitos casos.
A sexta coluna é a opção fsck. O utilitário verifica esse número para determinar em que ordem os sistemas de arquivos devem ser checados. Se seu valor for zero o sistema não será checado.
< Exemplo de entradas no /etc/fstab >
Como exemplo, daremos uma olhada em algumas entradas para o fstab que tem sido uma fonte de frustação para novos usuários Linux: disquete e CD-ROM (apesar de atualmente disquetes não serem mais tão importantes quanto outrora).
/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0
Essa linha diz que o disquete será montado em /media/floppy por padrão e que o tipo do sistema de arquivos será detectado automaticamente. Isso é útil pois o tipo do disquete pode variar. Observe especialmente as opções rw e user elas precisam estar ai se você quiser ser capaz de montar e escrever num disquete como usuário normal. Se tiver algum problema com isso, verifique o seu fstab para ver se essas opções estão lá. Também observe a opção sync. Pode ser assíncrona também, mas colocamos como síncrona pelas razões mencionadas um pouco antes.
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
Observe novamente, a opção user que permite que usuários normais montem o CD-ROM. O CD-ROM possui a opção ro porque você não será capaz de escrever nelo que qualquer forma. Também observe a opção exec. Esta opção é especialmente útil se você gostaria de executar algo do CD.
Também note que a opção noauto é usada o disquete e como CD-ROM. Isso significa que eles não serão montados automaticamente quando o Linux estiver sendo iniciado. Isso é útil no caso de mídia removível, porque muitas vezes não há nenhum disquete ou CD-ROM quando você inicia o sistema, então não existe razão para tentar montar algo que não exite.
Social