Preparando os discos
Introdução aos dispositivos de bloco
Dispositivos de bloco
Vamos dar uma boa olhada nos aspectos relacionados a discos do Gentoo Linux e do Linux em geral, incluindo dispositivos de bloco, partições e sistemas de arquivos Linux. Uma vez que os meandros dos discos forem 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 bloco. As unidades SCSI e Serial ATA são rotuladas pelo sistema como: /dev/sda, /dev/sdb, /dev/sdc, etc. Em maquinas modernas, os discos rígidos NVMe baseados em PCI Express são identificados como /dev/nvme0n1, /dev/nvme0n2, etc.
A tabela abaixo ajudará os leitores a determinar onde encontrar um certo tipo de dispositivo de bloco no sistema:
Tipos de dispositivo | Identificador de dispositivo padrão | Notas do editor e considerações |
---|---|---|
SATA, SAS, SCSI, ou USB flash | /dev/sda | Encontrados em hardware por volta de 2007 até os dias atuais, esses dispositivos são geralmente identificados no Linux dessa forma. Esses tipos de dispositivos podem ser conectados pelas entradas SATA, SCSI, USB como armazenamento em bloco. Por exemplo, a primeira partição do primeiro dispositivo SATA device é chamada de /dev/sda1. |
NVM Express (NVMe) | /dev/nvme0n1 | A mais recente tecnologia de disco rigido, NVMe drives são conectados via PCI Express bus e possuem a velocidade de transferência de blocos mais rápida do mercado. Sistemas por volta de 2014 e recentes possuem suporte para NVMe no hardware. A primeira partição no primeiro dispositivo NVMe é chamada de /dev/nvme0n1p1. |
MMC, eMMC, e SD | /dev/mmcblk0 | Dispositivos embutidos MMC, cartões SD, e outros tipos de cartões de memória podem ser uteis para armazenar dados. Dito isso, muitos sistemas talvez não permitam iniciar a partir desses tipos de dispositivo. É sugerido que não se use esses dispositivos para iniciar uma instalação do Linux; em vez disso, considere usá-los com o objetivo de transferir arquivos, no qual eles foram projetados. Alternativamente, eles podem ser úteis para backups de curto prazo. |
Os dispositivos de bloco acima representam uma interface abstrata para o disco. Programas de usuários podem usar esses dispositivos de bloco para interagir com o disco sem se preocupar se são SATA, SCSI, ou de outro tipo. O programa pode simplesmente endereçar o armazenamento do disco como um grupo de blocos de 4096-bytes (4K) 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 amd64, eles são chamados partições. Há atualmente dois padrões de tecnologias de particionamento em uso: MBR (também chamado de DOS disklabel) e GPT; eles estão relacionados aos dois tipos de processos de inicialização: BIOS legacy e UEFI.
GUID Partition Table (GPT)
O padrão "GUID Partition Table (GPT)" (também chamado de GPT disklabel) 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 das tabelas de partição MBR (partições do tipo DOS) 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 o padrão DOS de particionamento.
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.
Existem algumas ressalvas em relação ao GPT:
- Você pode usar GPT em computadores BIOS, mas você não pode fazer dual-boot com o Microsoft Windows. A razão é que o Microsoft Windows irá iniciar no modo UEFI caso ele detecte uma partição GPT.
- Alguns firmwares de placas-mãe bugados (antigos), estão configurados para iniciar no modo BIOS/CSM/legacy no qual pode ter problemas com a inicialização em um disco particionado em GPT.
Master boot record (MBR) ou DOS boot sector
O setor de inicialização Master boot record (também conhecido como DOS boot sector ou DOS Disklabel) foi introduzido pela primeira vez em 1983 no PC DOS 2.x. MBR 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 no MBR pode ser marcada como uma partição estendida. Essa partição pode então conter, adicionalmente, partições lógicas (com partições dentro de uma partição).
Embora ainda suportadas pela maioria dos fabricantes de placas-mãe, o setor de inicialização MBR e suas limitações de particionamento são considerados 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 um sistema desse tipo devem estar cientes do seguinte:
- A maioria das placas-mãe de depois de 2010 consideram usar o setor de inicialização 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 endereçar espaço em disco maior do que 2 TiBs.
- A menos que sejam usadas partições estendidas, o MBR suporta um máximo de quatro partições.
- Essa configuração não provê nenhum setor de inicialização de backup, assim, se uma aplicação sobrescreve a tabela de partição, todas as informações das partições serã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 amd64 proveem suporte para Gerenciador de Volumes Lógicos (LVM). O LVM aumenta a flexibilidade oferecida pela configuração de particionamento. Isso permite combinar partições e discos em grupos de volumes e definir grupos de RAID ou caches em SSDs rápidos para HDs lentos. 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 padrão
Ao longo do restante desse manual, nós vamos discutir e explicar dois casos diferentes: 1) Tabela de partições em GPT e UEFI boot, e 2) Tabela de partições em MBR e BIOS boot. Embora seja possível combinar e misturar esses dois tipos, isso está além do escopo desse guia. Como dito já dito acima, instalações feitas em hardwares modernos devem ser feitas utilizando uma tabela de partições em GPT e UEFI boot; uma exceção para essa regra é o uso de MBR com BIOS boot em ambientes virtualizados (cloud), que continua sendo frequentemente utilizado.
- UEFI firmware with GUID Partition Table (GPT) disk.
- MBR DOS/legacy BIOS firmware with a MBR partition table disk.
While it is possible to mix and match boot types with certain motherboard firmware, mixing goes beyond the intention of the handbook. As previously stated, it is strongly recommended for installations on modern hardware to use UEFI boot with a GPT disklabel disk.
Até o final deste manual, o seguinte esquema de particionamento será usado como um simples layout de exemplo:
The first row of the following table contains exclusive information for either a GPT disklabel or a MBR DOS/legacy BIOS disklabel. When in doubt, proceed with GPT, since amd64 machines manufactured after the year 2010 generally support UEFI firmware and GPT boot sector.
Partição | Sistema de arquivo | Tamanho | Descrição |
---|---|---|---|
/dev/sda1 | fat32 (UEFI) ou ext4 (BIOS) | 256M | Partição boot/Sistema EFI |
/dev/sda2 | (swap) | Quantidade de RAM * 2 | Partição de swap |
/dev/sda3 | ext4 | Resto do disco | Partição root |
Se essas informações já forem suficientes, o leitor avançado já pode pular diretamente para o particionamento real.
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. parted foi um dos primeiros utilitários de gerenciamento de dispositivos de blocos do Linux a suportar partições GPT, e provê uma alternativa. Aqui, o fdisk é usado porque tem uma melhor interface de usuário baseada em texto
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 design do layout de partições é altamente dependente das demandas do sistema e do(s) sistema(s) de arquivos aplicados ao dispositivo. Caso exista muitos usuários, é aconselhável ter o /home/ em uma partição separada pois isso traz segurança e torna o backup e outros tipos de manutenção mais fáceis. Se o Gentoo estiver sendo instalado para ser um pequeno servidor de email, então o diretório /var/ deve ficar separado em uma outra partição pois todos os emails armazenados ficam no /var/. Servidores de jogos podem ter o /opt/ separado em uma outra partição, já que a maioria dos softwares do servidor são instalados lá. A razão dessas recomendações são similares à do diretório /home/: segurança, backups e manutenções.
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.
A quantidade de partições e os seus tamanhos dependem muito de vários fatores que devem ser considerados para escolher a melhor opção para a circunstância. Separar as partições em volumes têm a seguinte 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 é mais percebida 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 têm algumas desvantagens:
Há também o limite de 15 partições para SCSI e SATA, a menos que sejam utilizadas etiquetas GPT.
Installations that intend to use systemd as the service and init system must have the /usr directory available at boot, either as part of the root filesystem or mounted via an initramfs.
E o espaço de swap?
RAM size | Suspend support? | Hibernation support? |
---|---|---|
2 GB or less | 2 * RAM | 3 * RAM |
2 to 8 GB | RAM amount | 2 * RAM |
8 to 64 GB | 8 GB minimum, 16 maximum | 1.5 * RAM |
64 GB or greater | 8 GB minimum | Hibernation not recommended! Hibernation is not recommended for systems with very large amounts of memory. While possible, the entire contents of memory must be written to disk in order to successfully hibernate. Writing tens of gigabytes (or worse!) out to disk can can take a considerable amount of time, especially when rotational disks are used. It is best to suspend in this scenario. |
Não existe um valor perfeito para o espaç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 na RAM para a tarefa atual. É claro que, se de repente essas páginas forem necessárias, elas serão trazidas de volta para a memória (page-in) o que irá demorar bem mais do que se fossem lidas direto na memória RAM (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.
O que é o EFI System Partition (ESP)?
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 abaixo contém os passos necessários para fazer corretamente essa operação. A partição de sistema EFI não é necessária para inicializar no modo BIOS/Legacy.
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. Após o particionamento, formate a ESP adequadamente:
root #
mkfs.fat -F 32 /dev/sda1
Se a ESP não for formatada como uma variante FAT, o firmware do sistema UEFI não 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 é apenas necessária caso você utilize o particionamento GPT com o GRUB2 no modo BIOS/Legacy. Não é obrigatório quando inicializado no modo EFI/UEFI, e também não é obrigatório quando estiver utilizando uma tabela MBR. Ela é 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. Ela não será utilizada nesse guia.
Particionando o disco com GPT para UEFI
As partes seguintes explicam como criar o layout de partições para uma instalação GPT / UEFI boot usando o comando fdisk. O layout de partições de exemplo foi mostrada anteriormente:
Altere o layout das partições de acordo com suas preferências pessoais.
Partição | Descrição |
---|---|
/dev/sda1 | Partição de sistema EFI (de inicialização) |
/dev/sda2 | Partição de swap |
/dev/sda3 | Partição de root |
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: 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
Device Start End Sectors Size Type /dev/sda1 2048 2099199 2097152 1G EFI System /dev/sda2 2099200 10487807 8388608 4G Linux swap /dev/sda3 10487808 1953523711 1943035904 926.5G Linux root (x86-64)
}}Esse disco em particular foi configurado para abrigar dois 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").
Criando uma nova tabela de partições / removendo todas as partições
Tecle g para criar uma nova tabela de partições GPT no disco; isso irá remover todas as partições existentes.
Command (m for help):
g
Created a new GPT disklabel (GUID: 87EA4497-2722-DF43-A954-368E46AE5C5F).
Para uma tabela de partições GPT existente (veja o retorno ao teclar p acima), alternativamente, considere remover as partições do disco uma por uma. Tecle d para apagar uma partição. Por exemplo, para deletar 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 algum erro ocorra - nesse caso, tecle 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: 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: 87EA4497-2722-DF43-A954-368E46AE5C5F
Agora que a tabela de partições na memória está vazia, estamos prontos para criar as partições.
Criando a partição de sistema EFI (ESP)
A smaller ESP is possible but not recommended, especially given it may be shared with other OSes.
Primeiro, crie uma pequena partição de sistema EFI, que deverá ser montada no diretório /boot. Tecle n para criar uma nova partição, seguida da tecla 1 para selecionar a primeira partição. Quando perguntado pelo primeiro setor, certifique-se que comece em 2048 (o que é necessário para o gerenciador de boot) e tecle Enter. Quando solicitado o último setor, digite +256M para criar uma partição de 256 Mbytes de tamanho:
Command (m for help):
n
Partition number (1-128, default 1): 1 First sector (2048-60549086, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-60549086, default 60549086): +256M Created a new partition 1 of type 'Linux filesystem' and of size 256 MiB.
Do you want to remove the signature? [Y]es/[N]o: Y The signature will be removed by a write command.
}}Marque a partição como UEFI system partition:
Command (m for help):
t
Selected partition 1 Partition type (type L to list all types): 1 Changed type of partition 'Linux filesystem' to 'EFI System'.
Optionally, to have the ESP conform to the Discoverable System Partition (DSP) specification, switch to expert mode and perform the following extra step to set the partition's UUID:
Command (m for help):
x
Expert command (m for help):
u
Selected partition 1 </div> <div lang="en" dir="ltr" class="mw-content-ltr"> New UUID (in 8-4-4-4-12 format): c12a7328-f81f-11d2-ba4b-00a0c93ec93b Partition UUID changed from 10293DC1-DF6C-4443-8ACF-C756B81B4767 to C12A7328-F81F-11D2-BA4B-00A0C93EC93B.
Press the r key to return to the main menu:
Expert command (m for help):
r
</div> <div lang="en" dir="ltr" class="mw-content-ltr"> Command (m for help):
Criando a partição de swap
Agora, para criar a partição de swap tecle n para criar uma nova partição, e tecle 2 para criar a segunda partição, /dev/sda2. Quando solicitado o primeiro setor, tecle Enter. Quando solicitado o último setor, digite +4G (ou qualquer outro tamanho necessário para área de swap) para criar uma partição de 4GB de tamanho:
Command (m for help):
n
Partition number (2-128, default 2): First sector (526336-60549086, default 526336): Last sector, +/-sectors or +/-size{K,M,G,T,P} (526336-60549086, default 60549086): +4G Created a new partition 2 of type 'Linux filesystem' and of size 4 GiB.
Depois de tudo feito, tecle t para configurar o tipo da partição, 2 para selecionar a partição recém criada e então digite "19" 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'.
Optionally, to have the swap partition conform to the Discoverable System Partition (DSP) specification, switch to expert mode and perform the following extra step to set the partition's UUID:
Command (m for help):
x
Expert command (m for help):
u
Partition number (1,2, default 2): 2 Selected partition 2 </div> <div lang="en" dir="ltr" class="mw-content-ltr"> New UUID (in 8-4-4-4-12 format): 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f Partition UUID changed from 7529CDF6-9482-4497-B021-576745648B2A to 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F..
Press the r key to return to the main menu:
Expert command (m for help):
r
</div> <div lang="en" dir="ltr" class="mw-content-ltr"> Command (m for help):
Criando a partição de root
Finalmente, para criar a partição root, tecle n para criar uma nova partição. Então tecle 3 para criar a terceira partição, /dev/sda3. 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):
n
Partition number (3-128, default 3): 3 First sector (10487808-1953525134, default 10487808): Last sector, +/-sectors or +/-size{K,M,G,T,P} (10487808-1953525134, default 1953523711): </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Created a new partition 3 of type 'Linux filesystem' and of size 926.5 GiB..
Setting the root partition's type to "Linux root (x86-64)" is not required and the system will function normally if it is set to the "Linux filesystem" type. This filesystem type is only necessary for cases where a bootloader that supports it (i.e. systemd-boot) is used and a fstab file is not wanted.
After creating the root partition, press t to set the partition type, 3 to select the partition just created, and then type in 23 to set the partition type to "Linux Root (x86-64)".
Command(m for help):
t
Partition number (1-3, default 3): 3 Partition type or alias (type L to list all): 23 </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Changed type of partition 'Linux filesystem' to 'Linux root (x86-64)'
Optionally, to have the root partition conform to the Discoverable System Partition (DSP) specification, switch to expert mode and perform the following extra step to set the partition's UUID:
Command (m for help):
x
Expert command (m for help):
u
Partition number (1-3, default 3): 3 </div> <div lang="en" dir="ltr" class="mw-content-ltr"> New UUID (in 8-4-4-4-12 format): 4f68bce3-e8cd-4db1-96e7-fbcaf984b709 </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Partition UUID changed from 40465382-FA2A-4846-9827-640821CC001F to 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709.
Press the r key to return to the main menu:
Expert command (m for help):
r
</div> <div lang="en" dir="ltr" class="mw-content-ltr"> Command (m for help):
After completing these steps, pressing p should display a partition table that looks similar to the following:
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: 87EA4497-2722-DF43-A954-368E46AE5C5F Device Start End Sectors Size Type /dev/sda1 2048 526335 524288 256M EFI System /dev/sda2 526336 8914943 8388608 4G Linux swap /dev/sda3 8914944 60549086 51634143 24.6G Linux filesystem
Device Start End Sectors Size Type /dev/sda1 2048 2099199 2097152 1G Linux filesystem /dev/sda2 2099200 10487807 8388608 4G Linux swap /dev/sda3 10487808 1953523711 1943035904 926.5G Linux root (x86-64)
Filesystem/RAID signature on partition 1 will be wiped.
}}Salvando o layout de partições
Para salvar o layout de partições e sair do fdisk, tecle w.
Command (m for help):
w
Com as partições criadas, é hora de criar sistemas de arquivos nelas.
Particionando o disco com MBR para BIOS / legacy boot
Nesse exemplo a seguir, explicamos como criar um layout de particionamento para uma instalação MBR / BIOS legacy boot. A partir de agora, o layout mencionado anteriormente será:
Partição | Descrição |
---|---|
/dev/sda1 | Partição de boot |
/dev/sda2 | Partição de swap |
/dev/sda3 | Partição de root |
Altere o layout de acordo com as suas referencias pessoais.
Visualizando o layout de particionamento atual
Use novamente o comando fdisk no disco (no nosso exemplo, usaremos /dev/sda):
root #
fdisk /dev/sda
Tecle p para visualizar a configuração de partições atuais do disco:
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
Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 10487807 8388608 4G 82 Linux swap / Solaris /dev/sda3 10487808 1953525167 1943037360 926.5G 83 Linux
}}Este disco em particular foi até agora configurado para abrigar dois 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"), usando uma tabela GPT.
Criando um nova disklabel / removendo todas as partições
Tecle o para criar uma nova MBR disklabel (aqui também chamada de DOS disklabel) no disco; isso irá remover todas as partições existentes.
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.
Para uma DOS disklabel existente (veja o retorno ao teclar p acima) Alternativamente, considere remover as partições do disco uma por uma. Tecle d para deletar a partição. Por exemplo, para deletar 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, tecle 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: 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
Agora nós estamos prontos para criar as partições.
Criando a partição de boot
Primeiro crie uma partição que deverá ser montada no diretório /boot. Tecle n para criar uma nova partição, em seguida tecle 1 para selecionar a primeira partição primaria. Quando perguntado pelo primeiro setor, certifique-se que comece em 2048 (o que é necessário para o gerenciador de boot) e tecle Enter. Quando solicitado o último setor, digite +256M para criar uma partição de 256 Mbytes de tamanho:
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.
Created a new partition 1 of type 'Linux' and of size 1 GiB.
}}Mark the partition as bootable by pressing the a key and pressing Enter:
Command (m for help):
a
Selected partition 1 The bootable flag on partition 1 is enabled now.
Note: if more than one partition is available on the disk, then the partition to be flagged as bootable will have to be selected.
Criando a partição de swap
Agora, para criar a partição de swap tecle n para criar uma nova partição, e tecle 2 para criar a segunda partição primaria, /dev/sda2. Quando solicitado o primeiro setor, tecle Enter. Quando solicitado o último setor, digite +4G (ou qualquer outro tamanho necessário para área de swap) para criar uma partição de 4GB de tamanho:
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.
Depois de tudo feito, tecle t para configurar o tipo da partição, 2 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 Hex code (type L to list all codes): 82 Changed type of partition 'Linux' to 'Linux swap / Solaris'.
Criando a partição de root
Finalmente, para criar a partição root, tecle n para criar uma nova partição. Então tecle 3 para criar a terceira partição primaria, /dev/sda3. 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):
n
Partition type p primary (2 primary, 0 extended, 2 free) e extended (container for logical partitions) Select (default p): p Partition number (3,4, default 3): 3 First sector (10487808-1953525167, default 10487808): Last sector, +/-sectors or +/-size{K,M,G,T,P} (10487808-1953525167, default 1953525167): </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Created a new partition 3 of type 'Linux' and of size 926.5 GiB.
After completing these steps, pressing 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
Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 10487807 8388608 4G 82 Linux swap / Solaris /dev/sda3 10487808 1953525167 1943037360 926.5G 83 Linux
}}Salvando o layout de partições
Para salvar o layout de partições e sair do fdisk, tecle w.
Command (m for help):
w
Agora é a hora de colocar os sistemas de arquivos nas partições.
Criando sistemas de arquivos
When using SSD or NVMe drive, it is wise to check for firmware upgrades. Some Intel SSDs in particular (600p and 6000p) require a firmware upgrade for possible data corruption induced by XFS I/O usage patterns. The problem is at the firmware level and not any fault of the XFS filesystem. The smartctl utility can help check the device model and firmware version.
Introdução
Agora que as partições foram corretamente 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
Linux suporta dezenas de sistemas de arquivos. Alguns deles são só aconselháveis usar para fins específicos. Alguns são considerados mais estáveis na arquitetura amd64 - é 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. Ext4 é o sistema de arquivo recomendado para todos os propósitos e para todas as plataformas. Abaixo está uma lista não exaustiva
- 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. Kernels com versão anterior à 5.4.y não garantem segurança ao serem utilizados junto com btrfs em produção porque as correções de sérios problemas só estão presentes em versões mais recentes do branch LTS do kernel. Corrupção de sistema de arquivos são comuns em branches mais antigas do kernel, em qualquer outra versão anterior à 4.4.y é especialmente inseguro e propenso a corrupção. Corrupção de sistemas de arquivo são mais comuns em kernels mais antigos (anteriores à 5.4.y) quando a compressão de arquivos está habilitada. Funcionalidades como RAID 5/6 e quota groups são inseguros em todas as versões do btrfs. Além disso, o btrfs pode falhar contra intuitivamente nas operações de sistema de arquivos retornando ENOSPC quando o comando df reporta espaço livre devido a uma fragmentação interna (espaço livre fixado pelos chunks de DATA + SYSTEM, mas necessário em chunks de METADATA). Além disso, desde uma única referência de 4K até uma extensão de 128M dentro de um btrfs podem causar espaço livre indisponível para alocação. Isso também pode fazer com que o btrfs retorne ENOSPC quando o espaço livre é informado pelo comando df. Instalando o pacote sys-fs/btrfsmaintenance e configurando um script para executar periodicamente pode ajudar a reduzir a possibilidade do erro ENOSPC por rebalancear o btrfs, mas isso não elimina o risco de ENOSPC acontecer quando há espaço livre. Algumas workloads talvez nunca irão se deparar com o erro ENOSPC enquanto outras talvez irão. Se o risco de ENOSPC acontecer em produção for inaceitável, você deve usar algo diferente. Se estiver usando btrfs, certifique-se de evitar configurações conhecidas por terem problemas. Com exceção do ENOSPC, informações sobre os problemas presentes no btrfs nas branches mais recentes do kernel estão disponíveis em btrfs wiki status page.
- 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ê algoritmos 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.
- 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.
- 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.
- 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, mas foi continuamente atualizado incluindo funcionalidades modernas.
- VFAT
- Também conhecido como FAT32, é suportado pelo Linux, mas não tem suporte para configurações de permissões padrão UNIX. É mais utilizado para interoperabilidade/intercâmbio com outros sistemas operacionais (como Windows ou macOS) mas é também uma necessidade para alguns sistemas de firmware (como o UEFI). Usuários de sistemas UEFI vão precisar de uma EFI System Partition formatada em VFAT para inicializar o sistema.
- NTFS
- Este sistema de arquivos com "Nova Tecnologia" ("New Technology Filesystem") é o principal sistema de arquivos do Microsoft Windows desde o Windows NT 3.1. Assim como o vfat, ele não armazena permissões ou atributos estendidos necessários para correto funcionamento de um BSD ou Linux, por isso não deve ser usado como sistema de arquivos na maioria dos casos. Deve ser usado apenas para interoperabilidade/intercâmbio com sistemas Microsoft Windows (note a ênfase no apenas).
More extensive information on filesystems can be found in the community maintained Filesystem article.
Criando um sistema de arquivos em uma partição
Please make sure to emerge the relevant user space utilities package for the chosen filesystem before rebooting. There will be a reminder to do so near the end of the installation process.
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 |
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 |
The handbook recommends new partitions as part of the installation process, but it is important to note running any mkfs command will erase any data contained within the partition. When necessary, ensure any data that exists within is appropriately backed up before creating a few filesystem.
Por exemplo, para ter a partição de sistema EFI (/dev/sda1) em FAT32 e a partição root (/dev/sda3) em ext4 como usado no exemplo de estrutura de partições, o seguintes comandos seriam usados:
root #
mkfs.ext4 /dev/sda3
EFI system partition filesystem
The EFI system partition (/dev/sda1) must be formatted as FAT32:
root #
mkfs.vfat -F 32 /dev/sda1
Legacy BIOS boot partition filesystem
Systems booting via legacy BIOS with a MBR/DOS disklabel can use any filesystem format supported by the bootloader.
For example, to format with XFS:
root #
mkfs.xfs /dev/sda1
Small ext4 partitions
Se usar o 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. Isso pode ser resolvido usando um dos comandos a seguir, respectivamente:
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.
Ativando a partição de swap
mkswap é o comando que é utilizado para inicializar as partições de swap:
root #
mkswap /dev/sda2
Para ativar a partição de swap, use swapon:
root #
swapon /dev/sda2
This 'activation' step is only necessary because the swap partition is newly created within the live environment. Once the system has been rebooted, as long as the swap partition is properly defined within fstab or other mount mechanism, swap space will activate automatically.
Montando a partição root
Installations which were previously started, but did not finish the installation process can resume the installation from this point in the handbook. Use this link as the permalink: Resumed installations start here.
Usuários que estiverem usando uma media de instalação não-Gentoo vão precisar criar os pontos de montagem com o comando:
root #
mkdir --parents /mnt/gentoo
root #
mkdir --parents /mnt/gentoo
For EFI installs only, the ESP should be mounted under the root partition location:
root #
mkdir --parents /mnt/gentoo/efi
Continue creating additional mount points necessary for any additional (custom) partition(s) created during previous steps by using the mkdir command.
Agora que as partições foram 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:
Mount the root partition:
root #
mount /dev/sda3 /mnt/gentoo
Continue mounting additional (custom) partitions as necessary using the mount command.
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
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.