O arquivo /etc/fstab

O Linux é um sistema orientado a arquivos; e um dos muitos arquivos que são lidos no momento da inicialização é o /etc/fstab.

fstab vem de ‘filesystem table‘ ou tabela de sistema de arquivos; esse arquivo é responsável por montar a tabela de partições… sabe, quando você particionou o disco? As informações referentes ao seu particionamento foram guardadas no /etc/fstab para que o sistema saiba o que montar durante a inicialização.

O arquivo /etc/fstab possui os parâmetros sobre as partições que são lidos pelo comando mount e cada linha é responsável por um ponto de montagem. É através do /etc/fstab que o sistema é capaz de acessar as suas partições e seus dispositivos como o seu CD-ROM por exemplo.

Além das partições que o sistema ‌insere automaticamente, também podemos adicionar mais dispositivos ou partições se editarmos esse arquivo de forma correta😀.

Dai já viu né… muita atenção quando for editar o /etc/fstab!

Quando comentei sobre particionamento, falei que, enquanto no Windows as partições são determinadas por letras (C:, D:), no Linux, as partições são nomeadas de acordo com o nome do dispostivo (sda, por exemplo, representa o disco, e sda1 representa a primeira partição primária do disco).

Aqui no meu linux, tenho a partição /dev/sda1, que criei quando instalei o sistema. Até ai tudo bem… mas o kernel, quando está iniciando o sistema faz as seguintes perguntas: qual o ponto de montagem dessa partição, isto é, em que diretório essa partição será montada? Qual o sistema de arquivos? Tem que checar se existem erros na partição?

E para responder essas perguntas, temos que conhecer a estrutura do arquivo! Veja abaixo um exemplo do fstab:

Estrutura do fstab

Falando dessa estrutura (deixei colorido e numerei as colunas para entenderem melhor…) temos:

1 –
Dispositivo, ou melhor, o arquivo-dispositivo que será montado.

2 –
Ponto de montagem; exceto para partições swap, este campo especifica o ponto de montagem (diretórios) onde o dispositivo referenciado na coluna 1 será montado.

3 –
Especifica o tipo de sistema de arquivos. O Linux suporta diversos tipos de sistema de arquivos como ext3, reiserfs, xfs e etc. A opção auto, quando especificada, permite que o sistema detecte automaticamente o sistema de arquivo a ser montado, o que é prático para unidades de mídia removível como disquete (hum, não sei nem se ainda usam disquetes hoje em dia…) ou pendrives, por exemplo.

4 – Especifica as opções de montagem para o dispositivo; é uma lista separadas por vírgulas. Essas opções são usadas para controlar o comportamento do comando mount. Entre essas opções temos:

✔ ro – read only – somente leitura

✔ rw – read write – leitura e escrita

✔ auto – monta automaticamente na inicialização

✔ noauto – nao monta na inicialização

✔ user – permite que usuários comuns montem o dispositivo

✔ nouser – não permite que usuários comuns montem o dispositivo

✔ exec – permite que programas sejam executados a partir do dispositivo

✔ noexec – não permite que programas sejam executados a partir do dispositivo

✔ async – Especifica 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 (forma síncrona) ou se escreve diretamente no disco/partição/pendrive (forma assíncrona).

✔ defaults – junção de várias opções; engloba as opções: rw, suid, dev, exec, auto, nouser e async.

5 – Dump do dispositivo na inicialização; permite os valores 0 ou 1:

✔ 0 – Não faz dump do dispositivo.

✔ 1 – Faz o dump do dispositivo.

6 – Verificação e reparo do dispositivo com o utilitário fsck; permite os valores 0, 1 e 2:

✔ 0 – Não será executado na inicialização.

✔ 1 – Será executado fsck na partição raiz ( / ).

✔ 2 – Será executado fsck em qualquer outra partição.

Bem, agora de acordo com o que já falamos acima, como montar um dispositivo?

Imagine que vamos montar um CD-ROM no seu drive de CDs. Para isso, iremos utilizar o comando mount, com a seguinte sintaxe:

# mount -t iso9660 /dev/hdc /media/cdrom

Onde:

-t => sistema de arquivos a ser usado (no caso ISO9660, que é o sistema de arquivos dos CD-ROMs).

/dev/hdc => o dispositivo que será montado

/media/cdrom => onde iremos montar o dispositivo

Mas mesmo com o detalhamento da sintaxe do comando mount que coloquei, ainda assim a linha de comando parece um pouco assustadora…

E além disso, por padrão, montagem de dispositivos é uma operação do todo poderoso root; tanto é que, se um usuário comum tentar usar o comando, receberá a mensagem “operação exclusiva do root” ou “only root can do that“.

Então, se dentro do nosso arquivo /etc/fstab existir uma linha assim:

/dev/hdc        /media/cdrom0   iso9660 user,noauto     0       0

Aí, o usuário comum, só precisará executar:

# mount /media/cdrom

E o CD-ROM estará montado!

Bem, e para conferir os dispositivos montados, podemos usar o comando df:

# df -h

Sist. Arq.            Tam   Usad Disp  Uso% Montado em

/dev/hdc              160M  160M     0 100% /media/cdrom0

Ah, e prá fechar esse post, para quem gosta de futucar os arquivos do sistema, quando executou um ls dentro /etc, com certeza já deve ter dado de cara um tal arquivo chamado mtab.

Bem, o fstab é um arquivo de configuração; portanto, o sistema não escreve nele, apenas lê. Depois que o sistema é instalado, quem vai manter o fstab configurado e atualizado, é o administrador do sistema😀 .

Já o arquivo mtab, é um arquivo de controle no qual o sistema grava as informações sobre os sistemas de arquivos atualmente montados. Pegando o exemplo do nosso CD-ROM montado, vamos executar o comando mount, que, além de montar os dispositivos, quando usado sem parâmetros, lista os dispositivos que estão montados:

# mount

/dev/hdc on /media/cdrom0 type iso9660 (ro)

Agora, se executarmos:

# cat /etc/mtab

/dev/hdc /media/cdrom0 iso9660 ro,noexec,nosuid,nodev 0 0

Mmmm… dá prá notar uma semelhança nas saídas desses comandos, ne? E, para finalizar, só porque no Linux podemos fazer a mesma coisa de diversas formas (eu amo isso!), deixo prá vocês testarem:

# cat /proc/mounts

Bem, é isso aí pessoal! Até o próximo post!😉

2 Responses to “O arquivo /etc/fstab”


  1. 1 Jackison Iury Vidal de Sousa 14/03/2013 às 2:20 PM

    Cara, foi muito bom! Entrentanto, é um pouco complexa estas informações! Tenho que me aprofundar mais, o que você me aconselha pra ter mais infromações sobre tal função!?


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




Follow Nix on WordPress.com
dezembro 2008
S T Q Q S S D
« nov   jan »
1234567
891011121314
15161718192021
22232425262728
293031  

Flickr Photos

Fast-flying Falcon

Mais fotos

%d blogueiros gostam disto: