Comando mount no Linux (montar sistemas de arquivos) [Guia Básico]

O comando mount no Linux é utilizado para montar um dispositivo na hierarquia do sistema de arquivos do Linux manualmente. Para desmontar um dispositivo, o comando umount pode ser usado.

O sistema de arquivos do Linux é hierárquico e admite que diversos dispositivos sejam mapeados e utilizados a partir da raiz do sistema / (root).

Desta forma DVD, outros discos, pendrivers etc., poderão ser utilizados de forma bastante simples, e o usuário enxergará estes dispositivos como um diretório na estrutura do Linux.

O Filesystem Hierarchy Standard (padrão para sistema de arquivos hierárquico) separou dois diretórios que servirão como hospedeiros para os dispositivos são chamados de ponto de montagem:

  • /mnt        Ponto de Montagem para sistemas de arquivos montados momentaneamente, como discos rígidos;
  • /media    Pontos de “montagem” para mídia removível, como CD-ROMs, pendrive, etc (surgiram na versão 2.3 do FHS).

Em algumas distribuições o diretório /media contém alguns outros subdiretórios opcionais para montar mídias removíveis:

  • cdrom            CD-ROM 
  • cdrecorder    CD writer 
  • zip                 Zip drive

Já o diretório /mnt é fornecido para que o administrador do sistema possa montar temporariamente um sistema de arquivos, conforme necessário.

Geralmente estes diretórios ficam vazios quando não estão com algum sistema montado.

Apesar do FHS definir estes diretórios como pontos de montagem para dispositivos, qualquer diretório pode servir como ponto de montagem.

Se os diretórios escolhidos como ponto de montagem não estiverem vazios ao montar um dispositivo, o conteúdo não ficará disponível enquanto o dispositivo não for desmontado.

fhs_pt Comando mount no Linux (montar sistemas de arquivos) [Guia Básico]Linux FHS

Os comandos mount e umount são usados para montar e desmontar sistemas de arquivos.

Usando o comando mount

Geralmente deve ser informado como parâmetro um dispositivo a ser montado e o ponto de montagem.

Existe outra possibilidade de montagem manual informando somente o dispositivo, ou somente o ponto de montagem. Quando isso acontece, o dispositivo ou o ponto de montagem devem existir configurados no arquivo /etc/fstab:

$ mount [opções] dispositivo
$ mount [opções] diretório

Arquivo /etc/fstab

O arquivo /etc/fstab contém as informações de montagem dos dispositivos que são montados durante o processo de carga do sistema.

O mount também possibilita as seguintes notações de dispositivo sejam usadas para se referir a um dispositivo:

NotaçãoDescrição
/dev/sdaXEspecifica o dispositivo pelo nome dele no sistema;
LABEL=<rótulo>Especifica o dispositivo pelo rótulo do sistema de arquivos;
UUID=<uuid>Especifica o dispositivo pelo UUID do sistema de arquivos;
PARTLABEL=<rótulo>Especifica o dispositivo pelo rótulo da partição;
PARTUUID=<uuid>Especifica o dispositivo pelo UUID da partição;

As opções mais frequentes são:

  • -a            Monta todos os dispositivos especificados no arquivo /etc/fstab que não tem a opção noauto selecionada;
  • -r             Monta o sistema de arquivos do dispositivo como somente leitura;
  • -w           Monta o sistema de arquivos do dispositivo para leitura e gravação;
  • -o            Especifica as opções de montagem;
  • -t tipo     Especifica o tipo do sistema de arquivos do dispositivo. Exemplo: ext2, ext3, ext4, iso9660, msdos, xfs, btrfs, nfs, etc.

Para montar os diversos sistemas de arquivos, o Linux precisa estar com o suporte a estes sistemas de arquivos habilitados no Kernel ou carregado na forma de um módulo.

Arquivo /etc/filesystems

O arquivo /etc/filesystems fornece uma lista dos sistemas de arquivos que estão habilitados e aceitos pelo mount:

$ cat /etc/filesystems 
xfs
ext4
ext3
ext2
nodev proc
iso9660
vfat

Exemplos de uso do mount:

Para montar um cartão USB:

# mount /dev/sdb1 /mnt

Para montar uma partição Windows (vfat) em /dev/sda1 no ponto de montagem /mnt para somente para leitura: 

# mount /dev/sda1 /mnt -r -t vfat 

Para remontar a partição raíz como somente leitura:

# mount -o remount,r / 

Para montar uma imagem ISO, a opção “-o loop” deve ser usada:

# mount /tmp/imagem.iso /media/iso -o loop

Para que o mount remonte todos os pontos de montagem definidos em /etc/fstab:

# mount -a

Se não for passado nenhum parâmetro ou opção, o mount mostra todos os dispositivos montados, incluindo os pseudo-file-system /proc, /dev, /run e /sys. Ele também mostra as opções de montagem, como leitura e gravação, bem como o sistema de arquivos:

