Header Ads

Como montar e desmontar dispositivos de armazenamento do terminal Linux

Os sistemas de arquivos em sistemas operacionais Linux e Unix, como o macOS, podem ser montados, desmontados e remontados usando o terminal. Esta é uma ferramenta poderosa e versátil - eis tudo o que você precisa saber.

O sistema de arquivos do Linux

Os sistemas de arquivos no Linux, macOS e outros sistemas operacionais semelhantes a Unix não usam identificadores de volume separados para dispositivos de armazenamento da mesma forma que, digamos, o Windows. O Windows atribui a cada volume uma letra de unidade, como C: ou D: eo sistema de arquivos para cada volume é uma árvore de diretórios localizada abaixo da letra da unidade.

No Linux, o sistema de arquivos é um all-in. -uma árvore de diretórios. Um dispositivo de armazenamento montado tem seu sistema de arquivos enxertado nessa árvore para que pareça ser parte integrante de um sistema de arquivos coeso. O novo sistema de arquivos montado será acessível através do diretório no qual ele está montado. Esse diretório é chamado de ponto de montagem para esse sistema de arquivos.

Muitos sistemas de arquivos são montados automaticamente no momento da inicialização ou dinâmicos como volumes de armazenamento conectados ao computador durante o tempo de execução. Administradores cautelosos do sistema podem desativar os recursos de montagem automática em tempo de execução para que eles possam controlar as conexões com o sistema.

Isso significa que os dispositivos de armazenamento conectados durante o tempo de execução podem não ser montados automaticamente e precisarão ser montados manualmente. Montar um sistema de arquivos manualmente permite que você tome decisões sobre esse sistema de arquivos, por exemplo, onde o ponto de montagem será e se o sistema de arquivos será somente leitura ou leitura-gravação.

Se ele está fora por necessidade ou por escolha, os comandos mount, umount e remount dão a você a capacidade de assumir o controle desse importante aspecto do seu sistema Linux.

Interrogue seu sistema de arquivos com o mount

tem muitas opções, mas listar todos os sistemas de arquivos montados no seu computador não requer opções. Simplesmente digite mount e aperte Enter:

mount listará todos os sistemas de arquivos conectados na janela do terminal.

Pode ser difícil selecionar esse tipo de dado para encontrar o que você está procurando.

Você pode refinar a saída perguntando ao mount para listar apenas os sistemas de arquivos de seu interesse. A opção -t (type) diz ao mount qual tipo de sistema de arquivos deve ser reportado.

 mount -t tmpfs 

 mount -t ext4 

Por exemplo, pedimos ao mount para listar apenas os sistemas de arquivos tmpfs. Nós obtemos uma saída muito mais gerenciável.

Um sistema de arquivos tmpfs aparece como se fosse um sistema de arquivos montado, mas na verdade é armazenado em memória volátil - o tmp significa temporário - em vez de persistente dispositivo de armazenamento.

Você vai querer substituir o parâmetro tmpfs pelo tipo de arquivo em que você está interessado.

Também emitimos um comando para listar os sistemas de arquivos ext4. Neste computador de teste, há um único sistema de arquivos ext4, ele está no dispositivo sda - o primeiro dispositivo de armazenamento montado, geralmente o disco rígido principal - e montado em /, que é a raiz da árvore do sistema de arquivos.

Os outros indicadores significam:

  • rw: O sistema de arquivos é legível e gravável.
  • relatime: O kernel está usando um esquema otimizado para registrar o acesso e modificação de arquivos meta-dados.
  • errors = remount -o: Se um erro suficientemente sério for detectado, o sistema de arquivos será remontado no modo somente leitura para permitir o diagnóstico.

RELATED: Qual sistema de arquivos Linux você deve usar?

Interrogue seu sistema de arquivos com df

O comando df também pode ser usado para exibir quais sistemas de arquivos são montados e onde seus pontos de montagem são.

df usado sem parâmetros dá-lhe o mesmo problema de sobrecarga de informação como montar. Como exemplo, no Ubuntu Linux, existe um pseudo-sistema de arquivos squashfs criado para cada aplicativo que foi instalado usando o comando snap. Quem quer ver tudo isso?

Para forçar o df a ignorá-los - ou qualquer outro tipo de sistema de arquivos - use a opção -x (exclude):

 df - x squashfs 

Você pode ver facilmente os nomes dos sistemas de arquivos, suas capacidades, espaço livre e usado e seus pontos de montagem.

Como visualizar espaço livre em disco e uso de disco do terminal Linux

Remontando todos os sistemas de arquivos em fstab

