Header Ads

Como escrever um arquivo fstab no Linux

Adicionando um novo disco rígido ou unidade de estado sólido ao seu computador Linux?Você precisará editar seu arquivo fstab. Muitas pessoas acham a idéia assustadora. Sim, é fundamental que você acerte, mas armado com o conhecimento certo, realmente não é difícil.Nós o orientamos no processo de edição do seu arquivo fstab para integrar sua nova unidade ao seu sistema de arquivos.

fstab, a tabela de sistemas de arquivos

Embora adicionar um novo disco rígido a um computador Linux não seja muito complicado, pode ser um pouco confuso na primeira vez que você tenta. Você conecta o hardware, liga o computador e efetua login no sistema operacional. Mas você não pode ver sua nova unidade em lugar nenhum. Por que não aparece?Como você leva o Linux para o “ consulte ”o drive para que você possa começar a configurá-lo?

Na verdade, o Linux viu seu hardware, mas ele não o anuncia prontamente. Ou até mesmo dar uma dica de que ele encontrou seu novo hardware. Você precisa interrogar o Linux para obter as informações que precisará colocar no seu arquivo fstab.

Veja como configurar seu novo disco rígido para que o Linux —e você pode vê-lo e usá-lo. Existem duas partes no processo.A primeira parte é fazer algum reconhecimento para identificar o disco rígido e reunir algumas informações sobre ele.A segunda parte é editar o arquivo fstab, usando as informações que reunimos na fase de reconhecimento.

Encontrando sua nova unidade

Estamos adicionando duas novas unidadespara este sistema. Uma é uma unidade de disco rígido mecânica (HD) de 32 GB e a outra é uma unidade de estado sólido (SSD) de 16 GB.

