Como usar o comando mkfs no Linux

Você deve criar um sistema de arquivos antes de usar qualquer dispositivo de armazenamento de dados conectado a um computador Linux. Aprenda como usar mkfs e outros utilitários para fazer exatamente isso em todos os tipos de sistemas de arquivos. Nós mostramos como.

mkfs faz sistemas de arquivos

O comando mkfs faz sistemas de arquivos. Em outros sistemas operacionais, a criação de um sistema de arquivos é chamada formatação. Independentemente do nome, é o processo que prepara uma partição para armazenar dados. A partição precisa de uma maneira de armazenar arquivos, sim. Mas também precisa de um mecanismo para armazenar os nomes e locais desses arquivos, junto com seus metadados, como o carimbo de data / hora de criação do arquivo, o carimbo de data / hora modificado do arquivo, o tamanho do arquivo e assim por diante. Uma vez que o mkfs construiu a estrutura necessária para manipular e armazenar metadados de arquivos, você pode começar a adicionar arquivos à partição.

A sintaxe é muito simples. Basta informar ao mkfs a partição do dispositivo em que deseja que o sistema de arquivos seja criado e que tipo de sistema de arquivos deseja. É isso mesmo. Nos bastidores, é um pouco diferente. Já há algum tempo, na maioria das distribuições Linux, mkfs tem sido um embrulho para mke2fs. O comando mkfs chama o comando mke2fs e passa as opções que você especificou. Pobre e velho mke2fs faz todo o trabalho mas não recebe nada da glória.

A sintaxe do mkfs foi atualizada e o formato antigo tornou-se obsoleto. Ambos os formulários funcionarão, mas usaremos o estilo moderno neste artigo.

A escolha dos sistemas de arquivos

A maneira moderna de usar mkfs é digitar “mkfs”. e, em seguida, o nome do sistema de arquivos que deseja criar.

Para ver os sistemas de arquivos que o mkfs pode criar, digite “mkfs” e pressione a tecla Tab duas vezes. Não há espaço após “mkfs”, apenas pressione Tab duas vezes.

A lista de sistemas de arquivos disponíveis é exibida na janela do terminal. A imagem é do Ubuntu 18.04 LTS. Outras distribuições podem oferecer mais ou menos opções. Iremos examiná-los e descrever cada um brevemente. Depois de uma palavra rápida sobre o registro no diário.

O registro no diário é um conceito importante em sistemas de arquivos. Os sistemas de arquivos registram as gravações de arquivos pendentes em um diário. À medida que cada arquivo é gravado, o diário é atualizado e os registros de gravação pendentes são atualizados. Isso permite que o sistema de arquivos repare arquivos corrompidos parcialmente gravados que ocorreram devido a um evento catastrófico, como um corte de energia. Alguns dos sistemas de arquivos mais antigos não suportam o registro no diário. Aqueles que não o fazem, gravam no disco com menos frequência porque não precisam atualizar o diário. Eles podem ter um desempenho mais rápido, mas estão mais sujeitos a danos devido a gravações de arquivo interrompidas.

  Como baixar podcasts do terminal Linux com o Podfox

Ext2: O primeiro sistema de arquivos para Linux foi o sistema de arquivos MINIX. Posteriormente, foi substituído pelo primeiro sistema de arquivos escrito especificamente para Linux, que foi Ext. Ext2 era Sucessor de Ext. Ext2 não é um sistema de arquivos com diário.
Ext3: Este foi o sucessor de Ext2, e pode ser considerado Ext2 com registro em diário, que protege seu sistema de arquivos contra corrupção de dados causada por travamentos e perda repentina de energia.
Ext4: Ext4 é o sistema de arquivos padrão para muitas distribuições do Linux. É um sistema de arquivos sólido, testado e confiável. Tem características que reduzir a fragmentação do arquivo e pode ser usado com unidades, partições e arquivos maiores que o Ext3.
BFS: Este é o Sistema de arquivos de inicialização, que é projetado para um trabalho e apenas um: lidar com os arquivos na partição de inicialização. É raro que você crie um sistema de arquivos de inicialização manualmente. Seu processo de instalação do Linux fará isso por você.
FAT: o Tabela de alocação de arquivos sistema de arquivos foi projetado para disquetes por um consórcio de pesos pesados ​​da indústria de computadores. Ele foi introduzido em 1977. O único motivo pelo qual você usaria este sistema de arquivos sem registro em diário é para compatibilidade com sistemas operacionais não Linux.
NTFS: o Novo Sistema de Tecnologia de Arquivos é um sistema de arquivos com diário da Microsoft introduzido com o Windows NT. Foi o sucessor do FAT. O único motivo pelo qual você usará este sistema de arquivos é para compatibilidade com sistemas operacionais não Linux.
MINIX: Originalmente criado por Andrew S. Tanenbaum como uma ajuda educacional, MINIX é um sistema operacional “mini-Unix”. Hoje em dia, ele tem como objetivo fornecer um sistema operacional com tolerância a falhas e autocorreção. O sistema de arquivos MINIX foi projetado como um versão simplificada do sistema de arquivos Unix. Talvez se você estiver desenvolvendo em um computador Linux e visando uma plataforma MINIX, você pode usar este sistema de arquivos. Ou talvez você precise de compatibilidade com um computador MINIX por outros motivos. Casos de uso para este sistema de arquivos em um computador Linux não estão aparecendo para mim, mas está disponível.
VFAT: Tabela de alocação de arquivo virtual, foi introduzido com o Windows 95 e removeu o limite de oito caracteres para nomes de arquivo. Nomes de arquivo de até 255 caracteres tornaram-se possíveis. O único motivo pelo qual você usará este sistema de arquivos é para compatibilidade com sistemas operacionais não Linux.
CRAMFS: o Sistema de arquivos ROM compactado é um sistema de arquivos somente leitura projetado para sistemas embarcados e usos especializados somente leitura, como nos processos de inicialização de computadores Linux. É comum ter um sistema de arquivos pequeno e temporário carregado primeiro para que os processos de bootstrap possam ser iniciados para preparar a montagem do sistema de boot “real”.
MSDOS: O sistema de arquivos do Sistema operacional Microsoft Disk. Lançado em 1981, é um sistema de arquivos elementar o mais básico possível. A primeira versão nem tinha diretórios. Ele ocupa um lugar de destaque na história da computação, mas, além da compatibilidade com sistemas legados, há poucos motivos para usá-lo hoje.

  Como instalar o JetBrains CLion no Linux

Uma maneira segura de fazer experiências com sistemas de arquivos

A criação de um sistema de arquivos em uma partição é destrutiva para quaisquer dados que já possam residir nessa partição. Usar um disco rígido sobressalente – ou até mesmo um computador sobressalente – é a maneira perfeita de experimentar a criação e o uso de diferentes sistemas de arquivos. Mas é claro que muitas pessoas não têm hardware sobressalente por aí, esperando para serem experimentados.

No entanto, podemos criar um arquivo de imagem e sistemas de arquivos dentro dele. Depois de montá-lo, podemos usá-lo como se fosse uma partição normal. Podemos explorar e experimentar sistemas de arquivos sem a necessidade de hardware sobressalente. Usaremos o comando dd para crie nosso arquivo de imagem.

O arquivo de imagem é criado pegando os dados de origem e colocando-os em uma imagem. Precisamos dizer ao dd onde obter seus dados de origem. Usaremos a opção if (arquivo de entrada) para dizer ao dd para usar / dev / zero como a fonte de dados de entrada. Este será um fluxo de zeros.

A opção de (arquivo de saída) nos permite fornecer um nome para o arquivo de imagem. Vamos chamá-lo de “wdzwdz.img”.

O tamanho do arquivo de imagem é determinado pelo tamanho e número de blocos que adicionamos a ele. Estamos usando a opção bs (tamanho do bloco) para solicitar um tamanho de bloco de 1 MB e a opção de contagem para solicitar 250 blocos. Isso nos dará um sistema de arquivos de 250 MB. Ao emitir este comando, ajuste o número de blocos para atender às suas necessidades e a capacidade sobressalente que você tem em seu computador Linux.

dd if=/dev/zero of=~/wdzwdz.img bs=1M count=250

O arquivo é criado para nós e o dd informa que foram criados 250 blocos para nós, conforme solicitado.

Podemos olhar nosso arquivo de imagem com ls:

ls -hl

É 250 MB conforme o esperado, o que é encorajador.

Criação do sistema de arquivos

Vamos escolher um sistema de arquivos para usar. Voltaremos no tempo e usaremos Ext2, que é a versão mais antiga do Ext que esta implementação do mkfs pode criar. Este é um sistema de arquivos sem journaling, então não armazene nada precioso nele sem ter backups em outro lugar. Usamos a variante mkfs.ext2 do comando mkfs e dizemos a ele para usar nosso arquivo de imagem como destino.

mkfs.ext2 ~/wdzwdz.img

O sistema de arquivos é criado e alguns detalhes do sistema de arquivos são exibidos.

  Como instalar aplicativos Kali Linux no Debian

Como você pode ver no texto destacado, mke2fs aparece.

Agora temos um contêiner para o sistema de arquivos – o arquivo de imagem – que está substituindo um disco rígido neste cenário. Dentro desse contêiner, criamos um sistema de arquivos. Agora precisamos montar o sistema de arquivos para que possamos usá-lo.

Esta é uma configuração temporária, então faremos um ponto de montagem em / mnt chamado “geek”. Vamos removê-lo quando terminarmos.

sudo mkdir /mnt/geek

Agora podemos montar nosso arquivo de imagem.

sudo mount ~/wdzwdz.img /mnt/geek

Precisamos mudar o propriedade do arquivo do ponto de montagem para que tenhamos acesso de leitura e gravação a ele.

sudo chown dave:users /mnt/geek/

E agora devemos ser capazes de usar nosso novo sistema de arquivos. Vamos mudar para o sistema de arquivos e copiar alguns arquivos para ele.

cd /mnt/geek
cp ~/Documents/Code/*.? .

Isso copiará todos os arquivos com uma extensão de uma única letra do diretório ~ / Documents / Code para nosso novo sistema de arquivos. Vamos verificar se eles foram copiados.

ls

Os arquivos foram copiados, então nosso sistema de arquivos foi criado, montado e usado. Ou assim pensamos. Vamos verificar novamente. De nosso diretório inicial, desmontaremos o sistema de arquivos. Observe que há apenas um “n” em umount.

sudo umount /mnt/geek

Agora, se voltarmos para / mnt / geek e verificarmos os arquivos, não devemos encontrar nenhum porque eles estão dentro de nosso arquivo de imagem e este foi desmontado.

cd /mnt/geek
ls

Exploração Adicional

Agora que definimos o processo, tentar outro sistema de arquivos deve ser fácil. Usaremos o sistema de arquivos MINIX desta vez. Em nosso diretório inicial, podemos criar um novo sistema de arquivos dentro de nosso arquivo de imagem existente.

Tome cuidado! Se houver arquivos importantes no sistema de arquivos dentro do arquivo de imagem, monte o arquivo de imagem e recupere-os antes de criar um novo sistema de arquivos.

mkfs.minix ~/wdzwdz.image

Sem qualquer sugestão de perguntar “se você tem certeza”, o novo sistema de arquivos é criado sobre o antigo. Podemos montar nosso arquivo de imagem exatamente com o mesmo comando de antes:

sudo mount ~/wdzwdz.img /mnt/geek

Vamos mudar para o novo sistema de arquivos em / mnt / geek e ver se podemos criar um arquivo.

touch geek.txt

ls -ahl geek.txt

E, de forma simples e rápida, criamos um novo sistema de arquivos, montamos e podemos usá-lo.

Removendo o Ponto de Montagem

Quando estiver tudo pronto, podemos remover o ponto de montagem “geek”. Para fazer isso, usaremos rmdir:

cd /mnt
sudo rmdir geek

Malabarismo com fogo

Com o Linux, como com a maioria das coisas, você aprende fazendo. O problema com alguns comandos é que eles são potencialmente destrutivos. O dilema é como praticá-los sem colocar seu sistema ou dados em risco?

Agora você tem um método simples de criar e experimentar sistemas de arquivos com mkfs que deixa seu computador intocado.