Todos os sistemas de arquivos montados no momento da inicialização possuem entradas em um arquivo chamado fstab, que é a tabela do sistema de arquivos localizada em / etc.

Você pode usar o mount para forçar uma “atualização” e remontar todos os sistemas de arquivos listados no fstab. Em condições normais de operação, isso não é necessário. Isso realmente acontece se você tiver problemas com vários sistemas de arquivos.

Você precisará usar o sudo, então será solicitada sua senha.

 sudo mount -a 

É certo que, em um computador operando corretamente, é um pouco abaixo do esperado.

Em um computador com problemas no sistema de arquivos, no entanto, a remontagem pode resolver os problemas. Se isso não acontecer, pelo menos você receberá mensagens de diagnóstico na tela e nos logs do sistema que o guiarão para procurar a causa do problema.

RELACIONADO: O que é o fstab do Linux? Arquivo e como ele funciona?

Montando uma imagem ISO

É fácil montar uma imagem ISO para que você possa acessar seu conteúdo como parte do sistema de arquivos.

Isso funcionará com qualquer imagem ISO. Neste exemplo, estamos usando um ISO do Tiny Core Linux porque ele é convenientemente pequeno e rápido de baixar. (Uma minúscula distribuição do Linux com uma GUI, em 18 MB! Você provavelmente terá arquivos .mp3 maiores do que isso.)

No mesmo diretório da imagem ISO, emita este comando. Substitua o nome do arquivo ISO que você está montando.

 sudo mount -t iso9660 -o loop TinyCore-current.iso / mnt 

Como precisamos usar o sudo, você precisará digitar sua senha.

A opção -t (type) diz ao mount qual tipo de sistema de arquivos estamos montando. É um arquivo ISO, portanto, fornecemos o especificador de tipo iso9660.

O sinalizador -o (options) é usado para passar parâmetros extras para montagem. Nosso parâmetro é loop.

Estamos usando o loop para forçar a montagem a usar um arquivo de dispositivo de loop para se conectar à nossa imagem ISO. Um arquivo de dispositivo de loop permite que um arquivo (como a imagem ISO) seja montado e tratado como se fosse um dispositivo de armazenamento.

Arquivos de dispositivo são arquivos especiais usados ​​como uma interface para que os dispositivos conectados pareçam eram um arquivo de sistema de arquivos normal. Isso faz parte do tudo no Linux é uma filosofia de design de arquivos.

Existem muitos tipos diferentes de arquivos de dispositivos. Vimos um anteriormente quando observamos que o único sistema de arquivos ext4 nessa máquina de teste era montado em / e era chamado de sda.

Para ser mais preciso, o sistema de arquivos ext4 está em um dispositivo de armazenamento conectado ao sistema de arquivos através do arquivo de dispositivo / dev / sda e o sistema de arquivos naquele dispositivo de armazenamento montado em /.

Precisamos fornecer o nome da imagem ISO, é claro, e precisamos deixar a montagem saber onde gostaríamos que o sistema de arquivos fosse montado. Nós escolhemos / mnt.

A imagem ISO é montada. Um lembrete de que as imagens ISO são sempre montadas em modo somente leitura aparece na janela do terminal.

Explorando a imagem ISO

Agora que ela está montada, podemos navegar pelos diretórios na ISO imagem da mesma forma que qualquer outra parte do sistema de arquivos. Vamos listar os arquivos na imagem ISO. Ele é montado em / mnt remember.

 ls / mnt 

 ls / mnt / cde / 

IMAGEM_7 [ h2] Desmontando a imagem ISO

Para desmontar um sistema de arquivos montado, use o comando umount. Note que não existe “n” entre o “u” e o “m” - o comando é umount e não “desmontar”.

Você deve informar umount qual sistema de arquivos você está desmontando. Faça isso fornecendo o ponto de montagem do sistema de arquivos.

 sudoumount / mnt 

IMAGEM_8

Nenhuma notícia é uma boa notícia. Se não houver nada para relatar, tudo correu bem.

Criando um ponto de montagem

Você pode criar e usar seus próprios pontos de montagem. Vamos criar um chamado isomnt e montar nossa imagem ISO sobre isso. Um ponto de montagem é apenas um diretório. Assim, podemos usar o mkdir para criar nosso novo ponto de montagem.

     

Agora podemos usar o mkdir o mesmo formato de comando de antes para montar nossa imagem ISO. Desta vez não vamos montá-lo em / mnt, vamos montá-lo em / media / dave / isomnt /:

 sudo mount -r -t iso9660 -o loop TinyCore-current. iso / media / dave / isnt / 