Precisamos saber que o Linux pode vê-los e quais dispositivos de bloco o Linux é. usando para eles. Nos sistemas operacionais Linux e Unix, um dispositivo de bloco é um arquivo especial que atua como uma interface para um dispositivo no qual os dados podem ser lidos e gravados (a menos que sejam somente leitura). Os dispositivos de bloco geralmente representam algum tipo de unidade de armazenamento em massa (por exemplo, uma partição em um disco rígido ou CD-ROM. Eles são criados no diretório / dev.

Podemos usar o comando lsblkpara listar os dispositivos de bloco conectados ao seu computador Linux.

 lsblk 

A saída do lsblk está em colunas.

As colunas são:

  • Nome: este é o nome do dispositivo. Nomes de dispositivos que começam com "“ sd" e são seguidos por uma letrarepresentam discos rígidos SCSI. A letra identifica os discos rígidos individuais, sendo o primeiro, o primeiro, o segundo e assim por diante. Se houver um número acrescentado, indicaPor exemplo, o “ sdb2 ” seria a partição 2 no segundo disco rígido SCSI.
  • Maj: Min: Esta coluna contém os números principais e secundários do dispositivo.número indica o tipo do dispositivo (ou, mais precisamente, o tipo de driver usado para conversar com esse dispositivo). contagem do número de dispositivos desse tipo.
  • Rm: esta coluna mostra se o dispositivo é removível ou não. Observe que o dispositivo sr0 tem o valor 1, indicando que é removível. Esta é uma unidade de CD-ROM.
  • Tamanho: é a quantidade de dados que podem ser armazenados no dispositivo.
  • Ro: esta coluna mostrará 1 para dispositivos somente leiturae 0 para dispositivos de leitura e gravação. Os dispositivos de loop são todos somente leitura.
  • Tipo: identifica o tipo de dispositivo.O “ disco ”entrada significa uma unidade de disco, a “ parte ”entrada significa partição e “ rom ”significa memória somente leitura (CD-ROM).
  • Ponto de montagem: mostra o ponto no sistema de arquivos no qual este dispositivo está montado. Se estiver em branco, o dispositivo não está montado.

Na captura de tela acima, você pode ver que todos os dispositivos de loop recebem um número principal de 7 (significando um loopback, ou loop,dispositivo) e os números menores simplesmente aumentam em 1 a cada vez. dispositivos de loop são usados ​​com o sistema de arquivos squashfs. Um sistema de arquivos squashfs é criado toda vez que um aplicativo é instalado usando o sistema de gerenciamento de pacotes rápido.

Os discos rígidos SCSI recebem nomes como sda, sdb e sdc, e todos têm um número principal de 8 (Disco rígido SCSI). Os números menores estão agrupados em 16 's. Os números secundários para a primeira unidade, sda, são executados de 0 a 15. O 0 representa a unidade física e o número menor de 1 representa a primeira partição nessa unidade. Para a segunda unidade, sdb, os números menores são executados de 16 a 31. 16 representam a unidade física e 17 representam a primeira partição nessa unidade. Os próximos 16 números, 32 a 47, são usados ​​para os números menores de sdc e assim por diante.

Outros números principais comuns são 3 (para um disco rígido IDE) e 11 para CD-ROMS.

Na verdade, o estilo / dev / sr0 para unidades de CD-ROM SDCSI está obsoleto.O formato aprovado é / dev / scd0. Apesar disso, o formato / dev / sr0 ainda estava em uso em todas as máquinas usadas para pesquisar este artigo.

A documentação do kernel contém uma lista longa de todos os valores que os números maiores e menores podem receber.É uma lista surpreendentemente longa.

Para desordenar a saída do lsblk, podemos usar o grep para selecionar apenas os itens de interesse para nós. Sabemos que não adicionamos um dispositivo de loop, então vamos selecionar todos os discos rígidos SCSI. sabemos que estes terão “ sd ”em seus nomes.

 lsblk |grep sd 

Este comando fará com que o grep imprima apenas as linhas que possuem o “ sd ”no. Em nossa máquina de teste, vemos:

Portanto, temos três unidades SCSI.O primeiro, / dev / sda, é montado na raiz do sistema de arquivos, /. Os outros dois não estão montados, o que é esperado para unidades novas. Podemos ver que o drive / dev / sdb tem 32 GB de tamanho, o que significa que é o nosso drive mecânico tradicional.A unidade / dev / sdc tem 16 GB de tamanho e esta é a nossa unidade SSD.

Na verdade, como este é um computador virtual, também são discos virtuais. Portanto, o SSD está aparecendo como uma unidade mecânica SCSI. Na área de trabalho comum, meu SSD NVMe aparece como / dev / nvme0n1, e a primeira partição é / dev / nvme0n1p1. Seu número principal é 259. Essas diferenças não mudam o que temos que fazer no arquivo fstab, mas esteja ciente de que se você tiver um SSD, ele não aparecerá como um físico. unidade.

Além disso, suas unidades provavelmente não terão uma partição nelas se forem novas. Você pode usar o fdisk para criar uma partição, se necessário.

RELACIONADO: Como usar o Fdisk para gerenciar partições no Linux

Identificando unidades rotativas e não rotativas

Se usarmos a opção -o (saída) com lsblk e adicionarmos a coluna ROTA (rotativa) à tela, o lsblk usará 1 para indicar um dispositivo de armazenamento rotativo (unidade mecânica) e 0 para indicar um dispositivo de armazenamento não rotativo(unidade de estado sólido).

 lsblk -o + ROTA |grep sd 

Temos uma coluna extra à direita da tela, que é a coluna ROTA (rotativa). Como você pode ver, o “ SSD ”tem um 0 para o dispositivo e a partição. Isso faz sentido porque um SSD é um dispositivo de armazenamento não rotativo.

Montando os sistemas de arquivos

Antes de começarmos a pensar no arquivo fstab, deixe &Verifique se podemos montar as unidades manualmente. Dessa forma, se algo não funcionar quando usarmos o arquivo fstab, saberemos que o problema deve ser nossa sintaxe e não um problema com a própria unidade.

Nós ’Criaremos alguns pontos de montagem temporários no diretório / mnt. Você precisará usar o sudo e sua senha será solicitada.

 sudo mkdir / mnt / scsi 

 sudo mkdir / mnt / ssd 

Agora vamos montar a unidade SCSI no novo ponto de montagem.Nós usaremos o comando mount em sua forma mais simples. Vamos dizer o nome da partição que queremos montar e o ponto de montagem em que queremos que ela seja montada. mount montará o sistema de arquivos nessa partição no ponto de montagem especificado.

Estamos especificando a partição que contém o sistema de arquivos, não a unidade, portanto, inclua o dígito para opartição, neste caso, “ 1 ”.

 sudo mount / dev / sdb1 / mnt / scsi 

Se tudo correr bem, não haverá resposta da montagem. Você silenciosamente retornou ao prompt de comando.

A montagem do SSD é igualmente simples. Dizemos à montagem em qual partição em qual dispositivo montar e o ponto de montagem para montagem.

 sudo mount / dev / sdc1 / mnt / ssd 

Novamente, o silêncio é de ouro.

RELACIONADO: Como montar e desmontar dispositivos de armazenamento do terminal Linux

Verificando as montagens

Para verificarque as montagens ocorreram, usaremos o lsblk novamente.Nós canalizaremos sua saída através do grep e selecionaremos o sda1, o sdb2 o sdb2 o sdc2 o sdc1 o sdc1 o número 8221;entradas.

 lsblk -o + ROTA |grep sd [ac] 1 

mount mostra as três partições montadas. Esses são os dois que acabamos de montar e a partição original montada em /.

A partição / dev / sdb1 está montada em / mnt / scsie está em um dispositivo de armazenamento rotativo.A partição / dev / sdc1 está montada em / mnt / ssd e está em um dispositivo de armazenamento não rotativo. Tudo parece bem.

Agora precisamos configurar o arquivo fstab para que esses dispositivos sejam montados toda vez que o computador for inicializado.

O arquivo fstab

O arquivo fstab contém uma entrada para cada sistema de arquivos montado quando o computador é reiniciado. Cada entrada é composta de seis campos. Os campos são:

  • Sistema de arquivos: não, como o nome sugere, o tipo de sistema de arquivos na partição (é para esse tipo de campo). Esse é o identificador da partição que deve ser montada.
  • Ponto de montagem: o local no sistema de arquivos no qual você deseja que a partição seja montada.
  • Tipo: o tipo de arquivosistema na partição.
  • Opções: cada sistema de arquivos pode ter opções especificadas para ativar ou desativar a funcionalidade.
  • Despejo: Uma referência a um meio quase obsoleto de fazer backup de arquivossistemas, onde todo o sistema de arquivos foi 'despejado' ”para fita.
  • Passe: esta é a "passagem" ”bandeira. Ele informa ao Linux quais partições devem ser verificadas quanto a erros usando o fsck e em qual ordem. Sua partição principal de inicialização e sistema operacional deve ser 1, e o restante pode ser definido como 2. Se o sinalizador estiver definido como zero, significa que "não verifique". Se o seu sistema de arquivos não for um sistema de arquivos de registro em diário (como ext2 ou FAT16 / 32, por exemplo), é melhor desativar isso configurando-o como 0.

os campos devem ser especificados nesta ordem e devem ter um espaço ou uma guia entre eles. Encontrar os valores para esses campos pode ser assustador, principalmente os valores das "opções" ”campo. As “ opções ”as opções de campo devem estar em uma lista separada por vírgula, sem espaços entre elas.

A página de manual de cada sistema de arquivos listará as opções que podem ser usadas. ext4 tem cerca de 40 opções. Aqui estão algumas das opções mais comuns:

  • Automático: o sistema de arquivos será montado no momento da inicialização, automaticamente.
  • Noauto: O sistema de arquivos é montado apenas quando vocêinsira o comando mount -a.
  • Exec: a execução de binários é permitida neste sistema de arquivos.
  • Noexec: a execução de binários não é permitida neste sistema de arquivos.
  • Ro: o sistema de arquivos deve ser montado como somente leitura.
  • Rw: o sistema de arquivos deve ser montado como leitura e gravação.
  • Sincronização: as gravações de arquivo devemser realizado imediatamente e sem buffer. Melhor reservado para disquetes, se alguém ainda os estiver usando. Incorre em uma penalidade de desempenho.
  • Assíncrono: as gravações de arquivo devem ser armazenadas em buffer e otimizadas.
  • Usuário: qualquer usuário pode montar o sistema de arquivos.
  • Nouser:O usuário root é o único usuário que pode montar esse sistema de arquivos.
  • Padrões: Esta é uma maneira abreviada de especificar um conjunto de configurações comuns: rw, suid, dev, exec, auto, nouser e async).
  • Suid: permite a operação dos bits suid e sgid.O suid bit é usado para permitir que um arquivo seja executado como root por um usuário normal, sem fornecer privilégios de root ao usuário. Quando o bit sgid é definido em um diretório, os arquivos e os diretórios criados nesse diretório têm sua propriedade de grupo definida como a do diretório, não o grupo do usuário que os criou.
  • Nosuid: nãopermitir o uso dos bits suid e sgid.
  • Noatime: & # 8211;Não atualize os tempos de acesso ao arquivo no sistema de arquivos. Isso pode ajudar no desempenho de hardware antigo.
  • Nodiratime: não atualize os tempos de acesso ao diretório no sistema de arquivos.
  • Relatime: atualize os tempos de acesso ao arquivo em relação à hora da modificação do arquivo.

