3. Os Comandos mount e umount

Agora que o sistema de arquivos foi criado, você pode montar a partição. Inicialmente ela estará vazia, já que não foi possível ter acesso ao sistema de arquivos para adicionar arquivos nele. O comando para montar um sistema de arquivo é o mount, e a sua sintaxe é a seguinte:

mount [opções] <-t tipo> [-o opções de montagem] <dispositivo> <ponto de montagem>

Neste caso nós queremos montar nossa partição temporariamente em /mnt/new (ou qualquer outro ponto de montagem que você tenha escolhido: lembre-se que o ponto de montagem deve existir). O comando para montar a nossa partição recém-criada é:

$ mount -t ext3 /dev/hdb1 /mnt/new

A opção -t serve para especificar que tipo de sistema de arquivos é utilizado pela partição. Os sistemas de arquivos que você irá encontrar com mais freqüência são o ext2FS (O sistema de arquivos do GNU/Linux) ou o ext3FS (uma versão aperfeiçoada do ext2FS com capacidades de journaling), VFAT (para quase todas as partições DOS/Windows®: FAT 12, 16 ou 32), NTFS (para versões novas do Windows®) e ISO9660 (sistema de arquivos para CD-ROM). Se você não especificar qualquer tipo, o mount irá tentar adivinhar qual sistema de arquivos é utilizado pela partição através da leitura do superblock.

A opção -o é utilizada para especificar uma ou mais opções de montagem. As opções apropriadas irão depender do sistema de arquivos que está sendo utilizado. Verifique a man page do mount(8) para mais detalhes.

Agora que você montou a sua nova partição, é hora de copiar todo o diretório /usr para ela:

$ (cd /usr && tar cf - .) | (cd /mnt/new && tar xpvf -)

Agora que os arquivos estão copiados, nós podemos desmontar a nossa partição. Para fazer isto, utilize o comando umount. A sintaxe é simples:

umount <ponto de montagem|dispositivo>

Então para desmontar a nossa nova partição nós podemos digitar:

$ umount /mnt/new

ou:

$ umount /dev/hdb1
[Dica]Dica

Às vezes pode acontecer de um dispositivo (normalmente o CD-ROM) estar ocupado. Se isto acontecer a maior parte dos usuários resolveria este problema reiniciando o seu computador. Porém, se o umount /dev/hdc falhar, então você pode tentar o umountpreguiçoso”. A sintaxe é bastante simples:

umount -l <ponto de
      montagem|dispositivo>

Este comando desconecta o dispositivo e fecha todos os acessos abertos a ele que sejam possíveis. Normalmente você pode ejetar o disco utilizando o comando eject <ponto de montagem|dispositivo>. Se o comando eject não funcionar e você não quiser reiniciar o seu computador, utilize o umount -l.

Já que esta partição irá se “tornar” nosso diretório /usr, nós precisamos informar isto ao sistema. Vamos então editar o arquivo /etc/fstab. Ele torna possível a automatização da montagem de certos sistemas de arquivo, especialmente na inicialização do sistema. Ele contém várias linhas descrevendo os sistemas de arquivo, seus pontos de montagem e outras opções. O arquivo se parece com o seguinte:

/dev/hda2 / ext3 defaults 1 1
/dev/hdd /mnt/cdrom auto umask=0022,user,iocharset=utf8,noauto,ro,exec,users 0 0
/dev/fd0 /mnt/floppy supermount dev=/dev/fd0,fs=ext2:vfat,--,umask=0022,iocharset=utf8,sync 0 0
/dev/hda1 /mnt/windows ntfs umask=0,nls=utf8,ro 0 0
none /proc proc defaults 0 0
/dev/hda3 swap swap defaults 0 0

Em cada linha encontramos:

sempre uma entrada para o sistema de arquivo raiz. As partições Swap são especiais, já que não são visíveis na estrutura da árvore, e o campo do ponto de montagem para esta partição contém a palavra-chave swap. Assim como o sistema de arquivos /proc, ele será descrito com mais detalhes no Capítulo 5, O Sistema de Arquivos /proc. Outro sistema de arquivo especial é o /dev/pts.

Note também que o seu sistema deve ter entradas adicionadas e removidas automaticamente deste arquivo. Isto é feito através do fstab-sync, um comando que recebe eventos especiais do sistema da Camada de Abstração de Hardware (HAL), e manipula o arquivo /etc/fstab. Dê uma olhada na página do manual fstab-sync(8) para mais detalhes.

Voltando para a nossa mudança no sistema de arquivos, neste ponto nós movemos toda a hierarquia de /usr para /dev/hdb1 e nós queremos que esta partição seja montada como /usr quando o computador iniciar. Para efetuar isto, adicione a seguinte entrada em qualquer lugar do arquivo /etc/fstab:

/dev/hdb1 /usr ext3 defaults 1 2

Agora a partição será montada sempre que o seu computador iniciar, e terá verificação de erros quando necessário.

[Nota]Nota

Se a sua partição não é do tipo ext3FS você terá que alterar para o tipo correto. As opções mais comuns são ext2 e reiserfs. Note também que o último campo tem o valor 2. Isto significa que a partição será verificada após todas as outras entradas com o valor 1, e depois de outros sistemas de arquivos com a mesma prioridade no mesmo disco rígido que apareçam antes no arquivo /etc/fstab. Somente a partição root (/) deve ter o valor 1.

Há duas opções especiais: noauto e users. A opção noauto especifica que o sistema de arquivos não deve ser montado na inicialização, e é montado somente quando você ordenar. A opção users diz que qualquer usuário pode montar e desmontar o sistema de arquivos. Estas duas opções são normalmente utilizadas para os drives de CD-ROM e disquete. Há também outras opções para o /etc/fstab que você pode encontrar na página do manual (fstab(5)).

Uma vantagem em usar o /etc/fstab é que ele simplifica a sintaxe do comando mount. Para mountar um sistema de arquivos descrito no /etc/fstab, você pode indicar o ponto de montagem ou o dispositivo. Para montar um disquete, por exemplo, você pode utilizar:

$ mount /mnt/floppy

ou:

$ mount /dev/fd0

Para finalizar, vamos revisar o que nós já fizemos. Nós copiamos o /usr e modificamos o /etc/fstab para que a nova partição fosse montada durante a inicialização. Mas no mometo, os arquivos do /usr antigo ainda estão no seu local original no drive, então nós precisamos apagá-los para liberar espaço (que era, antes de mais nada, o nosso objetivo inicial).

Agora, volte ao modo multi-usuário (telinit 3 para o modo texto ou telinit 5 para o modo gráfico) e, se não tiver nenhuma tarefa administrativa para realizar, você deve deixar de usar a conta do usuário root.