Manual:X86/Instalação/Discos

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:X86/Installation/Disks and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎русский • ‎தமிழ் • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
X86 Manual
Installation
Sobre a instalação
Escolhendo a mídia
Configurando a rede
Preparando os discos
Instalando o stage3
Instalando o sistema base
Configurando o kernel
Configurando o sistema
Instalando as ferramentas
Configurando o gerenciador de boot
Finalizando
Trabalhando com o Gentoo
Introdução ao Portage
USE flags
Recursos do Portage
Sistema initscript
Variáveis de ambiente
Trabalhando com o portage
Arquivos e diretórios
Variáveis
Misturando ramos de software
Ferramentas adicionais
Árvore customizada do Portage
Recursos avançados
Configuração de rede
Iniciando
Configuração avançada
Uso de rede modular
Rede sem fio
Adicionando funcionalidade
Gerenciamento dinâmico


Introdução aos dispositivos de blocos

Dispositivos de blocos

Vamos dar uma boa olhada nos aspectos relacionados a discos do Gentoo Linux e do Linux em geral, incluindo sistemas de arquivos Linux, partições e dispositivos de blocos. Uma vez que os detalhes de discos e partições estiverem compreendidos, serão configurados as partições e sistemas de arquivos para a instalação do Gentoo Linux.

Para começar, vamos dar uma olhada nos dispositivos de blocos. O dispositivo de bloco mais famoso é provavelmente aquele que representa o primeiro drive em um sistema Linux, o /dev/sda. Drives SCSI e Serial ATA são ambos chamados /dev/sd*; mesmo drives IDE são chamados /dev/sd* pelo sistema libata do kernel. Se for usado o sistema antigo de dispositivos, então o primeiro drive IDE é chamado /dev/hda.

The following table will help readers determine where to find a certain type of block device on the system:

Type of device Default device handle Editorial notes and considerations
SATA, SAS, SCSI, or USB flash /dev/sda Found on hardware from roughly 2007 until the present, this device handle is perhaps the most commonly used in Linux. These types of devices can be connected via the SATA bus, SCSI, USB bus as block storage. As example, the first partition on the first SATA device is called /dev/sda1.
NVM Express (NVMe) /dev/nvme0n1 The latest in solid state technology, NVMe drives are connected to the PCI Express bus and have the fastest transfer block speeds on the market. Systems from around 2014 and newer may have support for NVMe hardware. The first partition on the first NVMe device is called /dev/nvme0n1p1.
MMC, eMMC, and SD /dev/mmcblk0 embedded MMC devices, SD cards, and other types of memory cards can be useful for data storage. That said, many systems may not permit booting from these types of devices. It is suggested to not use these devices for active Linux installations; rather consider using them to transfer files, which is their design goal. Alternatively they could be useful for short-term backups.

Os dispositivos de blocos acima representam uma interface abstrata para o disco. Programas de usuários podem usar esses dispositivos de blocos para interagir com o disco sem se preocuparem se são IDE, SCSI, ou de outro tipo. O programa pode simplesmente endereçar o armazenamento do disco como um grupo de blocos de 512 bytes contínuos e acessíveis aleatoriamente.



Tabelas de partições

Embora seja teoricamente possível usar o disco todo, sem partições para abrigar um sistema Linux (quando criando um RAID btrfs, por exemplo), isso quase nunca é feito na prática. Em vez disso, os dispositivos de blocos são divididos em dispositivos menores, mais gerenciáveis. Em sistemas x86, eles são chamados partições. Há atualmente dois padrões de tecnologias de particionamento em uso: MBR e GPT.

GPT

A configuração GPT ("GUID Partition Table" - Tabela de Partição GUID) usa identificadores de 64 bits para as partições. O local onde é armazenada a informação sobre as partições é muito maior que os 512 bytes da MBR o que significa que praticamente não há limite no número de partições de um disco GPT. Também o tamanho de uma partição tem um limite muito maior (quase 8 ZiB - sim, zebibytes).