$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=1001736k,nr_inodes=250434,mode=755)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
/dev/xvda1 on / type xfs (rw,noatime,attr2,inode64,noquota)
/dev/xvdf on /home type ext4 (rw,noatime,data=ordered)

Para montar um dispositivo usando o UUID dele, primeiro deve-se ver qual é o UUID do dispositivo com o comando blkid:

# blkid
/dev/sda1: UUID="1c3b15b1-cd13-4a73-b2a8-449fa3aa039f" TYPE="xfs" 
# mount UUID="1c3b15b1-cd13-4a73-b2a8-449fa3aa039f" /mnt

A vantagem de se usar o UUID é que esse ID do disco não muda nunca. Já a nomenclatura do disco pode ser alterada quando um novo disco é inserido ou alterado de lugar no cabo IDE. Desta forma, um disco nomeado como /dev/sda, pode virar /dev/sdb. Se forem referenciados pelo UUID, esse número não altera.

Arquivo /etc/mtab

O sistema mantém um arquivo chamado /etc/mtab que contém as informações sobre os dispositivos que estão montados no sistema. Ele pode conter os pontos de montagem indicados no arquivo /etc/fstab e também os dispositivos montados manualmente. 

O arquivo /etc/mtab é mantido pelo sistema, através do comando mount. O conteúdo deste arquivo é muito similar ao arquivo /proc/mounts

O Linux usa dois mecanismos diferentes para acompanhar os dispositivos montados. Um é implementado no kernel e expõe esta informação ao espaço do usuário via arquivo /proc/mounts. O outro mecanismo mantém a contabilidade dos pontos de montagem pelo utilitário mount usando o arquivo /etc/mtab.

Arquivo /proc/partitions

Cada disco detectado no sistema irá aparecer no arquivo /proc/partitions. É neste arquivo que o Kernel mantem uma lista dos discos detectados, suas partições e tamanho.

$ cat /proc/partitions 
major minor  #blocks  name
   8        0  488386584 sda
   8        1     524288 sda1
   8        2    2097152 sda2
   8        3    2097152 sda3
   8        4  483666951 sda4
   8       16  117220824 sdb
   8       17  117219328 sdb1
   8       48   31950720 sdd
   8       49     204800 sdd1
   8       50   31744000 sdd2

A ferramenta lsblk pode fornecer a mesma informação de uma forma muito mais clara:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0     2G  0 part [SWAP]
├─sda3   8:3    0     2G  0 part 
└─sda4   8:4    0 461,3G  0 part 
sdb      8:16   0 111,8G  0 disk 
└─sdb1   8:17   0 111,8G  0 part 
sdd      8:48   1  30,5G  0 disk 
├─sdd1   8:49   1   200M  0 part 
└─sdd2   8:50   1  30,3G  0 part /media/uira/UNTITLED

Neste computador existem dois discos rígidos: sda com 4 partições, e sdb com uma única partição. E ainda existe um pendrive de 30 GB, montado no diretório /media/uira/UNTITLED. 

Usando o comando umount

O comando umount é utilizado para desmontar dispositivos montados pelo comando mount.

O umount sincroniza o conteúdo do disco com o conteúdo dos buffers (memória própria para transferência de dados) e libera o diretório de montagem.

Ele tanto pode receber como parâmetro o dispositivo que está montado, quanto o diretório do ponto de montagem:

$ umount [opções] dispositivo

Ou

$ umount [opções] diretório

As opções disponíveis são:

  • -a         Desmonta todos os dispositivos listados no arquivo /etc/mtab, que é mantido pelo comando mount como referência de todos os dispositivos montados;
  • -f          Força que um dispositivo seja desmontado;
  • -t tipo  Desmonta somente os dispositivos que contenham o sistema de arquivos especificado no tipo.

Nenhum arquivo pode estar em uso no sistema de arquivos que será desmontado.

Exemplos:

$ umount /dev/cdrom

Ou

$ umount /media/cdrom

Nunca retire um disco removível como memórias flash, pendrivers e HDs externos sem antes desmontar o sistema de arquivos, pois haverá grande hipótese de perda de dados.

Às vezes, quando se tenta remover um dispositivo, recebemos a mensagem de que ele está em uso:

$ sudo umount /media/uira/UNTITLED/
umount: /media/uira/UNTITLED: o alvo está ocupado.

Neste caso, pode-se usar o comando lsof para se descobrir quais são os arquivos e usuários que estão com arquivos em uso no dispositivo:

$ lsof /media/uira/UNTITLED/
COMMAND     PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
evince    81294 uira   16r   REG   8,50   190985 2217 /media/uira/UNTITLED/CompTIA Linux+ XK0-004 Exam Objectives_ESN.pdf
soffice.b 81592 uira    5uW  REG   8,50    17095 2221 /media/uira/UNTITLED/melhorias campus bh.docx

Para desmontar esse dispositivo, existem duas opções: pedir gentilmente que o usuário feche o que está fazendo, ou terminar abruptamente os processos 81294 e 81592 com o comando “kill -9 81294 e 81592” e depois desmontar o dispositivo.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe