Adicionando um novo disco rígido ou unidade de estado sólido ao seu computador Linux? Você precisará editar seu fstab
arquivo. Muitas pessoas acham a própria ideia assustadora. Sim, é fundamental que você acerte, mas armado com o conhecimento certo, realmente não é difícil. Nós fstab
o orientamos no processo de edição de seu arquivo para integrar sua nova unidade em seu sistema de arquivos.
Índice
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ê tentar. Você conecta o hardware, liga o computador e faz login no sistema operacional. Mas você não pode ver sua nova unidade em lugar nenhum. Por que não aparece? Como você faz com que o Linux “veja” a unidade para que possa começar a configurá-la?
Na verdade, o Linux tem visto o seu hardware, mas não prontamente anunciá-lo. Ou até mesmo dar uma dica de que encontrou seu novo hardware. Você precisa interrogar o Linux para obter as informações de que precisa para colocar em seu fstab
arquivo.
Veja como configurar seu novo disco rígido para que o Linux – e você – possa vê-lo e usá-lo. O processo tem duas partes. A primeira parte é fazer algum reconhecimento para identificar o disco rígido e reunir algumas informações sobre ele. A segunda parte é editar o fstab
arquivo, usando as informações que coletamos na fase de reconhecimento.
Encontrando sua nova unidade
Estamos adicionando duas novas unidades a este sistema. Um é um disco rígido mecânico (HD) de 32 GB e o outro é uma unidade de estado sólido (SSD) de 16 GB .
Precisamos saber se o Linux pode vê-los e quais dispositivos de bloco o Linux está usando para eles. No Linux e em sistemas operacionais semelhantes ao Unix, um dispositivo de bloco é um arquivo especial que atua como uma interface para um dispositivo de onde os dados podem ser lidos e gravados (a menos que seja somente leitura). Dispositivos de bloco geralmente representam uma unidade de armazenamento em massa de algum tipo (por exemplo, uma partição em um disco rígido ou um CD-ROM. Eles são criados no /dev
diretório.
Podemos usar o lsblk
comando para listar os dispositivos de bloco conectados ao seu computador Linux.
lsblk
A saída de lsblk
está em colunas.
As colunas são:
- Nome : este é o nome do dispositivo. Os nomes dos dispositivos que começam com “sd” e são seguidos por uma letra representam os discos rígidos SCSI . A letra identifica os discos rígidos individuais, sendo “a” o primeiro, “b”. sendo o segundo e assim por diante. Se houver um número anexado, ele indica uma partição. Por exemplo, “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. O número principal indica o tipo de dispositivo (ou, mais precisamente, o tipo de driver usado para falar com aquele dispositivo). O número menor é uma 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 pode ser armazenada no dispositivo.
- Ro : Esta coluna mostrará 1 para dispositivos somente leitura e 0 para dispositivos de leitura e gravação. Os
loop
dispositivos são todos somente leitura . - Tipo : identifica o tipo de dispositivo. A entrada “disco” significa uma unidade de disco, a entrada “part” significa partição e “rom” significa memória somente leitura (CD-ROM).
- Mountpoint : Isto mostra o ponto no sistema de ficheiros em que este dispositivo é montado. Se estiver em branco, o dispositivo não está montado.
Na captura de tela acima, você pode ver que os loop
dispositivos recebem um número principal 7 (significando um dispositivo de loopback, ou loop ) e os números menores simplesmente aumentam em 1 a cada vez. dispositivos de loop são usados com o squashfs
sistema de arquivos. Um squashfs
sistema de arquivos é criado sempre 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 o maior número 8 (disco rígido SCSI). Os números menores são agrupados em 16’s. Os números menores para a primeira unidade, sda
vão de 0 a 15. O 0 representa a unidade física e o número menor de 1 representa a primeira partição dessa unidade. Para a segunda unidade, sdb
os números secundários vão de 16 a 31. 16 representa a unidade física e 17 representa a primeira partição nessa unidade. Os próximos 16 números, de 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 /dev/sr0
estilo das unidades de CD-ROM SDCSI está obsoleto. O formato aprovado é /dev/scd0
. Apesar disso, o /dev/sr0
formato ainda estava em uso em todas as máquinas usadas para pesquisar este artigo.
A documentação do kernel contém uma longa lista de todos os valores que os números maiores e menores podem assumir. É uma lista surpreendentemente longa.
Para desorganizar a saída lsblk
, podemos usar grep
para selecionar apenas os itens de nosso interesse . Sabemos que não adicionamos um dispositivo de loop, então vamos selecionar todos os discos rígidos SCSI. sabemos que eles terão “sd” em seus nomes.
lsblk | grep sd
Este comando fará com que grep
sejam impressas apenas as linhas que tenham “sd” no arquivo. 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 são montados, o que é esperado para drives novos. Podemos ver que a unidade /dev/sdb
tem 32 GB de tamanho, o que significa que é nossa unidade mecânica tradicional. A unidade /dev/sdc
tem 16 GB de tamanho e esta é a nossa unidade SSD.
Na verdade, por se tratar de um computador virtual, também são discos virtuais. Portanto, o SSD está aparecendo como um drive mecânico SCSI. Em minha área de trabalho normal, meu SSD NVMe aparece como /dev/nvme0n1
, e a primeira partição nele é /dev/nvme0n1p1
. Seu número principal é 259. Essas diferenças não mudam o que temos que fazer no fstab
arquivo, mas esteja ciente de que se você tiver um SSD, ele não aparecerá como uma unidade física.
Além disso, suas unidades provavelmente não terão uma partição se forem novas. Você pode usar fdisk
para criar uma partição, se necessário.
Identificação de unidades rotativas e não rotativas
Se usarmos a -o
opção (saída) com lsblk
e adicionarmos a ROTA
coluna (giratória) à tela, lsblk
usaremos 1 para indicar um dispositivo de armazenamento giratório (unidade mecânica) e 0 para indicar um dispositivo de armazenamento não giratório (unidade de estado sólido )
lsblk -o + ROTA | grep sd
Obtemos uma coluna extra à direita da tela, que é a ROTA
coluna (giratória). Como você pode ver, o “SSD” tem um 0 para o dispositivo e partição. Isso faz sentido porque um SSD é um dispositivo de armazenamento não rotativo.
Montagem dos sistemas de arquivos
Antes de começarmos a pensar no fstab
arquivo, vamos verificar se podemos montar os drives manualmente. Dessa forma, se algo não funcionar ao usarmos o fstab
arquivo, saberemos que o problema deve ser nossa sintaxe e não um problema do próprio drive.
Vamos criar alguns pontos de montagem temporários no /mnt
diretório. Você precisará usar sudo
e será solicitada sua senha .
sudo mkdir / mnt / scsi
sudo mkdir / mnt / ssd
Agora vamos montar a unidade SCSI no novo ponto de montagem. Usaremos o mount
comando em sua forma mais simples. Informaremos o nome da partição que desejamos montar e o ponto de montagem em que queremos montá-la. mount
irá montar o sistema de arquivos nessa partição no ponto de montagem que especificarmos.
Estamos especificando a partição que contém o sistema de arquivos, não a unidade, portanto, certifique-se de incluir o dígito para a partição, neste caso, “1”.
sudo mount / dev / sdb1 / mnt / scsi
Se tudo correr bem, não haverá resposta de mount
. Você silenciosamente retorna ao prompt de comando.
A montagem do SSD é igualmente simples. Dizemos em mount
qual partição em qual dispositivo montar, e o ponto de montagem para montá-lo.
sudo mount / dev / sdc1 / mnt / ssd
Mais uma vez, o silêncio vale ouro.
Verificando as montagens
Para verificar se as montagens ocorreram, usaremos lsblk
novamente. Iremos canalizar sua saída grep
e selecionar as entradas “sda1”, “sdb2” e “sdc1”.
lsblk -o + ROTA | grep sd [ac] 1
mount
mostra-nos as três partições montadas. São os dois que acabamos de montar e a partição original montada em /.
A partição /dev/sdb1
está montada /mnt/scsi
e em um dispositivo de armazenamento giratório. A partição /dev/sdc1
está montada /mnt/ssd
e em um dispositivo de armazenamento não giratório. Tudo parece bem.
Agora precisamos configurar o fstab
arquivo para que esses dispositivos sejam montados toda vez que o computador for inicializado.
O arquivo fstab
O fstab
arquivo contém uma entrada para cada sistema de arquivos montado quando o computador é reiniciado. Cada entrada é composta por seis campos. Os campos são:
- Sistema de arquivos : Não é, como seu nome sugere, o tipo de sistema de arquivos na partição (é para isso que serve o campo de tipo ). Este é o identificador da partição que deve ser montada.
- Ponto de montagem : O local no sistema de arquivos em que você deseja que a partição seja montada.
- Tipo : o tipo de sistema de arquivos na partição.
- Opções : Cada sistema de arquivos pode ter opções especificadas para ativar ou desativar a funcionalidade.
- Dump : Uma referência a um meio quase obsoleto de fazer backup de sistemas de arquivos, onde todo o sistema de arquivos era “despejado” em fita.
- Passar : Esta é a bandeira de “passar”. Diz ao Linux quais partições devem ser verificadas quanto a erros usando
fsck
e em que ordem . A partição principal de inicialização e sistema operacional deve ser 1, e o resto pode ser definido como 2. Se o sinalizador estiver definido como zero, significa “não verifique nada”. Se o seu sistema de arquivos não for um sistema de arquivos com diário (como ext2 ou FAT16 / 32, por exemplo), é melhor desativá-lo configurando-o como 0.
Esses campos devem ser especificados nesta ordem e devem ter um espaço ou uma tabulação entre eles. Encontrar os valores para esses campos pode ser assustador, especialmente os valores do campo “opções”. “Opções” campo opções deve estar em uma lista separada por vírgulas, sem espaços entre eles.
A man
página para 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:
- Auto: O sistema de arquivos será montado automaticamente no momento da inicialização.
- Noauto : O sistema de arquivos só é montado quando você insere o
mount -a
comando. - 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-gravação.
- Sincronizar : as gravações de arquivos devem ser realizadas imediatamente e não armazenadas em 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 tem permissão para montar o sistema de arquivos.
- Nouser : O usuário root é o único usuário que pode montar este sistema de arquivos.
- Padrões : esta é uma forma 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
esgid
. Osuid
bit é usado para permitir que um arquivo seja executado como root, por um usuário normal, sem conceder ao usuário privilégios de root completos . Quando osgid
bit é definido em um diretório, os arquivos e diretórios criados dentro desse diretório têm sua propriedade de grupo definida para a do diretório , não para o grupo do usuário que os criou. - Nosuid : Não permitir o uso dos bits
suid
esgid
. - Noatime: – Não atualize os tempos de acesso aos arquivos no sistema de arquivos. Isso pode ajudar no desempenho em hardware antigo.
- Nodiratime : Não atualize os horários de acesso ao diretório no sistema de arquivos.
- Relatime : Atualize os tempos de acesso ao arquivo em relação ao tempo de modificação do arquivo.
A opção “padrões” é uma boa estratégia inicial. Você pode adicionar ou remover outras opções se algum ajuste fino for necessário. Se ao menos houvesse uma maneira simples de obter as configurações de que você precisa, na ordem em que você precisa inseri-las no fstab
arquivo.
Entre no mtab
arquivo.
O arquivo mtab
O mtab
arquivo é a lista de sistemas de arquivos montados atualmente . Isso está em contraste com o fstab
arquivo que lista os sistemas de arquivos que devem ser montados no momento da inicialização. O mtab
arquivo inclui sistemas de arquivos montados manualmente. Já montamos nossas novas unidades, então elas devem aparecer no mtab
arquivo.
Podemos ver o conteúdo do mtab
arquivo usando cat
. Restringiremos a saída canalizando-a, grep
examinando /dev/sdb1
e /dev/sdc1
apenas.
cat / etc / mtab | grep sd [bc] 1
A saída mostra as mtab
entradas para essas duas partições.
Poderíamos levantar esses valores e soltá-los diretamente no fstab
arquivo, certificando-se de que havia um espaço ou uma guia entre cada campo. E seria isso. As unidades seriam montadas quando reinicializássemos.
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. Precisaríamos inserir os pontos de montagem reais em vez dos temporários – se fossem diferentes.
A segunda advertência é: se usarmos as configurações do mtab
arquivo, usaremos o arquivo do dispositivo de bloco como identificador para cada partição. Isso funcionaria, mas os valores /dev/sda
e /dev/sdb
assim por diante correm o risco de mudar se um novo hardware de armazenamento em massa for adicionado ao computador. Isso significaria que as configurações no fstab
arquivo estariam incorretas.
Cada partição tem um Identificador Único Universal (UUID), que podemos usar para identificar a partição. Isso nunca vai mudar. Se usarmos o UUID para identificar as partições no fstab
arquivo, 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 a documentação desse sistema. Ele pode especificar que você deve usar o identificador do dispositivo de bloco em vez do UUID.
Encontrando o UUID de uma partição
Para encontrar o UUID de uma partição, podemos usar blkid
para imprimir os atributos dos dispositivos de bloco . 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 para cada partição.
O PARTUUID é uma forma de UUID que pode ser usada 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 fstab
arquivo em um editor. Estamos usandogedit
, um editor fácil de usar encontrado na maioria das distribuições Linux.
sudo gedit / etc / fstab
O editor aparece com o fstab
arquivo carregado nele.
Este fstab
arquivo já contém duas entradas. Eles são a partição no disco rígido existente /dev/sda1
e o sistema de arquivos de troca. Tenha cuidado para não alterar essas entradas.
Precisamos adicionar duas novas entradas ao fstab
arquivo. Um para a partição na unidade SCSI e outro para a partição na unidade SSD. Vamos adicionar a partição SCSI primeiro. Observe que as linhas que começam com um hash #
são comentários.
- No campo “sistema de arquivos”, usaremos o UUID que foi
blkid
recuperado para nós anteriormente. Comece a linha com “UUID =” e cole o UUID. Pressione espaço ou tabulação. - Para o campo “ponto de montagem”, 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 tabulação. - Para “tipo”, vamos inserir
ext4
, que é o tipo de sistema de arquivos em nossa partição. Pressione espaço ou tabulação. - No campo “opções” usaremos as opções que recuperamos usando cat
/etc/mtab
. Estes são “rw, relatime”. Pressione espaço ou tabulação. - O campo “dump” é definido como zero. Pressione espaço ou tabulação.
- O campo “aprovado” é definido como zero.
Agora vamos adicionar a fstab
partição de entrada na unidade SSD em uma linha separada.
- No campo “sistema de arquivos”, inseriremos o UUID que foi
blkid
recuperado para a partição na unidade SSD. Comece a linha com “UUID =” e cole o UUID. Pressione espaço ou tabulação. - Para o campo “ponto de montagem”, vamos usar o ponto de montagem que criamos anteriormente
/mnt/ssd
,. Pressione espaço ou tabulação. - Para “tipo”, vamos inserir
ext4
, que é o tipo de sistema de arquivos em nossa partição. Pressione espaço ou tabulação. - No campo “opções” – apenas para tornar as duas novas entradas diferentes em nosso exemplo – usaremos a opção “padrões”. Pressione espaço ou tabulação.
- O campo “dump” é definido como zero. Pressione espaço ou tabulação.
- O campo “aprovado” é definido como zero.
Salve o arquivo e feche o editor.
Testando fstab sem reinicializar
Podemos desmontar nossas novas unidades e então forçar uma atualização no fstab
arquivo. A montagem bem-sucedida de nossas novas partições verificará se as configurações e parâmetros inseridos estão sintaticamente corretos. Isso significa que nosso fstab
arquivo deve ser processado corretamente durante uma reinicialização ou seqüência de inicialização.
Para desmontar a unidade SCSI, use este comando. Observe que há apenas um “n” em “umount”:
sudo umount / dev / sdb1
Para desmontar a unidade SSD, use este comando:
sudo umount / dev / sdc1
Agora vamos usar 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 qualquer lugar.
Podemos usar o mount
comando com a -a
opção (todos) para remontar todos os sistemas de arquivos em 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 root
, seremos os únicos que poderão 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 para o ponto de montagem SSD:
sudo chown dave: users / mnt / ssd
Agora podemos reiniciar nosso computador com confiança, sabendo que as partições que adicionamos serão montadas para nós e temos acesso a elas.
Afinal, não é tão assustador
Todo o trabalho duro está na fase de reconhecimento – e isso também não foi difícil. Editar o fstab
arquivo depois de reunir as informações de que precisa é muito fácil. A preparação é tudo.