|
1.
Introdução a dispositivos de bloco
Dispositivos de bloco
Iremos estudar os aspectos de manuseio de discos do Gentoo Linux e do Linux em
geral, incluindo sistemas de arquivos de Linux, partições e dispositivos de
bloco. Uma vez que você estiver familiar com o funcionamento de discos e
sistemas de arquivos, iniciaremos o processo de configuração de partições e
sistemas de arquivos para sua instalação do Gentoo Linux.
Para começar, vamos introduzir os dispositivos de bloco. O dispositivo de
bloco mais famoso é provavelmente aquele que representa o primeiro disco IDE em
um sistema Linux, chamado de /dev/hda. Se o seu sistema usa discos
SCSI, então seu primeiro disco rígido deve ser /dev/sda.
Dispositivos Serial ATA também são /dev/sda mesmo se forem
dispositivos IDE.
Os dispositivos de bloco acima representam uma interface abstrata para o disco.
Programas de usuário podem usar os dispositivos de bloco para interagir com seu
disco sem preocupação se eles são IDE, SCSI ou outra coisa. O programa pode
simplesmente classificar o espaço de armazenagem no disco como um monte de
blocos de 512 bytes contíguos acessíveis aleatoriamente.
Partições e slices (fatias)
Embora seja teoricamente possível usar um disco inteiro para armazenar seu
sistema Linux, isto é quase nunca feito na prática. Ao invés disso, dispositivos
de bloco de discos são divididos em dispositivos de bloco menores e mais fáceis
de manusear. Na maior parte dos sistemas, são chamados de partições.
Outras arquiteturas usam uma técnica parecida, chamada de slices.
1.
Desenhando um esquema de particionamento
Esquema de particionamento padrão
Se você não está interessado em desenhar um esquema de particionamento para seu
sistema, você pode usar o esquema de particionamento que usamos neste manual
inteiro:
| Partição |
Sistema de arquivos |
Tamanho |
Descrição |
| /dev/sda1 |
Mapa de partições |
31.5k |
Mapa de partições |
| /dev/sda2 |
(bootstrap) |
800k |
Apple_Bootstrap |
| /dev/sda3 |
(swap) |
512M |
Partição de swap |
| /dev/sda4 |
ext3 |
Resto do disco |
Partição raiz (root) |
Nota:
Existem algumas partições chamadas assim: Apple_Driver43,
Apple_Driver_ATA, Apple_FWDriver, Apple_Driver_IOKit, Apple_Patches.
Se você não planeja usar MacOS 9 você pode apagá-las, porque o MacOS X e o Linux
não precisam delas. Você pode ter que usar o parted para poder apagá-las, já que
o mac-fdisk ainda não consegue apagá-las.
|
Se você estiver interessado em saber que tamanho uma partição deve ter, ou mesmo
quantas partições você precisa, leia mais. Caso contrário, continue agora com
Apple G5: Usando o mac-fdisk para particionar o seu
disco ou IBM pSeries, iSeries e OpenPower: usando o
fdisk para particionar o seu disco.
Quantas e de que tamanho?
O número de partições depende muito de seu ambiente. Por exemplo, se você tem
muitos usuários, você provavelmente deve ter seu /home separado
para aumentar a segurança e tornar backups mais fáceis. Se você estiver
instalando o Gentoo para funcionar como um servidor de e-mails, seu
/var deve ser separado, uma vez que todos e-mails são gravados
dentro de /var. Uma boa escolha de sistema de arquivos irá
maximizar sua performance. Servidores de jogos têm uma partição
/opt separada, uma vez que a maior parte de servidores de jogos são
instalados lá. A razão é semelhante à do /home: segurança e
backups. Você deve manter seu /usr grande: não só irá conter a
maior parte das aplicações, a árvore do Portage sozinha toma em torno de 500
Mbytes, excluindo as várias fontes que são gravadas nela.
Como você pode ver, muito depende do que você quer fazer. Partições ou volumes
separados têm as seguintes vantagens:
-
Você pode escolher o sistema de arquivos de melhor performance para cada
partição ou volume
-
Seu sistema inteiro não irá ficar sem espaço se uma ferramenta defunta
estiver continuamente escrevendo arquivos em uma partição ou volume
-
Se necessárias, verificações de sistemas de arquivos têm seu tempo reduzido,
já que verificações múltiplas podem ser feitas em paralelo (embora esta
vantagem seja maior com vários discos que com várias partições)
-
A segurança pode ser melhorada ao montar algumas partições ou volumes como
somente-leitura, nosuid (bits de setuid são ignorados), noexec (bits
executáveis são ignorados), etc...
No entanto, partições múltiplas têm uma grande desvantagem: se não forem
configuradas apropriadamente, você pode acabar com um sistema com muito espaço
livre em uma partição e nenhum em outra. Também existe um limite de 15 partições
para SCSI e SATA.
1.
Padrão: Usando o mac-fdisk para particionar o seu disco (Apple G5)
Neste ponto, crie suas partições usando o mac-fdisk:
Listagem de código 1.1: Iniciando o mac-fdisk |
# mac-fdisk /dev/sda
|
Primeiro apague as partições que você criou anteriormente para abrir espaço para
suas partições de Linux. Use d no mac-fdisk para apagar essas
partições. Ele irá perguntar que número de partição deve apagar.
Segundo, crie uma partição Apple_Bootstrap usando b. Ele irá
perguntar que bloco que você quer que comece. Coloque o número de sua primeira
partição livre, seguido de um p. Por exemplo, 2p.
Nota:
Esta partição não é uma partição de "inicialização". Ela não é usada pelo
Linux de forma alguma; você não tem que colocar nenhum sistema de arquivos nela
e nunca deve montá-la. Usuários de PPC não precisam de uma partição adicional
para /boot.
|
Agora crie uma partição de swap usando c. De novo o mac-fdisk irá
perguntar em que bloco que você quer que esta partição comece. Como nós usamos
2 antes para criar a partição de Apple_Bootstrap, você agora tem que
colocar 3p. Quando perguntado o tamanho, digite 512M (ou o tamanho
que você quiser). Quando perguntado o nome, digite swap (obrigatório).
Para criar a partição raiz (root), digite c, seguido de 4p para
selecionar em que bloco a partição raiz (root) deve começar. Quando perguntado o
tamanho, digite 4p novamente. O mac-fdisk irá interpretar isso
como "Use todo o espaço disponível". Quando pedirem o nome, digite root
(obrigatório).
Para terminar, escreva a partição no disco usando w e q para sair
do mac-fdisk.
Nota:
Para ter certeza de que tudo está bem, você deve rodar o mac-fdisk mais uma vez
e ver se todas partições estão lá. Se você não vir nenhuma partição que você
criou, ou as mudanças que você fez, você deve reinicializar suas partições
apertando "i" no mac-fdisk. Note que isso irá recriar o mapa de partições e
remover todas suas partições.
|
Agora que suas partições foram criadas, você pode continuar com Criando sistemas de arquivos.
1.
IBM pSeries, iSeries e OpenPower: usando o fdisk para particionar seu
disco
Nota:
Se você estiver planejando usar um array de discos RAID para sua instalação do
Gentoo e estiver usando hardware baseado em POWER5, você deve agora rodar
iprutils para formatar os discos com formato Advanced Function e criar o
array de discos.
|
As partes seguintes explicam como criar o arranjo de partições descrito
anteriormente:
| Partição |
Descrição |
| /dev/sda1 |
Partição PPC PReP Boot |
| /dev/sda2 |
Partição de swap |
| /dev/sda3 |
Partição raiz (root) |
Mude o arranjo de partições de acordo com sua preferência.
Vendo o arranjo de partições atual
O fdisk é uma ferramenta popular e poderosa para dividir seu disco em
partições. Inicie o fdisk em seu disco (em nosso exemplo, usamos
/dev/sda):
Listagem de código 1.1: Iniciando o fdisk |
# fdisk /dev/sda
|
Uma vez dentro do fdisk, você verá um prompt que se parece com o
seguinte:
Listagem de código 1.1: prompt do fdisk |
Command (m for help):
|
Digite p para mostrar a configuração de partições atual de seu disco:
Listagem de código 1.1: Um exemplo de configuração de partições |
Command (m for help): p
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 12 53266+ 83 Linux
/dev/sda2 13 233 981571+ 82 Linux swap
/dev/sda3 234 674 1958701+ 83 Linux
/dev/sda4 675 6761 27035410+ 5 Extended
/dev/sda5 675 2874 9771268+ 83 Linux
/dev/sda6 2875 2919 199836 83 Linux
/dev/sda7 2920 3008 395262 83 Linux
/dev/sda8 3009 6761 16668918 83 Linux
Command (m for help):
|
Este disco está configurado para armazenar seis sistemas de arquivos Linux (cada
um com uma partição correspondente listada como "Linux") bem como uma partição
de swap (listada como "Linux swap").
Apagando todas partições
Iremos primeiro apagar todas partições existentes do disco. Digite d para
apagar uma partição. Por exemplo, para apagar um /dev/sda1 já
existente:
Nota:
Se você não quiser apagar todas partições, apague somente aquelas que você quer
apagar. Neste ponto o autor recomenda fazer cópias de todos seus dados para
evitar perdê-los.
|
Listagem de código 1.1: Apagando uma partição |
Command (m for help): d
Partition number (1-4): 1
|
A partição foi agendada para ser apagada. Ela não irá mais aparecer se você
digitar p, mas não será apagada até que suas mudanças sejam salvas. Se
você cometeu um erro e quer abortar sem salvar suas mudanças, digite q
imediatamente e aperte enter e sua partição não será apagada.
Agora, presumindo que você realmente quer apagar todas partições de seu sistema,
aperte p repetidamente para mostrar uma listagem de partições e então
digite d e o número da partição para apagá-la. No fim, você terminará
com uma tabela de partições sem nada:
Listagem de código 1.1: Uma tabela de partições vazia |
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
Device Boot Start End Blocks Id System
Command (m for help):
|
Agora que a tabela de partições na memória está vazia, estamos prontos para
criar as partições. Nós iremos usar o esquema de particionamento padrão que
discutimos anteriormente. Lógico, não siga as instruções à risca se você não
quer o mesmo esquema de particionamento!
Criando a partição de PPC PReP boot
Nós primeiro criamos uma pequena partição de PReP boot. Digite n para
criar uma nova partição, então p para selecionar uma partição primária,
seguido de 1 para selecionar a primeira partição primária. Quando for
pedido o primeiro cilindro, aperte enter. Quando for pedido o último cilindro,
digite +7M para criar uma partição de 7 Mbytes. Depois que você fez isso,
digite t para ajustar o tipo de partição, 1 para selecionar a
partição que você acaba de criar e então digite 41 para ajustar o tipo de
partição para "PPC PReP Boot". Finalmente, você precisa marcar a partição PReP
como carregável.
Nota:
A partição de PReP tem que ser menor que 8 MBytes!
|
Listagem de código 1.1: Criando a partição de PReP boot |
Command (m for help): p
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-6761, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-6761, default
6761): +8M
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 41
Changed system type of partition 1 to 41 (PPC PReP Boot)
Command (m for help): a
Partition number (1-4): 1
Command (m for help):
|
Agora, quando você digitar p, você verá o seguinte esquema de
particionamento:
Listagem de código 1.1: Partição de boot criada |
Command (m for help): p
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 3 13293 41 PPC PReP Boot
Command (m for help):
|
Criando a partição de swap
Vamos agora criar a partição de swap. Para fazer isto, digite n para
criar uma nova partição, então p para dizer ao fdisk que você quer uma
partição primária. Então digite 2 para criar a segunda partição primária,
/dev/sda2 em nosso caso. Quando for pedido o primeiro cilindro,
aperte enter. Quando for pedido o último cilindro, digite +512M para
criar uma partição de 512MB. Depois que você fez isso, digite t para
ajustar o tipo de partição, 2 para selecionar a partição que você acaba
de criar e então digite 82 para ajustar o tipo de partição para "Linux
Swap". Depois de completar estes passos, ao digitar p você verá uma
tabela de partições parecida com a seguinte:
Listagem de código 1.1: Listagem de partições depois de criar a partição de swap |
Command (m for help): p
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 3 13293 41 PPC PReP Boot
/dev/sda2 4 117 506331 82 Linux swap
Command (m for help):
|
Criando a partição raiz (root)
Finalmente, vamos criar a partição raiz (root). Para fazer isso, digite n
para criar uma nova partição, então p para dizer ao fdisk que você quer
uma partição primária. Então digite 3 para criar a terceira partição
primária, /dev/sda3 em nosso caso. Quando for pedido o primeiro
cilindro, aperte enter. Quando for pedido o último cilindro, aperte enter para
criar uma partição que toma o resto do espaço restante em seu disco. Depois de
completar estes passos, ao digitar p você verá uma tabela de partições
parecida com a seguinte:
Listagem de código 1.1: Listagem de partições depois de criar a partição raiz (root) |
Command (m for help): p
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 3 13293 41 PPC PReP Boot
/dev/sda2 4 117 506331 82 Linux swap
/dev/sda3 118 6761 29509326 83 Linux
Command (m for help):
|
Salvando o arranjo de partições
Para salvar o arranjo de partições e sair do fdisk, digite w.
Listagem de código 1.1: Salve e saia do fdisk |
Command (m for help): w
|
Agora que suas partições foram criadas, você pode continuar com Criando sistemas de arquivos.
1.
Criando sistemas de arquivos
Introdução
Agora que suas partições foram criadas, está na hora de colocar um sistema de
arquivos nelas. Se você não se importa em escolher o sistema de arquivos e está
contente com o que usamos como padrão neste manual, continue com Aplicando um sistema de arquivos a uma partição.
Caso contrário, leia mais para aprender sobre os sistemas de arquivos
disponíveis...
Sistemas de arquivos?
Nota:
Vários sistemas de arquivos estão disponíveis. Ext2 e ext3 estão estáveis na
arquitetura PPC64, reiserfs e xfs estão em estado experimental. Não há suporte
para jfs.
|
O ext2 é o sistema mais testado e fiel ao Linux, mas não tem jornal de
meta-dados, o que significa que verificações rotineiras de sistemas de arquivo
ext2 podem levar bastante tempo. Existe agora uma razoável seleção de sistemas
de arquivos de nova geração com jornal que podem ter sua consistência verificada
rapidamente e que são geralmente preferíveis aos seus respectivos sistemas sem
jornal. Sistemas de arquivo com jornal previnem longas esperas quando você
carrega seu sistema e seu sistema de arquivos está em um estado inconsistente.
O ext3 é a versão com jornal do sistema de arquivos ext2, fornecendo
jornal de meta-dados para recuperação rápida, fora outros modos de jornal
aprimorados como dados completos e dados ordenados. O ext3 é um sistema de
arquivos muito bom e confiável. Tem uma opção adicional de catalogar hashed
b-trees que permite alta performance em quase todas situações. Você pode ativar
este catálogo adicionando -O dir_index ao comando mke2fs. Para
resumir, o ext3 é um excelente sistema de arquivos.
O ReiserFS é sistema de arquivos baseado em B*-trees que tem uma
performance em geral muito boa e muito superior a tanto o ext2 quanto o ext3 na
hora de lidar com arquivos pequenos (de menos de 4k), freqüentemente com um
fator de 10x-15x. O ReiserFS também escala extremamente bem e tem jornal de
meta-dados. A partir do kernel 2.4.18+, o ReiserFS está sólido e pronto para ser
usado tanto como um sistema de arquivos genérico quanto para casos extremos como
a criação de sistemas de arquivos enormes, uso de muitos arquivos pequenos,
arquivos muito grandes e diretórios contendo dezenas de milhares de arquivos.
O XFS é um sistema de arquivos com jornal de meta-dados que vem com um
robusto conjunto de funções e é otimizado para escalabilidade. Só recomendamos
usar este sistema de arquivos em sistemas rodando Linux com equipamento SCSI de
ponta e/ou armazenamento em canais de fibra e fonte de energia sem interrupção.
Pelo fato de o XFS criar cachês agressivamente de dados em uso na memória RAM,
programas mal desenhados (que não tomam precauções na hora de escrever os
arquivos em disco, e existem muitos deles) podem perder uma grande quantidade de
dados se o sistema for desligado sem aviso.
O JFS é o sistema de arquivos com jornal de alta performance da IBM.
Recentemente tornou-se pronto para uso em produção e não há experiência
suficiente para comentar a favor ou contra sua estabilidade geral neste ponto.
Aplicando um sistema de arquivos a uma partição
Para criar um sistema de arquivos em uma partição ou volume, existem ferramentas
disponíveis para cada sistema de arquivos possível:
| Sistema de arquivos |
Comando de criação |
| ext2 |
mke2fs |
| ext3 |
mke2fs -j |
| reiserfs |
mkreiserfs |
| xfs |
mkfs.xfs |
| jfs |
mkfs.jfs |
Por exemplo, para ter a partição raiz (root) (/dev/sda4 em nosso
exemplo) em ext3 (como em nosso exemplo), você faria:
Listagem de código 1.1: Aplicando um sistema de arquivos a uma partição |
# mke2fs -j /dev/sda4
|
Agora crie os sistemas de arquivos em suas partições recém-criadas (ou volumes
lógicos).
Ativando a partição de swap
mkswap é o comando usado para iniciar partições de swap:
Listagem de código 1.1: Criando uma assinatura de swap |
# mkswap /dev/sda3
|
Para ativar a partição de swap, use swapon:
Listagem de código 1.1: Ativando a partição de swap |
# swapon /dev/sda3
|
Crie e ative o swap com os comandos mencionados acima.
1.
Montando
Agora que suas partições foram iniciadas e possuem um sistema de arquivos, está
na hora de montá-las. Use o comando mount. Não se esqueça de criar os
diretórios necessários de montagem para cada partição que você criou. Como
exemplo montamos a partição raiz (root):
Listagem de código 1.1: Montando partições |
# mkdir /mnt/gentoo
# mount /dev/sda4 /mnt/gentoo
|
Nota:
Se você quiser que seu /tmp resida em uma partição separada,
certifique-se de mudar suas permissões depois de montá-la: chmod 1777
/mnt/gentoo/tmp. O mesmo vale para /var/tmp.
|
Continue com (Instalando os arquivos de instalação
do Gentoo).
|