Quando a interface do software de sistema entre o sistema operacional e o firmware é a UEFI (em vez da BIOS), o GPT é praticamente mandatório uma vez que surgirão problemas de compatibilidade com a MBR aqui.

A GPT também tem a vantagem de usar somas de checagem e redundância. Ele possui somas de checagem CRC32 para detectar erros no cabeçalho e tabelas de partição e tem um backup da GPT no final do disco. Esta tabela de backup pode ser usada para recuperar danos da GPT primária próxima do início do disco.

Important
There are a few caveats regarding GPT:
  • Using GPT on a BIOS-based computer works, but then one cannot dual-boot with a Microsoft Windows operating system. The reason is that Microsoft Windows will boot in UEFI mode if it detects a GPT partition label.
  • Some buggy (old) motherboard firmware configured to boot in BIOS/CSM/legacy mode might also have problems with booting from GPT labeled disks.

MBR

A configuração MBR ("Master Boot Record" - Registro Mestre de Iniciliazação) usa identificadores de 32 bits para o setor de início e o tamanho das partições e suporta três tipos de partições: primária, estendida e lógica. Partições primárias têm suas informações armazenadas no MBR em si - um local muito pequeno (normalmente 512 bytes) bem no começo do disco. Devido a esse espaço pequeno, apenas quatro partições primárias são suportadas (ou seja, de /dev/sda1 a /dev/sda4).

Para suportar mais partições, uma das partições primárias pode ser marcada como uma partição estendida. Essa partição pode então conter partições lógicas (com partições dentro de uma partição).

Importante
Embora ainda suportadas pela maioria dos fabricantes de placas-mãe, tabelas de partição MBR são consideradas como sistema legado. A menos que esteja trabalhando com hardware fabricado antes de 2010, é melhor particionar um disco usando Tabela de Partição GUID. Leitores que precisarem usar MBR devem estar cientes do seguinte:
  • A maioria das placas-mãe de depois de 2010 consideram MBR como modo de boot legado (suportado, porém não ideal).
  • Devido ao uso de identificadores de 32 bits, tabelas de partição MBR não conseguem trabalhar com discos maiores do que 2 TiBs.
  • A menos que sejam usadas partições estendidas, o MBR suporta um máximo de quatro partições.
  • A configuração MBR não provê nenhuma cópia do MBR, assim, se uma aplicação sobrescreve o MBR, todas as informações de partições são perdidas.

Os autores deste Manual sugerem usar GPT sempre que possível nas instalações do Gentoo.

Armazenamento avançado

Os CDs de instalação para x86 proveem suporte para Gerenciador de Volumes Lógicos (LVM). O LVM aumenta a flexibilidade oferecida pela configuração de particionamento. As instruções de instalação abaixo focarão em partições "normais", mas mesmo assim é bom saber que o LVM também é suportado se for necessário. Visite o artigo LVM para mais detalhes. Iniciantes estejam avisados: apesar de completamente suportado LVM está fora do escopo deste guia.

Esquema de particionamento default

Throughout the remainder of the handbook, we will discuss and explain two cases: 1) GPT partition table and UEFI boot, and 2) MBR partition table and legacy BIOS boot. While it is possible to mix and match, that goes beyond the scope of this manual. As already stated above, installations on modern hardware should use GPT partition table and UEFI boot; as an exception from this rule, MBR and BIOS boot is still frequently used in virtualized (cloud) environments.

Até o final deste manual, o seguinte esquema de particionamento será usado como um layout simples de exemplo:

Partição Sistema de arquivo Tamanho Descrição
/dev/sda1 (bootloader) 2M Partição de boot BIOS
/dev/sda2 ext2 (ou FAT32 se UEFI está sendo usada) 128M Partição boot/Sistema EFI
/dev/sda3 (swap) 512M ou maior Partição de swap
/dev/sda4 ext4 Resto do disco Partição root

