Qual sistema de arquivos Linux você deve usar?
Ao formatar partições em um PC Linux, você verá uma grande variedade de opções de sistema de arquivos. Essas opções não precisam ser esmagadoras. Se você não tiver certeza de qual sistema de arquivos Linux usar, há uma resposta simples.
A resposta rápida: Use Ext4 se não tiver certeza
Nós entraremos nas ervas daninhas e diminuiremos a diferença entre os vários sistemas de arquivos em um momento, mas se você não tiver certeza: Use Ext4.
Ext4 é o sistema de arquivos padrão na maioria das distribuições Linux por um motivo. É uma versão melhorada do antigo sistema de arquivos Ext3. Não é o sistema de arquivos mais avançado, mas isso é bom: significa que o Ext4 é sólido e estável.
No futuro, as distribuições Linux irão gradualmente mudar para o BtrFS. O BtrFS ainda é inovador e vê muito desenvolvimento, então você deve evitá-lo nos sistemas de produção. O risco de corrupção de dados ou outros problemas não vale a potencial melhoria na velocidade.
Note, no entanto, que este conselho de “uso do Ext4” se aplica somente a partições do sistema Linux e outras partições em disco que somente o Linux acessará. Se você estiver formatando uma unidade externa que deseja compartilhar com outros sistemas operacionais, não deverá usar o Ext4 porque o Windows, o macOS e outros dispositivos não poderão ler os sistemas de arquivos Ext4. Você vai querer usar exFAT ou FAT32 ao formatar uma unidade externa no Linux.
Se você estiver configurando partições na sua unidade de inicialização principal do Linux, você também desejará criar uma partição de troca de pelo menos alguns GBs de tamanho ao configurar essas partições. Esta partição é usada para “espaço de troca”. É semelhante ao arquivo de paginação no Windows. O Linux troca a memória pelo espaço de troca quando sua RAM está cheia. Esta partição deve ser formatada como "swap" em vez de com um sistema de arquivos específico.
O que é o diário??
Uma coisa que você notará ao escolher entre sistemas de arquivos é que alguns deles são marcados como um sistema de arquivos “journaling” e outros não. Isso é importante.
A criação de diário é projetada para impedir a corrupção de dados de falhas e perda repentina de energia. Digamos que seu sistema esteja no meio da escrita de um arquivo no disco e, de repente, ele perde energia. Sem um diário, seu computador não teria idéia se o arquivo foi completamente gravado no disco. O arquivo permaneceria lá no disco, corrompido.
Com um diário, o computador notaria que ele gravaria um determinado arquivo no disco no diário, gravaria esse arquivo no disco e removeria esse trabalho do diário. Se a energia se esgotasse ao escrever o arquivo, o Linux verificaria o diário do sistema de arquivos quando ele inicializasse e retomaria os trabalhos parcialmente concluídos. Isso evita a perda de dados e a corrupção de arquivos.
O registro em diário diminui o desempenho de gravação em disco um pouquinho, mas vale a pena em um desktop ou laptop. Não é tão sobrecarga como você imagina. O arquivo completo não está gravado no diário. Em vez disso, apenas o metadado do arquivo, inode ou local do disco é registrado no diário antes de ser gravado no disco.
Todo sistema de arquivos moderno suporta journaling, e você vai querer usar um sistema de arquivos que suporte o registro no diário ao configurar um desktop ou laptop.
Os sistemas de arquivos que não oferecem registro no diário estão disponíveis para uso em servidores de alto desempenho e outros sistemas em que o administrador deseja extrair desempenho extra. Eles também são ideais para pen drives removíveis, onde você não quer a sobrecarga mais alta e as gravações adicionais de registro no diário.
Qual é a diferença entre todos os sistemas de arquivos Linux??
Enquanto a Microsoft desenvolve o Windows e a Apple controla o macOS, o Linux é um projeto de código aberto desenvolvido pela comunidade. Qualquer pessoa (ou qualquer empresa) com habilidade e tempo pode criar um novo sistema de arquivos Linux. Essa é uma das razões pelas quais existem tantas opções. Aqui estão as diferenças:
- Ext significa "Sistema de arquivos estendido" e foi o primeiro criado especificamente para o Linux. Ele teve quatro revisões principais. "Ext" é a primeira versão do sistema de arquivos, introduzida em 1992. Foi uma grande atualização do sistema de arquivos Minix usado na época, mas carece de recursos importantes. Muitas distribuições Linux não suportam mais Ext.
- Ext2 não é um sistema de arquivos de registro no diário. Quando introduzido, foi o primeiro sistema de arquivos a suportar atributos estendidos de arquivos e drives de 2 terabytes. A falta de um diário do Ext2 significa que ele grava no disco menos, o que o torna útil para a memória flash, como as unidades USB. No entanto, sistemas de arquivos como exFAT e FAT32 também não usam journaling e são mais compatíveis com sistemas operacionais diferentes, então nós recomendamos que você evite Ext2 a menos que você saiba que precisa por algum motivo.
- Ext3 é basicamente apenas Ext2 com journaling. O Ext3 foi projetado para ser compatível com o Ext2, permitindo que as partições sejam convertidas entre o Ext2 e o Ext3 sem a necessidade de formatação. Já existe há mais tempo do que o Ext4, mas o Ext4 existe desde 2008 e é amplamente testado. Neste ponto, é melhor você usar o Ext4.
- Ext4 também foi projetado para ser compatível com versões anteriores. Você pode montar um sistema de arquivos Ext4 como Ext3 ou montar um sistema de arquivos Ext2 ou Ext3 como Ext4. Ele inclui recursos mais novos que reduzem a fragmentação de arquivos, permitem volumes e arquivos maiores e usam alocação atrasada para melhorar a vida útil da memória flash. Esta é a versão mais moderna do sistema de arquivos Ext e é o padrão na maioria das distribuições Linux.
- BtrFS, pronunciado “Butter” ou “Better” FS, foi originalmente criado pela Oracle. Significa “B-Tree File System” e permite o agrupamento de drives, snapshots instantâneos, compressão transparente e desfragmentação online. Ele compartilha várias das mesmas idéias encontradas no ReiserFS, um sistema de arquivos que algumas distribuições do Linux costumavam usar por padrão. O BtrFS é projetado para ser uma quebra clara da série Ext de sistemas de arquivos. Ted Ts'o, o mantenedor do sistema de arquivos Ext4, considera a Ext4 uma solução de curto prazo e acredita que o BtrFS é o caminho a seguir. Espere ver o BtrFS se tornar o padrão nas distribuições Linux de desktops de servidores corporativos e consumidores nos próximos anos, à medida que ele é testado.
- ReiserFS foi um grande avanço para os sistemas de arquivos Linux quando foi introduzido em 2001 e incluiu muitos novos recursos que o Ext nunca seria capaz de implementar. O ReiserFS foi substituído pelo Reiser4, que melhorou em muitos dos recursos que estavam incompletos ou ausentes no lançamento inicial, em 2004. Mas o desenvolvimento do Reiser4 parou depois que o principal desenvolvedor, Hans Reiser, foi mandado para a prisão em 2008. Reiser4 ainda não é no kernel principal do Linux e é improvável que ele chegue lá. O BtrFS é a melhor escolha a longo prazo.
- ZFS foi projetado pela Sun Microsystems para Solaris e é agora propriedade da Oracle. O ZFS suporta vários recursos avançados, incluindo agrupamento de unidades, snapshots e distribuição dinâmica de disco - o BtrFS trará muitos desses recursos ao Linux por padrão. Cada arquivo tem uma soma de verificação, portanto, o ZFS pode informar se um arquivo está corrompido ou não. Sun O ZFS de código aberto sob a licença Sun CDDL, o que significa que não pode ser incluído no kernel do Linux. No entanto, você pode instalar o suporte do ZFS em qualquer distribuição do Linux. O Ubuntu agora oferece suporte oficial ao ZFS, começando com o Ubuntu 16.04 também. O Ubuntu usa o ZFS por padrão para contêineres.
- XFS foi desenvolvido pela Silicon Graphics em 1994 para o sistema operacional SGI IRX e foi portado para o Linux em 2001. É semelhante ao Ext4 em alguns aspectos, pois também usa alocação atrasada para ajudar na fragmentação de arquivos e não permite snapshots montados. Pode ser ampliado, mas não encolhido, em tempo real. O XFS tem um bom desempenho ao lidar com arquivos grandes, mas tem um desempenho pior do que outros sistemas de arquivos ao lidar com muitos arquivos pequenos. Pode ser útil para determinados tipos de servidores que precisam principalmente lidar com arquivos grandes.
- JFS, ou “Journaled File System”, foi desenvolvido pela IBM para o sistema operacional IBM AIX em 1990 e depois portado para o Linux. Possui baixo uso de CPU e bom desempenho para arquivos grandes e pequenos. Partições JFS podem ser dinamicamente redimensionadas, mas não reduzidas. Ele foi extremamente bem planejado e tem suporte na maioria das principais distribuições, no entanto, seu teste de produção em servidores Linux não é tão extenso quanto o Ext, já que foi projetado para o AIX. Ext4 é mais comumente usado e é mais amplamente testado.
- Troca é uma opção ao formatar uma unidade, mas não é um sistema de arquivos real. É usado como memória virtual e não possui estrutura de sistema de arquivos. Você não pode montá-lo para ver seu conteúdo. O swap é usado como “espaço de rascunho” pelo kernel do Linux para armazenar temporariamente os dados que não cabem na RAM. Também é usado para hibernar. Enquanto o Windows armazena seu arquivo de paginação como um arquivo em sua partição principal do sistema, o Linux apenas reserva uma partição vazia separada para o espaço de swap..
- FAT16, FAT32, e exFAT: Os sistemas de arquivos FAT da Microsoft geralmente são uma opção ao formatar uma unidade no Linux. Esses sistemas de arquivos não incluem um diário, por isso são ideais para unidades USB externas. Eles são um padrão de fato que todo sistema operacional - Windows, macOS, Linux e outros dispositivos - podem ler. Isso os torna o sistema de arquivos ideal para usar ao formatar uma unidade externa que você deseja usar com outros sistemas operacionais. FAT32 é mais antigo. O exFAT é a opção ideal, pois suporta arquivos com mais de 4 GB de tamanho e partições com mais de 8 TB de tamanho, ao contrário do FAT32..
Existem outros sistemas de arquivos Linux também, incluindo sistemas de arquivos projetados especificamente para armazenamento flash em dispositivos embarcados e em cartões SD. Mas estas são as opções que você verá com mais frequência ao usar o Linux.