Os "padrões" ”A opção é uma boa jogada de abertura. Você pode adicionar ou remover outras opções se for necessário algum ajuste fino. Se houvesse uma maneira clara de obter as configurações necessárias, na ordem em que você as inserisse no arquivo fstab.

Digite o arquivo mtab.

O arquivo mtab

O arquivo mtab é a lista de sistemas de arquivos atualmente montados. Isso contrasta com o arquivo fstab, que lista os sistemas de arquivos que devem ser montados no momento da inicialização.O arquivo mtab inclui sistemas de arquivos montados manualmente.Já montamos nossas novas unidades, portanto elas devem aparecer no arquivo mtab.

Podemos ver o conteúdo do arquivo mtab usando cat. Vamos restringir a saída direcionando-a através do grep e observando apenas / dev / sdb1 e / dev / sdc1.

 cat / etc / mtab |grep sd [bc] 1 

A saída mostra as entradas mtab para essas duas partições.

Poderíamos levantaresses valores e solte-os diretamente no arquivo fstab, certificando-se de que havia um espaço ou uma guia entre cada campo.E isso seria isso. As unidades seriam montadas quando reiniciamos.

Existem duas advertências para isso. Um é o ponto de montagem. Criamos pontos de montagem temporários apenas para provar que poderíamos montar as novas partições nas novas unidades. Precisamos digitar os pontos de montagem reais, em vez dos temporários, se fossem diferentes.

