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.
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ção | Descrição |
/dev/sdaX | Especifica 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 (leia sobre deploy) 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. Confira o nosso conteúdo com todos os principais comandos no linux.
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
Tag:/dev, bash, certificação, certificaçãolinux, code, Comptia, developer, empreendedorismo, exame, freesoftware, gnu, hack, Linux, linuxfan, linuxfun, linuxmint, lovelinux, LPI, LPIC, management, nerd, opensource, php, prova, shell, software, softwarelivre, sql, tech, ti, unix
1 Comentário
muito bom