Se isso já for suficiente e o leitor optou pelo caminho do GPT, ele pode saltar imediatamente para Default: Usando parted para particionar o disco. Aqueles ainda interessados em MBR (ei, acontece!) e usando o layout de exemplo podem saltar para Alternativa: Usando fdisk para particionar o disco.

Ambos o fdisk e o parted são utilitários de particionamento. O fdisk é bem conhecido, estável e recomendado para layout de particionamento MBR enquanto o parted foi um dos primeiros utilitários de gerenciamento de dispositivos de blocos do Linux a suportar partições GPT. Aqueles que gostam da interface do fdisk podem usar o gdisk (GPT fdisk) como alternativa ao parted.

Antes das instruções para criação das partições, o primeiro conjunto de seções descreverá em mais detalhes como os esquemas de particionamento podem ser criados mencionaremos as dificuldades mais comuns.

Criando um esquema de particionamento

Quantas partições e de que tamanho?

O número de partições é altamente dependente do ambiente. Por exemplo, se há muitos usuários, é aconselhável ter o /home/ separado pois isso aumenta a segurança e torna o backup mais fácil. Se o Gentoo estiver sendo instalado para ser um pequeno servidor de email, o /var/ deve ficar separado pois todos os emails armazenados ficam no /var/. Uma boa escolha do tipo do sistema de arquivos irá maximizar o desempenho. Servidores de jogos deverão ter o /opt/ separado já que a maioria dos servidores de jogos são instalados lá. A razão é similar ao do diretório /home/: segurança e backups. Na maioria das situações, o /usr/ deve ser grande: ele não apenas irá conter a maioria das aplicações como também armazena o repositório ebuild do Gentoo (por default localizado em /var/db/repos/gentoo) que sozinho ocupa cerca de 650 MiB. Essa estimativa de espaço em disco exclui ainda os diretórios packages/ e distfiles/ que são armazenados no diretório /var/cache/ por default.

In most situations on Gentoo, /usr and /var should be kept relatively large in size. /usr hosts the majority of applications available on the system and the Linux kernel sources (under /usr/src). By default, /var hosts the Gentoo ebuild repository (located at /var/db/repos/gentoo) which, depending on the file system, generally consumes around 650 MiB of disk space. This space estimate excludes the /var/cache/distfiles and /var/cache/binpkgs directories, which will gradually fill with source files and (optionally) binary packages respectively as they are added to the system.

Depende muito do que o administrador pretende fazer. Partições ou volumes separados tem as seguintes vantagens:

  • Escolha o sistema de arquivos de maior desempenho para cada partição ou volume.
  • O sistema todo não ficará sem espaço se uma aplicação problemática encher todo o espaço de uma partição ou volume.
  • Se necessário, a checagem do sistema de arquivos fica com o tempo reduzido, pois várias checagens podem ser feitas em paralelo (embora essa vantagem é maior com múltiplos discos do que com múltiplas partições).
  • A segurança pode ser aumentada montando algumas partições ou volumes como somente leitura, nosuid (bits setuid são ignorados), noexec (bits de execução são ignorados) etc.


Contudo, múltiplas partições tem desvantagens também. Se não configurado corretamente, o sistema pode ficar com muito espaço livre em uma partição e nenhum em outra. Outro percalço é que partições separadas - especialmente para pontos de montagem importantes como /usr/ ou /var/ - frequentemente requerem que o administrador inicialize o sistema com um initramfs para montar a partição antes que outros scripts de inicialização executem. Esse não é sempre o caso, então os resultados podem variar.

Há também o limite de 15 partições para SCSI e SATA, a menos que sejam utilizadas etiquetas GPT.

Note
If you intend to uses Systemd, /usr/ must be available on boot, either as part of the root filesystem or mounted via an initramfs.

E o espaço de swap?