Agora podemos acessar o sistema de arquivos montado a partir de nosso novo ponto de montagem.

 ls / media / dave / isomnt / cde / opcional 

Mas esses caminhos estão ficando muito longos. Isso vai rapidamente se tornar cansativo. Vamos fazer algo sobre isso.

Vinculando um ponto de montagem

Você pode vincular um ponto de montagem a outro diretório. O sistema de arquivos montado pode ser acessado pelo ponto de montagem original ou pelo diretório vinculado a ele.

Veja um exemplo detalhado. Vamos criar um diretório em nosso diretório inicial chamado iso. Em seguida, vincularemos o ponto de montagem da imagem ISO / media / dave / isomnt ao novo diretório iso em nosso diretório inicial.

Poderemos acessar a imagem ISO através do ponto de montagem / media / dave / isomnt original e através do novo diretório iso. A opção -B (bind) requer o nome do ponto de montagem e o nome do diretório para vinculá-lo.

 mkdir iso 

 sudo mount - B / media / dave / isnt / iso 

 ls iso 

 ls / media / dave / isnt 

 cd iso 

 ls 

[PRÉ] cd cde

Usando umount com Binds

O sistema de arquivos que teve seu ponto de montagem vinculado a outro diretório requer a desmontagem do ponto de montagem e do ponto de ligação.

Mesmo se desmontarmos o sistema de arquivos do ponto de montagem original, ainda poderemos acessar o sistema de arquivos do seu diretório ligado. O sistema de arquivos também deve ser desmontado desse diretório.

 sudo umount / media / dave / isnt 

 is is 

 sudo umount iso 

 ls iso 

IMAGEM_13

Montando um disquete

Uma unidade de disquete (com um disquete nela) é um dispositivo de armazenamento. Isso significa que um arquivo de dispositivo sd (para dispositivo de armazenamento) será usado para conectar-se ao dispositivo físico. Devemos estabelecer qual é o próximo arquivo de dispositivo sd livre. Podemos fazer isso canalizando a saída do df através do grep e procurando por entradas com “sd” nelas.

 df | grep / dev / sd 

IMAGEM_14

Neste computador, há um único arquivo de dispositivo sd em uso. Isso é / dev / sda. O próximo arquivo de dispositivo sd emitido será / dev / sdb. Isso significa que quando conectarmos a unidade de disquete ao computador, o Linux usará o / dev / sdb para conectar-se à unidade de disquete.

Nós informaremos ao mount para montar o sistema de arquivos no disquete na unidade de disquete. que está conectado a / dev / sdb ao ponto de montagem / mnt.

Insira o disquete na unidade de disquete e conecte a unidade de disquete a uma porta USB no computador. Emita o seguinte comando:

 sudo mount / dev / sdb / mnt 

IMAGEM_15

Rótulos do sistema de arquivos

use a opção -l (label) com mount para descobrir qual rótulo, se houver algum, está anexado a um sistema de arquivos. Os rótulos não são mais que nomes arbitrários. Eles não têm nenhuma finalidade funcional.

Estamos usando a opção -t (type) para solicitar ao mount para relatar apenas os sistemas de arquivos vfat.

 mount -l -t vfat 

Você encontrará o rótulo entre colchetes no final da listagem. A etiqueta para esta unidade de disquete é NORTUN.

Podemos acessar a unidade de disquete através do ponto de montagem / mnt.

 cd / mnt 

[ PRE] ls

 ls -l AMATCH.C 

IMAGEM_17

O disquete contém arquivos de código-fonte da linguagem C. O carimbo de data de um arquivo mostra que foi modificado pela última vez em outubro de 1992. É provavelmente mais antigo que muitos dos nossos leitores. (Escusado será dizer que o significado de NORTUN como um rótulo é perdido nas névoas do tempo.)

Se repetirmos o nosso comando df canalizado através do grep para listar arquivos de dispositivo sd, veremos que agora existem dois deles.

 df | grep / dev / sd 

IMAGEM_18

Nossa unidade de disquete está sendo mostrada como montada em / dev / sdb como esperávamos. O sistema de arquivos no disquete na unidade é montado em / mnt.

Para desmontar o disquete, usamos umount e passamos o arquivo do dispositivo como um parâmetro.

 sudo umount / dev / sdb 

IMAGEM_19

A opção preguiçosa de umount

O que acontece se você (ou outro usuário) estiver usando o sistema de arquivos ao tentar desmontá-lo? A desmontagem falhará.

 sudo umount / dev / sdb 

