Montar sistema de arquivos no Linux é uma tarefa comum e muito útil para anexar diretórios, partições e dispositivos removíveis conectados a um determinado mount point (ponto de montagem, em uma tradução livre). Para isso, administradores de sistemas usam os comandos mount (montar) e unmount (desmontar).
Quando o sistema de arquivos em questão se encontra desmontado, significa que o seu conteúdo é inacessível e requer montagem. Supondo que você tenha múltiplas partições em seu disco rígido, observe em seu explorador de arquivos que, por padrão, eles não são montados automaticamente.
Dependendo das permissões atribuídas a ele, há possibilidade de que somente usuários com privilégios root estejam aptos a montá-lo. O sysadmin, por sua vez, tem plena liberdade para estabelecer quem pode acessar determinado sistema de arquivos montado e o tipo de acesso (somente leitura, gravação etc.).
Sabendo disso, eis que fica mais evidente a necessidade de fazer o gerenciamento. Nas distribuições baseadas em Linux, administrar os sistemas de arquivos montados não só é possível como, também, é muito fácil de fazer — e é justamente isso que vamos aprender neste artigo.
Como listar os sistemas de arquivos montados?
Esta é a parte mais simples de uso da ferramenta de montagem do Linux. Ao digitar mount no terminal, o usuário recebe a lista (muitas das vezes extensa) de dispositivos, partições e diretórios montados.
Faça agora o teste no terminal da sua distribuição Linux e perceba que muitos outros elementos são exibidos, tais como cgroup e sysfs. Todos eles são exibidos da seguinte maneira:
nome_do_dispositivo on diretório type tipo_de_sistema_de_arquivo (opções)
No entanto, é desnecessário consultar tantos itens para que se identifique um determinado sistema de arquivos. Por exemplo, se o administrador deseja saber se há partições (e quantas, se houver) com sistema ext4 montadas atualmente, basta utilizar a opção -t.
mount -t ext4
O mesmo vale para qualquer tipo de sistema. Sendo assim, localizar o seu device não é uma tarefa complicada, muito pelo contrário!
Como montar sistemas de arquivos no Linux?
Montar um sistema de arquivos no Linux é muito simples. Tudo o que precisamos ter é um diretório específico, o qual chamamos mount point (ponto de montagem, em uma tradução livre), ao qual o dispositivo será anexado. Exemplo:
sudo mount /dev/sda7 /mnt/media
Acima, simulamos a montagem de uma partição de disco rígido; note que não precisamos declarar o tipo de sistema de arquivos presente no dispositivo, pois o Linux o faz automaticamente na maioria dos casos.
Quando o sistema de arquivos não é reconhecido, é preciso especificá-lo no comando usando a opção -t. Exemplo:
mount -t tipo_de_sistema_de_arquivos /nome_do_dispositivo /diretório
Podemos, também, adicionar opções de montagem usando a opção -o.
mount -o opção /nome_do_dispositivo /diretório
Que opções são aplicáveis? Mais adiante, ao apresentar o arquivo fstab, explico as principais delas. Se você quiser fazer um teste neste exato momento, clique para ir ao tópico ou consulte o manual (em inglês) ou apenas digite man mount, no terminal.
Para acrescentar opções de montagem corretamente é necessário separá-las por vírgulas, como numa lista comum, em vez de aplicar somente espaços entre elas. Exemplo:
mount -o rw, sync, auto /nome_do_dispositivo /diretório
Conforme apresentados os procedimentos ao longo deste conteúdo, veremos que a ferramenta mount não nos impõe grandes obstáculos. Vamos aprender a montar alguns tipos específicos de sistemas de arquivos?
Montar sistema de arquivos ISO no Linux
Existem diferentes modos de montar ISO no Linux, seja a partir de mídia de disco, como um DVD, ou pelo próprio terminal. Vou exemplificar de acordo com o artigo especial que publiquei sobre o assunto. Comece pela criação do mount point:
sudo mkdir /mount/iso
Em seguida, utilizaremos o comando mount, acrescentando o diretório e o nome do arquivo ISO a ser montado. Exemplo:
mount -t iso9660 -o loop /usr/docs/games/biohazard3.iso /mount/iso
Para finalizar, vá até o diretório que criou (no exemplo, /mount/iso) e liste o conteúdo digitando o comando ls -l. Se o procedimento funcionou corretamente, o terminal exibirá todos os arquivos existentes na imagem montada.
Montar dispositivos removíveis no Linux
Se você inserir um pendrive ou qualquer outro dispositivo USB em sua máquina neste exato momento, provavelmente ele será montado automaticamente, bastando-lhe acessar o gerenciador de arquivos e navegar até o diretório. Caso não esteja montado, faça-o manualmente criando o mount point e, em seguida, montando o dispositivo.
sudo mkdir -p /media/usb
sudo mount /dev/sdX /media/usb
Acima, utilizamos o comando mkdir com a opção -p para criar o diretório /media/usb como parentes na estrutura de diretórios e nele montamos o dispositivo.
Montar sistema NFS no Linux
Quando trabalhamos com servidores, o compartilhamento de arquivos é recorrente e necessário; no Linux, o protocolo NFS (Network File System) é utilizado para promover acesso remoto entre os usuários da rede.
Para montar um sistema de arquivos NFS é necessário, primeiramente, instalar um cliente NFS no Linux (caso ainda não o tenha). Cabe observar que o utilitário não é o mesmo em certas distros; por exemplo, no Ubuntu, instala-se o nfs-common e no CentOS, o nfs-utils.
Depois de instalar o client, crie um diretório que será usado como mount point remoto. Exemplo:
sudo mkdir /media/nfs
Em um ambiente de servidor é bom (e útil) que o diretório NFS seja montado e compartilhado automaticamente durante o boot. O método para isso consiste em editar o arquivo fstab — nós o conheceremos mais para frente, então, por ora, vamos nos ater a digitar, no terminal, o seguinte comando:
sudo vim /etc/fstab
Agora, adicione uma linha que contenha as respectivas informações:
IP_ou_hostname+diretório /media/nfs nfs defaults 0 0
Feche o editor e, então, retorne ao terminal com o comando sudo mount /media/nfs. Pronto!
Como desmontar um sistema de arquivos?
Utilize o comando umount para desmontar um sistema de arquivos montado no Linux. A sintaxe é muito simples: basta digitar o comando e declarar o mount point que deseja desmontar. Exemplos:
umount /dev/sda4 umount /arquivos umount /ISO
Aplicando o comando umount ao endereço desejado, este será desindexado da hierarquia de arquivos, porém o procedimento só terá sucesso se o sistema estiver ocupado. A ocupação pode acontecer por diferentes razões: arquivo swap em uso, arquivos do diretório em execução, processos abertos voltados ao diretório etc.
Opções do comando umount
Cabe frisar que o comando não é limitado a desmontar. Acionando o comando umount –help, note que o terminal apresenta as seguintes funcionalidades:
- -a, –all: desmonta todos os sistemas de arquivos;
- -A, –all-targets: desmonta todos os mountpoints que apontam para um dispositivo especificado;
- -c, –no-canonicalize: não canonicalizar caminhos;
- -d, –detach-loop: libera o dispositivo de loop;
- –fake: “falsifica” o processo de desmontagem [COMPLEMENTAR]
- -f, –force: realiza desmontagem forçada quando necessário;
- -i, –internal-only: não chama o /sbin/umount.filesystem helper;
- -l, –lazy: desanexa o arquivo de sistema da hierarquia e apaga todas as referências ao arquivo de sistema assim que ele é desocupado;
- -n, –no-mtab: desmonta sem escrever no arquivo /etc/mtab;
- -O, –test-opts: executa a desmontagem apenas dos sistemas de arquivos especificados com a opção /etc/fstab;
- -R, –recursive: promove a desmontagem recursiva para cada diretório especificado;
- -r, –read-only: tenta remontar o filesystem em modo de leitura quando a desmontagem falha;
- -t, –types: indica que as ações devem ser aplicadas em arquivos de sistemas de acordo com o tipo;
- -v, –verbose: modo verbose;
- -V, –version: exibe informações da versão;
- -h, –help: exibe informações de ajuda, como acabamos de fazer.
Portanto, o comando umount pode ser usado para fins mais específicos e procedimentos que requerem certo cuidado.
Como utilizar o arquivo /etc/fstab?
Dentro da estrutura de diretórios do Linux existe um arquivo de configuração chamado fstab, localizado no diretório /etc/fstab.
Trata-se de um dos mais arquivos cruciais do Linux, usado pelo administrador para captar detalhes e especificações de dispositivos e partições disponíveis. Conforme a necessidade, o /etc/fstab pode ser editado para que novos elementos sejam utilizados.
Mas os dispositivos não ficam disponíveis como diretório na hierarquia /dev, cuja abreviatura corresponde a devices?, em inglês? Sim, isso é o que acontece quando um aparelho externo, por exemplo, é conectado ao computador que roda em Linux.
Porém o arquivo gerado nesse diretório não nos permite acessar os conteúdos, pois o arquivo que possibilita acesso é, justamente, o /etc/fstab. Nele, editam-se os parâmetros adequados para se montar um determinado dispositivo ou partição, garantindo que eles sejam aplicados sempre que a montagem acontecer.
Isso significa, além de tudo, que o item é lido toda vez que o sistema operacional é inicializado e o sistema de arquivos é montado na sequência. Em outros casos, o administrador preenche as linhas do arquivo de modo que a montagem ocorra manualmente.
Entendendo a configuração do /etc/fstab
Para elucidar melhor o que acontece na prática, suponhamos que no /etc/fstab estejam registrados os seguintes parâmetros para leitura de um CD que acabamos de gravar:
/dev/hdc /cdrom iso9660 rw, noauto, user 0 0
O que significam cada parte dos parâmetros acima? A primeira é o diretório em que se encontra o dispositivo (/dev/hdc) e a segunda, o dispositivo em si (cdrom). As demais partes merecem ser exploradas mais detalhadamente.
Tipo de sistema de arquivos
No campo preenchido com o termo iso9660 se refere ao tipo de filesystem instalado no dispositivo. Este em questão corresponde a leitores de CDs, DVDs, discos Blu-ray e aparelhos similares. Além dele é comum utilizarmos:
- ext4, ext3 e ext2: se você já instalou o Linux em sua máquina, certamente já sabe do que eles se tratam; são sistemas de arquivos usados em partições e discos externos (assim como o NFTS, do Windows);
- swap: sistema de arquivos especificamente usados em partições Swap;
- vfat e NTFS: são arquivos de sistemas típicos do Windows; e
- auto: habilita a detecção automática do sistema de arquivos.
Em relação à opção auto, o usuário, conforme o cenário que colocamos no tópico, pode mudar a configuração para noauto, que mantém a detecção automática desabilitada.
Opções de montagem
No local em que se encontra o termo “auto” são declaradas as opções de uso do comando mount. Abaixo, algumas das mais utilizadas:
- ro e rw: o parâmetro “ro” determina que o sistema de arquivos seja montado como somente leitura, enquanto o “rw” habilita o modo de leitura e gravação;
- auto / noauto: a opção auto, nesse contexto, determina que o dispositivo ou partição deve ser montado automaticamente no boot do sistema operacional, enquanto a noauto indica que o mount tem de ser aplicado manualmente;
- exec / noexec: o modo exec certifica o Linux de que os arquivos contidos no dispositivo estão prontos para serem executados, e o noexec desativa o recurso;
- user / nouser: “user” é ativado quando se deseja permitir que usuários do sistema montem a partição. A opção “nouser” concede essa permissão apenas ao usuário root;
- sync / async: especifica como é feito o processo de entrada e saída é feita, de modo que o “sync” promove a sincronia, ou seja, as ações são realizadas com o dispositivo montado. No “async”, as mudanças acontecem após ele ser desmontado no sistema.
Há muitas outras alternativas ao nosso alcance para configurar a montagem de acordo com a necessidade. Caso nenhuma das opções seja especificada pelo usuário, o fstab, por padrão, aplica a opção de montagem ext4.
Backup
Eis que chegamos a um parâmetro menos intuitivo da sintaxe do arquivo fstab. Depois das opções acima, o usuário precisa declarar um valor que corresponde ao backup do conteúdo do dispositivo montado e à exclusão desse processo.
No exemplo em que estamos nos baseando encontra-se o valor 0, o qual indica que não será feito backup; se marcamos 1 ou qualquer número diferente de 0, cópias de segurança serão executadas.
Checagem de sistema de arquivos
Similar à opção de backup em relação a como é apresentada (por 0 e 1, normalmente), o sexto campo é dedicado a checagens de disco com o utilitário fsck (file system check). A regra do zero ser equivalente à exclusão do processo é válida por aqui, também; enquanto qualquer outro valor ativa o fsck para o dispositivo montado.
No mais, ao conhecer todas as configurações possíveis a partir do arquivo fstab, você consegue criar diversas regras para montar sistemas de arquivos no Linux e, assim, promover mais controle, segurança e otimização, complementando os comandos mount e umount.
Quer dominar o quanto antes a vasta gama de procedimentos do Linux? Dê uma olhada no curso Profissionais Linux para saber como se tornar um especialista em menos tempo!