Não existe um valor perfeito para a partição de swap. O propósito da partição de swap é prover armazenamento em disco ao kernel quando a memória interna (RAM) estiver acabando. Um espaço de swap permite ao kernel mover páginas de memória que provavelmente não serão necessárias tão logo para o disco (swap ou page-out), liberando memória. É claro que, se essa memória de repente for necessária, essas páginas precisam ser trazidas de volta para a memória (page-in) o que pode ser demorado (pois discos são muito lentos comparados com a memória interna).

Se o sistema não for executar aplicações que necessitem de muita memória ou se o sistema tiver uma grande quantidade de memória disponível, então provavelmente ele não vai precisar de muito espaço de swap. Porém, o espaço de swap é também usado para armazenar a memória inteira no caso de hibernação. Se o sistema for precisar de hibernação, então um espaço de swap maior será necessário, pelo menos do tamanho da memória RAM instalada no sistema.


Usando UEFI

Quando instalando o Gentoo em um sistema que usa UEFI para inicializar o sistema operacional (em vez da BIOS), é importante que uma partição de sistema EFI (ESP) seja criada. As instruções para o parted abaixo contém os passos necessários para fazer corretamente essa operação.

A ESP precisa ser uma partição do tipo FAT (algumas vezes mostradas como "vfat" em sistemas Linux). A especificação UEFI oficial denota que os sistemas de arquivos FAT12, FAT16, ou 32 irão ser reconhecidos pela firmware UEFI, apesar de que FAT32 é o recomendado para a ESP. Formate a ESP como FAT32:

root #mkfs.fat -F 32 /dev/sda2
Importante
Se a partição FAT não for usada para a ESP, não haverá garantia que o firmware do sistema UEFI será capaz de encontrar o carregador de boot (ou o kernel do Linux) e provavelmente será incapaz de inicializar o sistema!


O que é a partição de boot da BIOS?

A partição de boot da BIOS é uma partição muito pequena (de 1 a 2 MB) na qual os gerenciadores de inicialização como o GRUB2 podem gravar dados adicionais que não couberem no espaço alocado (umas poucas centenas de bytes no caso da MBR) e que não puderem ser colocados em outro lugar.


Alternativa: Usando fdisk para particionar o disco

As partes seguintes explicam como criar o layout de partições de exemplo usando o fdisk. O layout de partições de exemplo foi mostrada anteriormente:

Partição Descrição
/dev/sda1 Partição de boot da BIOS
/dev/sda2 Partição de boot
/dev/sda3 Partição de swap
/dev/sda4 Partição de root

Altere o layout das partições de acordo com suas preferências pessoais.

Visualizando o layout de partições atual

O fdisk é uma ferramenta popular e poderosa para dividir um disco em partições. Dispare o fdisk no disco desejado (em nosso exemplo usamos o /dev/sda):

root #fdisk /dev/sda

Use a tecla p para exibir a configuração atual das partições do disco:

Command (m for help):p
Disk /dev/sda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes
  
   Device Boot    Start       End    Blocks   Id  System
/dev/sda1   *         1        14    105808+  83  Linux
/dev/sda2            15        49    264600   82  Linux swap
/dev/sda3            50        70    158760   83  Linux
/dev/sda4            71      2184  15981840    5  Extended
/dev/sda5            71       209   1050808+  83  Linux
/dev/sda6           210       348   1050808+  83  Linux
/dev/sda7           349       626   2101648+  83  Linux
/dev/sda8           627       904   2101648+  83  Linux
/dev/sda9           905      2184   9676768+  83  Linux