A segunda ressalva é que, se usarmos as configurações do arquivo mtab, iremos ’ usaremos o arquivo de dispositivo de bloco como identificador para cada partição. Isso funcionaria, mas os valores / dev / sda e / dev / sdb, entre outros, correm o risco de mudar se um novo hardware de armazenamento em massa for adicionado ao computador. Isso significaria que as configurações no arquivo fstab estariam incorretas.

Cada partição possui um UUID (Universally Unique Identifier), que podemos usar para identificar a partição. Isso nunca vai mudar. Se usarmos o UUID para identificar as partições no arquivo fstab, as configurações sempre permanecerão precisas e verdadeiras.

Se você estiver usando suas novas partições como parte de um sistema RAID (Redundant Array of Inexpensive Disks), verifique com a documentação desse sistema. Pode especificar que você deve usar o identificador de dispositivo de bloco em vez do UUID.

Encontrando o UUID de uma partição

Para encontrar o UUID de uma partição, podemos usar blkidpara imprimir os atributos dos dispositivos de bloco.Nós limitaremos a saída para nossas duas novas partições em nossas novas unidades:

 blkid |grep sd [bc] 1 

A saída inclui o UUID de cada partição.

O PARTUUID é um formuláriode UUID que pode ser usado com o método de particionamento GUID Partition Tables (GPT) (se você não estiver usando o método de particionamento Master Boot Record (MBR)).

Editando o arquivo fstab

Abra o arquivo fstab em um editor. Estamos usando o gedit, um editor fácil de usar, encontrado na maioria das distribuições Linux.

 sudo gedit / etc / fstab 

O editor aparece com o seu arquivo fstab carregado.

Este arquivo fstab possui duas entradas. Eles são a partição no disco rígido existente / dev / sda1 e o sistema de arquivos swap. Cuidado para não alterar essas entradas.