IMAGEM_20

Ele falhou porque o diretório de trabalho atual do usuário está dentro do arquivo sistema que ele está tentando desmontar. O Linux é inteligente o suficiente para não permitir que você veja o ramo em que está sentado.

Para superar isso, use a opção -l (lazy). Isso faz com que umount espere até que o sistema de arquivos possa ser desmontado com segurança.

 sudo umount -l / dev / sdb 

 ls 

 cd ~ 

 ls / mnt 

IMAGEM_21

Mesmo que o comando umount seja emitido, o sistema de arquivos ainda está montado, e o usuário pode listar os arquivos normalmente.

Assim que o usuário altera o diretório para seu diretório pessoal, o sistema de arquivos de disquete é liberado e desmontado. Tentar listar os arquivos em / mnt não produz resultados.

Montando um Samba Share

O Samba é um conjunto de serviços de software que permite que compartilhamentos de rede sejam acessados ​​de forma intercambiável entre Linux e Unix. como sistemas operacionais e sistemas operacionais Windows.

Configurar o Samba está além do escopo deste artigo. Mas, se você autorizou o acesso a um compartilhamento Samba que foi disponibilizado para você, é assim que você pode montá-lo no Linux.

Um Raspberry Pi conectado à mesma rede que a máquina de teste tem um compartilhamento Samba nele. É um diretório chamado Backup que forneceu o nome do Samba de "compartilhar". Vamos criar uma conexão SSH e ver o conteúdo do diretório compartilhado. O diretório compartilhado está em um stick USB montado no Pi.

O nome de usuário é pi e o nome da rede do Raspberry Pi é marineville.local.

 ssh pi @ marineville.local 

 ls / media / pi / USB64 / Cópia de segurança 

 sai 

IMAGEM_22

O utilizador emite o comando SSH e é solicitada sua senha do Raspberry Pi.

Eles fornecem sua senha e são autenticados. O prompt da janela do terminal muda para pi @ marineville porque está conectado ao Raspberry Pi.

Eles listam o conteúdo do diretório compartilhado em / media / pi / USB64 / Backup. O conteúdo é dois diretórios, um chamado dave e um chamado pat. Agora sabemos o que esperar quando montamos o compartilhamento Samba.

Eles digitam exit para desconectar do Raspberry Pi e o prompt é alterado de volta para dave @ howtogeek.

Para usar o Samba , você deve instalar o pacote cifs-utils.

Use o apt-get para instalar este pacote no seu sistema se você estiver usando o Ubuntu ou outra distribuição baseada no Debian. Em outras distribuições Linux, use a ferramenta de gerenciamento de pacotes da sua distribuição Linux.

 sudo apt-get install cifs-utils [/ PR] 

Quando a instalação completou, montar o compartilhamento com um comando como o seguinte, alterando o endereço IP, nome do compartilhamento e ponto de montagem (que já deve existir) para atender às suas circunstâncias.

 sudo montar -t cifs - o credenciais = / etc / samba / creds, uid = 1000, gid = 1000 // 192.168.4.13 / share / media / dave / NAS 

IMAGEM_24

Vamos dividir as partes desse comando.

  • -t cifs: O tipo de sistema de arquivos é cifs.
  • -o credenciais = / etc / samba / creds, uid = 1000, gid = 1000 : Os parâmetros de opções são o caminho para um arquivo chamado creds que é protegido e contém o nome de usuário e senha para o usuário do Raspberry Pi; o ID do usuário (UID) e o ID do grupo (GID) que são usados ​​para definir o proprietário e o grupo da raiz do sistema de arquivos.
  • // 192.168.4.13/share: o local de rede do dispositivo com o compartilhamento Samba e o nome do Samba do diretório compartilhado. A raiz do compartilhamento é um diretório chamado Backup, mas seu nome de compartilhamento do Samba está configurado para compartilhar.
  • / media / dave / NAS: O nome do ponto de montagem. Você deve criar seu ponto de montagem antecipadamente.

Acessando nosso ponto de montagem em / media / dave / NAS, estamos acessando o diretório compartilhado no Raspberry Pi através da rede. Podemos ver as duas pastas no Raspberry Pi chamadas dave and pat.

 cd / media / dave / NAS 

IMAGEM_25

Criando e montando um sistema de arquivos

Você pode usar o comando dd para criar um arquivo de imagem e, em seguida, usar o mkfs para criar um sistema de arquivos dentro dele. Esse sistema de arquivos pode ser montado. Esta é uma boa maneira de praticar e experimentar com o mount.