Esse disco em particular foi configurado para abrigar sete sistemas de arquivos Linux (cada uma com uma partição correspondente listada como "Linux) bem como uma partição de swap (listada como "Linux swap").

Removendo todas as partições com o fdisk

Type g to create a new GPT disklabel on the disk; this will remove all existing partitions.

Command (m for help):g
Created a new GPT disklabel (GUID: 87EA4497-2722-DF43-A954-368E46AE5C5F).

Primeiro remova todas as partições existentes do disco. Tecle d para apagar uma partição. Por exemplo, para apagar a partição /dev/sda1:

Command (m for help):d
Partition number (1-4): 1

A partição foi marcada para ser removida. Ela não vai aparecer na lista de partições (usando a tecla p), mas ela não será removida até que as mudanças sejam gravadas. Isso permite que o usuário aborte a operação no caso de algum erro - nesse caso, digite q imediatamente e tecle Enter e a partição não será apagada.

Tecle p repetidamente para ver a lista das partições e d e o número da partição para apagá-la. No final, a tabela de partições estará vazia:

Command (m for help):p
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
  
Device Boot    Start       End    Blocks   Id  System

Agora que a tabela de partições na memória está vazia, estamos prontos para criar as partições.

Criando a partição de boot da BIOS

Primeiro crie uma partição de boot da BIOS bem pequena. Tecle n para criar uma nova partição, e p para selecionar partição primária, seguida da tecla 1 para selecionar a primeira partição primária. Quando perguntado pelo primeiro setor, certifique-se que comece em 2048 (o que é necessário para o gerenciador de boot) e tecle Enter. Quando perguntado pelo último setor, digite +2M para criar uma partição de 2 Mbytes de tamanho:

Command (m for help):n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First sector (64-10486533532, default 64): 2048
Last sector, +sectors +size{M,K,G} (4096-10486533532, default 10486533532): +2M

Marque a partição para a UEFI:

Command (m for help):t
Selected partition 1
Hex code (type L to list codes): 4
Changed system type of partition 1 to 4 (BIOS boot)

Criando a partição de swap

Para criar uma partição de swap tecle n para criar uma nova partição, e p para o fdisk criar uma partição primária. Então digite 3 para criar a terceira partição primária, /dev/sda3. Quando perguntado pelo primeiro setor, tecle Enter. Quando perguntado pelo último setor, digite +512M (ou qualquer outro tamanho necessário para área de swap) para criar uma partição de 512 MB de tamanho:

Criando a partição de boot

Depois de tudo feito, digite t para configurar o tipo da partição, 3 para selecionar a partição recém criada e então digite "82" para configurar o tipo da partição para "Linux Swap".

Command (m for help):t
Partition number (1,2, default 2): 2
Partition type (type L to list all types): 19
 
Changed type of partition 'Linux filesystem' to 'Linux swap'.

Criando a partição de root

Finalmente, para criar a partição root, tecle n para criar uma nova partição, e p para o fdisk criar uma partição primária. Então digite 4 para criar a quarta partição primária, /dev/sda4. Quando perguntado pelo primeiro setor, tecle Enter. Quando perguntado pelo último setor, tecle Enter para criar uma partição que ocupe o restante do espaço disponível do disco. Depois de completar esses passos, teclando p deve ser mostrada uma tabela de partições similar a esta:

Command (m for help):p
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
  
   Device Boot    Start       End    Blocks   Id  System
/dev/sda1             1         3      5198+  ef  EFI (FAT-12/16/32)
/dev/sda2   *         3        14    105808+  83  Linux
/dev/sda3            15        81    506520   82  Linux swap
/dev/sda4            82      3876  28690200   83  Linux

Gravando o layout de partições

Para gravar o layout de partições e sair do fdisk, digite w.

Command (m for help):w

Com as partições criadas, é hora de criar sistemas de arquivos nelas.

Partitioning the disk with MBR for BIOS / legacy boot

The following explains how to create the example partition layout for a MBR / BIOS legacy boot installation. The example partition layout mentioned earlier is now:

Partition Description
/dev/sda2 Boot partition
/dev/sda2 Swap partition
/dev/sda3 Root partition

Change the partition layout according to personal preference.

Viewing the current partition layout

Fire up fdisk against the disk (in our example, we use /dev/sda):

root #fdisk /dev/sda

Use the p key to display the disk's current partition configuration:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 21AAD8CF-DB67-0F43-9374-416C7A4E31EA
 
Device        Start      End  Sectors  Size Type
/dev/sda1      2048   526335   524288  256M EFI System
/dev/sda2    526336  2623487  2097152    1G Linux swap
/dev/sda3   2623488 19400703 16777216    8G Linux filesystem
/dev/sda4  19400704 60549086 41148383 19.6G Linux filesystem

This particular disk was until now configured to house two Linux filesystems (each with a corresponding partition listed as "Linux") as well as a swap partition (listed as "Linux swap"), using a GPT table.

Creating a new disklabel / removing all partitions

Type o to create a new MBR disklabel (here also named DOS disklabel) on the disk; this will remove all existing partitions.

Command (m for help):o
Created a new DOS disklabel with disk identifier 0xe04e67c4.
The device contains 'gpt' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.

For an existing DOS disklabel (see the output of p above), alternatively consider removing the existing partitions one by one from the disk. Type d to delete a partition. For instance, to delete an existing /dev/sda1:

Command (m for help):d
Partition number (1-4): 1

The partition has now been scheduled for deletion. It will no longer show up when printing the list of partitions (p, but it will not be erased until the changes have been saved. This allows users to abort the operation if a mistake was made - in that case, type q immediately and hit Enter and the partition will not be deleted.

Repeatedly type p to print out a partition listing and then type d and the number of the partition to delete it. Eventually, the partition table will be empty:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe04e67c4

Now we're ready to create the partitions.

Creating the boot partition

First, create a small partition which will be mounted as /boot. Type n to create a new partition, followed by p for a primary partition and 1 to select the first primary partition. When prompted for the first sector, make sure it starts from 2048 (which may be needed for the boot loader) and hit Enter. When prompted for the last sector, type +256M to create a partition 256 Mbyte in size:

Command (m for help):n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-60549119, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-60549119, default 60549119): +256M
 
Created a new partition 1 of type 'Linux' and of size 256 MiB.

Creating the swap partition

Next, to create the swap partition, type n to create a new partition, then p, then type 2 to create the second primary partition, /dev/sda2. When prompted for the first sector, hit Enter. When prompted for the last sector, type +4G (or any other size needed for the swap space) to create a partition 4GB in size.

Command (m for help):n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (526336-60549119, default 526336): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (526336-60549119, default 60549119): +4G
 
Created a new partition 2 of type 'Linux' and of size 4 GiB.

After all this is done, type t to set the partition type, 2 to select the partition just created and then type in 82 to set the partition type to "Linux Swap".

Command (m for help):t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 82

Changed type of partition 'Linux' to 'Linux swap / Solaris'.

Creating the root partition

Finally, to create the root partition, type n to create a new partition. Then type p and 3 to create the third primary partition, /dev/sda3. When prompted for the first sector, hit Enter. When prompted for the last sector, hit Enter to create a partition that takes up the rest of the remaining space on the disk. After completing these steps, typing p should display a partition table that looks similar to this:

Command (m for help):p
Disk /dev/sda: 28.89 GiB, 31001149440 bytes, 60549120 sectors
Disk model: DataTraveler 2.0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe04e67c4
 
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1          2048   526335   524288  256M 83 Linux
/dev/sda2        526336  8914943  8388608    4G 82 Linux swap / Solaris
/dev/sda3       8914944 60549119 51634176 24.6G 83 Linux

Saving the partition layout

To save the partition layout and exit fdisk, type w.

Command (m for help):w

Now it is time to put filesystems on the partitions.



Criando sistemas de arquivos

Introdução

Agora que as partições estão criadas, é hora de criar um sistema de arquivos nelas. Na próxima seção os diversos sistemas de arquivos suportados pelo Linux são descritos. Leitores que já souberem qual sistema de arquivos irão usar podem continuar em Criando um sistema de arquivos em uma partição.

Sistemas de arquivos

Vários tipos de sistemas de arquivos estão disponíveis. Alguns são considerados mais estáveis na arquitetura x86 - é recomendado se informar sobre os sistemas de arquivos e o estado do suporte de cada um antes de selecionar algum mais experimental para partições importantes.

btrfs
Um sistema de arquivos de próxima geração que provê vários recursos avançados como instantâneos (snapshots), autocorreção através de checksums, compressão transparente, subvolumes e RAID integrado. Algumas poucas distribuições começaram a distribui-lo como uma opção integrada, mas não está ainda pronto para ambientes de produção. Relatos de corrupção de sistemas de arquivos ainda são comuns. Seus desenvolvedores pedem aos usuários que utilizem a última versão do kernel por segurança pois as versões mais antigas têm problemas conhecidos. Isso tem sido o caso por anos e ainda é cedo para dizer se alguma coisa mudou. Correções para problemas de corrupção de dados são raramente portadas para as versões mais antigas do kernel. Proceda com cuidado ao usar este sistema de arquivos!
ext2
É o sistema de arquivo mais testado e estável mas não possui metadados de journaling, o que significa que a checagem de rotina do sistema de arquivos ext2 na inicialização pode ser bem demorada. Existe atualmente uma considerável seleção de sistemas de arquivos com journaling de nova geração que podem ser checados por consistência muito rapidamente e são, assim, geralmente preferidos sobre seus correspondentes sem journaling. Sistemas de arquivos com journaling evitam grandes esperas quando o sistema é inicializado e o sistema de arquivos encontra-se inconsistente.
ext3
A versão do sistema de arquivos ext2 com journaling, possuindo metadados de journaling para rápida recuperação além de outros modos aperfeiçoados de journaling como journaling completo de dados e de dados ordenados. Usa um índice HTree que proporciona alto desempenho em quase todas as situações. Em resumo, o ext3 é um sistema de arquivos muito bom e confiável.
f2fs
O Sistema de Arquivos "Amigável a Flash" (Flash-Friendly File System) foi originalmente criado pela Samsung para uso com memória flash NAND. Ainda hoje (segundo trimestre de 2016), esse sistema de arquivos é considerado imaturo, mas é uma escolha decente quando o Gentoo estiver sendo instalado em cartões microSD, pendrives ou outro tipo de dispositivos baseados em flash.
ext4
Inicialmente criado como uma derivação do ext3, o ext4 traz novos recursos, melhorias de desempenho e remoção de limites de tamanhos com mudanças moderadas no formato em disco. Ele pode cobrir volumes de até 1 EB com limite de tamanho de arquivo de 16TB. Em vez da alocação em bloco de mapa de bits clássico do ext2/3 o ext4 usa extensões, o que melhora o desempenho com arquivos grandes e reduz a fragmentação. O ext4 também provê algorítmos de alocação de blocos mais sofisticados (alocação atrasada e alocação múltipla de blocos), dando ao driver do sistema de arquivos mais formas de otimizar o layout dos dados no disco. O ext4 é o sistema de arquivos recomendado para propósitos gerais e plataformas em geral.
JFS
Sistema de arquivos com journaling de alto desempenho da IBM. O JFS é um sistema de arquivos baseado em árvore B+ confiável e rápido, com bom desempenho em várias situações.
ReiserFS
Um sistema de arquivos baseado em árvore B+ que tem bom desempenho geral, especialmente quando trabalha com muitos arquivos pequenos ao custo de ciclos de CPU extras. O ReiserFS aparentemente está recebendo menos manutenção que os outros sistemas de arquivos.
XFS
Um sistema de arquivos com metadados de journaling que vem com um robusto conjunto de recursos e é otimizado para escalabilidade. O XFS parece ser menos tolerante a vários problemas de hardware.
vfat
Também conhecido como FAT32, é suportado pelo Linux mas não tem suporte para configurações de permissões. É mais utilizado para interoperabilidade com outros sistemas operacionais (principalmente o Microsoft Windows) mas é também uma necessidade para alguns sistemas de firmware (como o UEFI).
NTFS
Este sistema de arquivos com "Nova Tecnologia" ("New Technology Filesystem") é o principal sistema de arquivos do Microsoft Windows. Similar ao vfat descrito acima, ele não armazena permissões ou atributos estendidos necessários para correto funcionamento do BSD ou Linux e, assim, não pode ser usado como sistema de arquivos da partição raiz (root). Deve ser usado apenas para interoperabilidade com sistemas Microsoft Windows (ênfase no apenas).

Criando um sistema de arquivos em uma partição

Para criar um sistema de arquivos em uma partição ou volume, há utilitários disponíveis para o usuário para cada possível sistema de arquivos. Clique no nome do sistema de arquivo na tabela abaixo para informações adicionais para cada sistema de arquivo:

Sistema de arquivo Comando para criação Disponível no CD mínimo? Pacote
btrfs mkfs.btrfs Sim sys-fs/btrfs-progs
ext2 mkfs.ext2 Sim sys-fs/e2fsprogs
ext3 mkfs.ext3 Sim sys-fs/e2fsprogs
ext4 mkfs.ext4 Sim sys-fs/e2fsprogs
f2fs mkfs.f2fs Sim sys-fs/f2fs-tools
jfs mkfs.jfs Sim sys-fs/jfsutils
reiserfs mkfs.reiserfs Sim sys-fs/reiserfsprogs
xfs mkfs.xfs Sim sys-fs/xfsprogs
vfat mkfs.vfat Sim sys-fs/dosfstools
NTFS mkfs.ntfs Sim sys-fs/ntfs3g

Por exemplo, para ter a partição de boot (/dev/sda2) em ext2 e a partição root (/dev/sda4) em ext4 como usado no exemplo de estrutura de partições, o seguintes comandos seriam usados:

root #mkfs.ext2 /dev/sda2
root #mkfs.ext4 /dev/sda4

Se usar o ext2, ext3 ou ext4 em uma partição pequena (menor que 8GB), então o sistema de arquivos deve ser criado com opções adequadas para reservar inodes suficientes. O programa mke2fs (mkfs.ext2) usa a configuração "bytes por inode" para calcular quantos inodes um sistema de arquivos deve ter. Em partições pequenas, é aconselhável aumentar o número de inodes calculado.

root #mkfs.ext2 -T small /dev/<dispositivo>
root #mkfs.ext3 -T small /dev/<dispositivo>
root #mkfs.ext4 -T small /dev/<dispositivo>

Isso normalmente irá quadruplicar o número de inodes de um dado sistema de arquivos já que o número de "bytes por inode" é reduzido de um para cada 16kB para um para cada 4kB. Isso pode ser ajustado ainda mais fornecendo a relação:

Agora crie os sistemas de arquivos nas partições recém criadas (ou volumes lógicos):

Ativando a partição de swap

mkswap é o comando que é utilizado para inicializar as partições de swap:

root #mkswap /dev/sda3

Para ativar a partição de swap, use swapon:

root #swapon /dev/sda3

Crie e ative o swap com os comandos mostrados acima.

Montando a partição root

Agora que as partições estão inicializadas e contém um sistema de arquivos, é hora de montar essas partições. Use o comando mount, mas não se esqueça de criar os diretórios de montagem necessários para cada partição criada. Como exemplo montaremos as partições root e boot:

root #mount /dev/sda4 /mnt/gentoo
Nota
Se o /tmp/ precisar ficar em uma partição separada, certifique-se de alterar suas permissões depois de montar:
root #chmod 1777 /mnt/gentoo/tmp
Isso também vale para o /var/tmp.

Mais tarde nestas instruções o sistema de arquivos proc (uma interface virtual com o kernel) e também outros pseudo sistemas de arquivos serão montados. Mas antes nós instalamos os arquivos de instalação do Gentoo.