Precisamos adicionar duas novas entradas ao arquivo fstab. Um para a partição na unidade SCSI e outro para a partição na unidade SSD.Nós adicionaremos a partição SCSI primeiro. Observe que as linhas que começam com um hash # são comentários.

  • No “ sistema de arquivos ”Neste campo, usaremos o UUID que blkid recuperou para nós anteriormente. Comece a linha com “ UUID = ”e cole o UUID. Pressione espaço ou guia.
  • Para o “ ponto de montagem ”No campo, vamos usar o ponto de montagem que criamos anteriormente, / mnt / scsi. Você usaria o ponto de montagem apropriado do seu sistema. Pressione espaço ou guia.
  • Para o “ tipo ”vamos entrar no ext4, que é o tipo de sistema de arquivos em nossa partição. Pressione espaço ou guia.
  • Nas “ opções ”No campo, usaremos as opções que recuperamos usando cat / etc / mtab. Estes são "rw, relacionime". Pressione espaço ou guia.
  • O “ despejo ”campo está definido como zero. Pressione espaço ou guia.
  • O “ passe ”o campo está definido como zero.

Agora, adicionaremos a partição de entrada fstab na unidade SSD em uma linha separada.

  • Na seção &Sistema de arquivos ”No campo, inseriremos o UUID que blkid recuperou para a partição na unidade SSD. Comece a linha com “ UUID = ”e cole o UUID. Pressione espaço ou guia.
  • Para o “ ponto de montagem ”No campo, vamos usar o ponto de montagem que criamos anteriormente, / mnt / ssd. Pressione espaço ou guia.
  • Para o “ tipo ”vamos entrar no ext4, que é o tipo de sistema de arquivos em nossa partição. Pressione espaço ou guia.
  • Nas “ opções ”campo "apenas para diferenciar as duas novas entradas em nosso exemplo", usaremos os "padrões" ”opção. Pressione espaço ou guia.
  • O “ despejo ”campo está definido como zero. Pressione espaço ou guia.
  • O “ passe ”campo está definido como zero.

Salve o arquivo e feche o editor.

RELACIONADO: Como editar arquivos de texto graficamente no Linux com gedit

Testando o fstab sem reiniciar

Podemos desmontar nossas novas unidades e forçar uma atualização no arquivo fstab.A montagem bem-sucedida de nossas novas partições verificará se as configurações e parâmetros que inserimos estão sintaticamente corretos. Isso significa que nosso arquivo fstab deve ser processado corretamente durante uma sequência de reinicialização ou inicialização.

Para desmontar a unidade SCSI, use este comando. Observe que há apenas um & n; 8220; n ”em “ umount ”:

 sudo umount / dev / sdb1 

Para desmontar a unidade SSD, use este comando:

 sudo umount / dev / sdc1 

Agora, usaremos lsblk para verificar se esses dispositivos de bloco estão montados.

 lsblk |grep sd 

E vemos que os dispositivos de bloco estão presentes no computador, mas não montados em nenhum lugar.

Podemos usar o comando mount com a opção -a (all) para remontar todos os sistemas de arquivos no fstab.

 sudo mount -a 

E podemos verificar mais uma vez com lsblk para ver se nossas novas partições agora estão montadas:

 lsblk |grep sd 

Tudo está montado onde deveria estar. Tudo o que precisamos fazer agora é alterar a propriedade dos pontos de montagem, caso contrário o root será o único que poderá acessar os novos dispositivos de armazenamento.

Podemos fazer isso facilmente usando chown. Este é o comando para o ponto de montagem SCSI:

 sudo chown dave: users / mnt / scsi 

E este é o comando parao ponto de montagem do SSD:

 sudo chown dave: users / mnt / ssd 

Agora podemos reiniciar nosso computador com confiança, sabendo queas partições que adicionamos serão montadas para nós e teremos acesso a elas.

Afinal, isso não é assustador

Todo o trabalho duro está na fase de reconhecimento "8212; e isso também não foi difícil.É fácil editar o arquivo fstab depois de coletar as informações necessárias. Preparação é tudo.

Via: How to Geek

Veja Também:

Nenhum comentário