Usamos a opção if (input file) para dizer ao dd para usar o fluxo de valores zero de / dev / zero como arquivo de entrada.

O de (arquivo de saída) é um novo arquivo chamado geek_fs.

Estamos usando a opção bs (tamanho do bloco) para solicitar um tamanho de bloco de 1 MB.

Usamos a opção count para informar ao dd para incluir 20 blocos no arquivo de saída.

 dd se = / dev / zero de./geek_fs bs = 1M count = 20 

Isso cria nosso arquivo de imagem para nós. Não contém nada além de valores zero.

Podemos criar um sistema de arquivos em funcionamento dentro do arquivo geek_fs usando o comando mkfs. A opção -t (type) nos permite selecionar o tipo de sistema de arquivos. Estamos criando um sistema ext4.

 mkfs -t ext4 ./geek_fs

Isso é tudo o que é preciso para ter um sistema de arquivos em funcionamento .

Vamos montá-lo em / media / dave / geek e, em seguida, usar chown para definir as propriedades do proprietário e do grupo para permitir o acesso a ele.

 sudo mount ./geek_fs / media / dave / geek 

 sudo chown dave: usuários / media / dave / geek 

IMAGEM_28

Funciona? Vamos mudar para o novo sistema de arquivos e copiar em um arquivo para ver.

 cd / media / dave / geek 

 cp / etc / fstab. 

 ls -l 

IMAGEM_29

Conseguimos mudar o diretório para o novo sistema de arquivos, e fizemos uma cópia do / etc com sucesso Arquivo / fstab. Está funcionando!

Se usarmos o mount para listar os sistemas de arquivos montados mas restringirmos sua saída aos sistemas de arquivos ext4 usando a opção -t (type), veremos que agora existem dois sistemas de arquivos ext4 montados .

 montar -t ext4 

IMAGEM_30

Remontando um sistema de arquivos

A remontagem de um sistema de arquivos usa a opção -o remount. Normalmente, isso é feito para alterar um sistema de arquivos de um estado somente leitura (teste) para um estado de leitura / gravação (produção).

Vamos montar novamente a unidade de disquete. Desta vez, usaremos o sinalizador -r (somente leitura). Então nós faremos um pipe através do grep e olharemos os detalhes do sistema de arquivos floppy.

 sudo mount -r / dev / sdb / mnt 

 mount | grep / mnt 

Como você pode ver, o ro destacado indica que o sistema de arquivos é montado como somente leitura.

Usando a opção -o remount com o rw (read-write) flag podemos desmontar e remontar o sistema de arquivos com as novas configurações, tudo em um comando.

 sudo mount -o remontar, rw / mnt 

Repetir a tubulação de mount através do grep nos mostra que o ro foi substituído por rw (destacado). O sistema de arquivos agora está no modo de leitura / gravação.

 mount | grep / mnt 

(Não) Movendo um sistema de arquivos

Você costumava ser capaz de desmontar um sistema de arquivos e remontá-lo em outro ponto de montagem com um único comando.

A opção -M (move) na montagem existe especificamente para permitir que você faça isso. Mas ele não funciona mais nas distribuições do Linux que foram transferidas para o systemd. E essa é a maioria dos grandes nomes.

Se tentarmos mover um sistema de arquivos de / mnt para ./geek, ele falhará e mostrará a mensagem de erro mostrada abaixo. Tentar listar os arquivos no sistema de arquivos através de ./geek não retorna resultados.

 sudo mount -M / mnt ./geek

ls ./geek 

A solução alternativa é usar a opção -B (bind) que usamos anteriormente para vincular o ponto de montagem original ao novo ponto de montagem.

 sudo mount -B / mnt ./geek

ls ./geek

Além de não liberar o ponto de montagem original, ele terá o mesmo resultado prático .

Observações Finais

Usando a opção --make-private, foi possível forçar a mudança a ocorrer nas versões systemd do Linux. Essa técnica não é apresentada aqui por dois motivos.

  • Pode ter um comportamento imprevisível.
  • Não era persistente e precisaria ser repetido a cada reinicialização.

O Devuan Linux usa SysVinit não systemd. Um computador foi carregado com a versão mais recente do Devuan e testado. A opção -M (move) funcionou como esperado naquele sistema.

Além dos problemas systemd com a opção -M (move), você deve encontrar o uso de mount e umount direto. Estes são ótimos comandos para ter na manga quando confrontados com um sistema danificado, e você tem que começar a reconstituir o sistema de arquivos manualmente.

Via: How to Geek

Nenhum comentário