Este apêndice não se aplica necessariamente a arquiteturas não baseadas no x86. Entretanto, os conceitos gerais mencionados aqui podem ser aplicados.
A.1. Conceitos Básicos do Disco Rígido
Discos rígidos executam uma função muito simples — eles armazenam dados que podem ser recuperados com confiança através de comandos.
Ao discutir questões como o particionamento de disco, é importante entender um pouco sobre o hardware subjacente. Infelizmente, é fácil terminar se perdendo num mar de detalhes. Portanto, este apêndice usa um diagrama simplificado para ajudar a explicar o que realmente acontece quando um drive de disco é particionado. A
Figura A.1, “Um Disco Rígido não Usado” mostra um disco rígido novo, e atualmente não usado.
Não há muito a observar, não é mesmo? Mas se estamos falando em discos rígidos em um nível básico, esta imagem é adequada. Digamos que quiséssemos guardar alguns dados neste disco rígido. No estado atual, isto não funcionará. Há algo que deve ser feito primeiro.
A.1.1. Não Importa o que Você Escreve, mas como Você Escreve
Usuários experientes provavelmente captaram isto de primeira. Nós precisamos formatar o drive. Formatar (comumente conhecido como " criando um sistema de arquivos ") escreve informação no drive, criando uma certa ordem no espaço vazio de um drive não formatado.
Uma pequena porcentagem do espaço disponível do drive é usado para armazenar dados relativos ao sistema de arquivos e pode ser considerado como cabecalho.
Um sistema de arquivo divide o espaço restante em pequenos segmentos do mesmo tamanho. Para o Linux, estes segmentos são conhecidos como blocos.
Como os sistemas de arquivos possibilitam a existência de diretórios e arquivos, estas desvantagens geralmente são vistas como um pequeno preço a pagar.
Também vale notar que não existe nenhum sistema de arquivos único, universal. Conforme a
Figura A.3, “Drive de Disco com um Sistema de Arquivos Diferente” indica, um drive de disco pode conter um dos vários sistemas de arquivos. Como você pode imaginar, sistemas de arquivos diferentes tendem a ser incompatíveis, ou seja, um sistema operacional que suporta um sistema de arquivos (ou até mesmo alguns tipos de sistemas de arquivos relacionados) talvez não suporte outros, apesar disto não necessariamente representar uma regra. Por exemplo, o Red Hat Enterprise Linux suporta uma grande variedade de sistemas de arquivos (incluindo vários que são normalmente usados por outros sistemas operacionais), facilitando assim a troca de informações entre sistemas de arquivos diferentes.
Obviamente, escrever um sistema de arquivos no disco é só o começo. O objetivo deste processo é, na verdade, armazenar e recuperar dados. Vamos dar uma olhada em nosso drive após ter escrito (gravado) alguns arquivos nele.
Conforme mostrado na
Figura A.4, “Drive de Disco com Dados Gravados”, alguns dos blocos anteriormente vazios agora contém dados. Entretanto, ao analisar esta ilustração, não pode-se determinar exatamente quantos arquivos residem neste drive. Pode ser que exista apenas um arquivo, ou vários, uma vez que todos os arquivos usam pelo menos um bloco e alguns arquivos usam vários. Outro ponto importante a ser notado é que blocos usados não precisam necessariamente formar uma região contínua, blocos usados e livres podem ser alternados. Isto é conhecido como
fragmentação. A questão da fragmentação pode tornar-se relevante ao tentar redimensionar uma partição existente.
Assim como é o caso com a maioria das tecnologias relativas a computadores, drives de disco foram modificados após sua introdução. Especialmente, eles aumentaram de tamanho. Não estamos falando em espaço físico, mas em capacidade de armazenamento de dados. E esta capacidade adicional trouxe uma mudança fundamental no modo como drives de disco são utilizados.
A.1.2. Partições: Transformando um Drive em Muitos
Como as capacidades de drives de disco aumentaram drasticamente, algumas pessoas começaram a pensar se seria uma boa idéia ter todo este espaço formatado em um grande pedaço. Essa linha de pensamento foi guiada por diversas questões, algumas filosóficas, outras técnicas. Do lado filosófico, acima de um determinado tamanho, parecia que o espaço adicional provido por um drive maior criava mais desordem. Do lado técnico, alguns sistemas de arquivo nunca foram planejados para suportar acima de uma capacidade determinada. Ou os sistemas de arquivos poderiam suportar drives maiores com maior capacidade, mas a sobrecarga imposta pelo sistema de arquivos rastrear arquivos se tornou excessiva.
A solução deste problema foi dividir discos em partições. Cada partição pode ser acessada como se fosse um disco separado. Isto é feito através da adição de uma tabela de partições.
Apesar dos diagramas deste capítulo apresentarem a tabela de partiçõesseparada do drive de disco, isto não é 100% verdadeiro. Na realidade, a tabela de partições é armazenada bem no começo do disco, antes de qualquer sistema de arquivos ou dados do usuário. Mas, para clarificar, eles estão separados em nossos diagramas.
Conforme indicado na
Figura A.5, “Drive de Disco com Tabela de Partições”, a tabela de partições é dividida em quatro seções ou quatro partições
primárias. Uma partição primária é uma partição em um disco rígido que pode conter apenas um drive lógico, ou seção. Cada seção pode acomodar informação necessária para definir uma única partição, o que quer dizer que a tabela de partições não pode definir mais do que quatro partições.
Cada campo da tabela de partições contém diversas características importantes da partição:
Vamos dar uma olhada mais minuciosa nestas características. Os pontos de início e fim na verdade definem o tamanho da partição e sua localização no disco. A bandeira "activa" é utilizada por carregadores de inicialização de alguns sistemas operacionais. Em outras palavras, o sistema operacional na partição marcada como "activa" é iniciado.
O tipo de partição pode ser um pouco confuso. O tipo é um número que identifica o uso antecipado da partição. Isto soa um pouco vago porque o conceito do tipo de partição também é vago. Alguns sistemas operacionais usam o tipo de partição para denotar um tipo específico de sistema de arquivo, ou para indicar que a partição está associada a um determinado sistema operacional, ou para indicar que a partição contém um sistema operacional iniciável, ou alguma combinação dos três.
Em muitos casos, há apenas uma partição em todo o disco, essencialmente duplicando o método usado antes do particionamento. A tabela de partições tem apenas um campo, que aponta o início da partição.
Nós etiquetamos esta partição como sendo do tipo "DOS". Embora este seja apenas um dos vários tipos de partição possíveis listados na
Tabela A.1, “Tipos de partição”, é adequado para as finalidades desta discussão.
Tabela A.1, “Tipos de partição”, contém uma lista com alguns tipos de partição conhecidos (e outros nem tanto), junto aos seus valores numéricos hexadecimais.
Tabela A.1. Tipos de partição Tipo de partição | Valor | Tipo de partição | Valor |
---|
Vazio | 00 | Novell Netware 386 | 65 |
DOS 12-bit FAT | 01 | PIC/IX | 75 |
XENIX root | 02 | Minix antigo | 80 |
XENIX usr | 03 | Linux/MINUX | 81 |
DOS 16-bit <=32M | 04 | Linux swap | 82 |
Extendida | 05 | Linux native | 83 |
DOS 16-bit >=32 | 06 | Linux extended | 85 |
OS/2 HPFS | 07 | Amoeba | 93 |
AIX | 08 | Amoeba BBT | 94 |
AIX bootable | 09 | BSD/386 | a5 |
Gerenciador de Inicializialização OS/2 | 0a | OpenBSD | a6 |
Win95 FAT32 | 0b | NEXTSTEP | a7 |
Win95 FAT32 (LBA) | 0c | BSDI fs | b7 |
Win95 FAT16 (LBA) | 0e | BSDI swap | b8 |
Win95 Extended (LBA) | 0f | Syrinx | c7 |
Venix 80286 | 40 | CP/M | db |
Novell | 51 | DOS access | e1 |
PReP Boot | 41 | DOS R/O | e3 |
GNU HURD | 63 | DOS secundário | f2 |
Novell Netware 286 | 64 | BBT | ff |
A.1.3. Partições dentro de Partições — Uma Visão Geral de Partições Estendidas
Obviamente, ao longo do tempo ficou claro que quatro partições não seriam suficientes. Como drives de disco continuaram aumentando em tamanho, seria provável que uma pessoa poderia configurar quatro partições de tamanhos razoáveis e ainda ter espaço livre em disco. Mesmo assim, era preciso achar uma maneira de criar mais partições.
Forneça a partição estendida. Conforme você pode ter notado na
Tabela A.1, “Tipos de partição”, há um tipo de partição chamado de "Extended". Este tipo de partição é um dos aspectos mais importantes da questão de partições estendidas.
Quando uma partição é criada e seu tipo é configurado para "Extended", uma tabela de partições estendida é criada. Essencialmente, a partição estendida é como se fosse um disco rígido — possui uma tabela de partições que indica uma ou mais partições (agora chamadas de
partições lógicas, ao contrário das quatro
partições primárias) contidas inteiramente dentro da partição estendida em si. A
Figura A.7, “Drive de Disco com Partição Estendida” mostra um drive de disco com uma partição primária e uma partição estendida contendo duas partições lógicas (além de uma área não particionada contendo espaço livre).
De acordo com esta figura, há uma diferença entre partições primárias e lógicas — pode haver apenas quatro partições primárias, mas não há limite para o número de partições lógicas. Entretanto, devido à maneira como as partições são acessadas no Linux, você deve evitar definir mais de 12 partições lógicas em um único drive de disco.
Agora que discutimos partições em geral, vamos rever como aplicar este conhecimento para instalar o Red Hat Enterprise Linux.
A.1.4. Criando espaço para o Red Hat Enterprise Linux
A lista abaixo apresenta alguns cenários possíveis que você pode encontrar ao tentar reparticionar seu disco rígido:
Espaço livre não particionado disponível em disco
Uma partição não usada disponível
Espaço livre disponível em uma partição ativamente usada
Vamos ver cada cenário em ordem.
Por favor tenha em mente que as ilustrações a seguir foram simplificadas para facilitar o entendimento e não refletem o layout exato da partição que você encontra ao instalar o Red Hat Enterprise Linux.
A.1.4.1. Usando Espaço Livre não Particionado
Se pensarmos sobre isto, um disco rígido não usado também recai nesta categoria. A única diferença é que todo o espaço não faz parte de nenhuma partição definida.
Neste caso, você pode criar as partições necessárias usando o espaço não utilizado. Infelizmente, este cenário, embora simples, não é muito provável (a não ser que você recém tenha comprado um novo disco para o Red Hat Enterprise Linux). A maioria dos sistemas operacionais pré-instalados são configurados para que ocupem todo o espaço livre em um drive de disco (Veja a
Seção A.1.4.3, “Usando Espaço Livre de uma Partição Ativa”).
Em seguida, discutiremos uma situação um pouco mais comum.
A.1.4.2. Usando Espaço de uma Partição não Usada
Neste caso, talvez você tenha uma ou mais partições que não sejam mais utilizadas. Talvez você tenha experimentado outro sistema operacional no passado, e as partições que você dedicou a este outro sistema operacional não têm sido mais usadas. A
Figura A.9, “Drive de Disco Com uma Partição Não Usada” ilustra tal situação.
Se você estiver nesta situação, pode utilizar o espaço alocado para a partição não usada. Primeiramente você precisa apagar a partição, e então criar a(s) partição(ões) Linux apropriada(s) em seu lugar. Você pode apagar a partição não usada e manualmente criar novas partições durante o processo de instalação.
A.1.4.3. Usando Espaço Livre de uma Partição Ativa
Essa é a situação mais comum e, infelizmente, a mais difícil de se lidar. O maior problema é que, mesmo tendo espaço livre suficiente, este está alocado à uma partição que já está em uso. Se você adquiriu um computador com software pré-instalado, é mais provável que o disco rígido tenha uma grande partição contendo o sistema operacional e os dados.
Além de adicionar um novo disco rígido ao seu sistema, você tem duas opções:
-
Destructive Repartitioning
Basicamente, você deleta a partição grande e cria diversas partições menores. Como você pode supor, todos os dados contidos na partição original são destruídos. Isto significa que é necessário fazer um backup completo. Para o seu próprio bem, faça dois backups, use a verificação (se estiver disponível em seu software de backup), e tente ler os dados a partir de seu backup antes de deletar a partição.
Se há algum sistema operacional instalado naquela partição, ele deverá ser reinstalado também. Atente para o fato de que alguns computadores vendidos com sistemas operacionais pré-instalados talvez não incluam o CD-ROM para reinstalar o sistema operacional original. A melhor hora para checar se isto é aplicável ao seu sistema é antes de destruir sua partição e a instalação do sistema operacional original.
- Non-Destructive Repartitioning
Aqui você roda um programa que executa algo aparentemente impossível: reduz o tamanho de uma partição grande sem perder nenhum dos arquivos armazendos nela. Muitas pessoas acreditam que este método seja confiável e que não apresenta problemas. Qual software você deve utilizar para executar este feito? Há diversos softwares de gerenciamento de disco no mercado. Pesquise para encontrar aquele que seja o melhor para seu caso.
Apesar do processo de repartição não-destrutivo ser muito claro, há diversos passos envolvidos:
Em seguida observaremos cada um dos passos detalhadamente.
A.1.4.3.1. Compactando os Dados Existentes
Conforme indicado na
Figura A.11, “Drive de Disco Sendo Compactado”, o primeiro passo é compactar os dados na sua partição existente. Isto é feito com o intuito de reorganizar os dados para maximizar o espaço livre no "final" da partição.
Este passo é crucial. Sem ele, a localização de seus dados pode impedir que a partição seja redimensionada para a extensão desejada. Note também que, por uma razão ou outra, alguns dados não podem ser movidos. Se este for o caso (e isto restringe fortemente o tamanho de sua(s) nova(s) partição(ões)), você talvez seja forçado a repartir seu disco destrutivamente.
A.1.4.3.2. Redimensionar a Partição Existente
Figura A.12, “Drive de Disco com Partição Redimensionada”, mostra o processo de redimensionamento real. Enquanto o resultado real da operação de redimensionamento varia de acordo com o software usado, na maioria dos casos o espaço recém-liberado é usado para criar uma partição não-formatada do mesmo tipo que a original.
É importante entender o que o software de redimensionamento que você está usando faz com o espaço recém liberado, assim você poderá seguir os passos apropriados. No caso que ilustramos, seria melhor deletar a nova partição DOS e criar a(s) partição(ões) Linux apropriada(s).
A.1.4.3.3. Criar novas partições.
Conforme o passo anterior sugere, talvez não seja necessário criar novas partições. Entretanto, a não ser que o seu aplicativo de redimensionamento tenha a capacidade de lidar com o Linux, é provável que você precise remover a partição que foi criada durante o processo de redimensionamento. A
Figura A.13, “Drive de Disco com a Configuração Final da Partição” mostra isto sendo feito.
A informação seguinte é válida somente para computadores com processadores x86.
Como uma facilidade para nossos clientes, nós provemos o utilitário parted
. Esse programa disponível gratuitamente é capaz de redimensionar partições.
Se você resolver reparticionar o seu disco rígido com o parted
, é importante entender sobre o armazenamento do disco e executar um backup dos dados de seu computador. Você deve fazer duas cópias de todos os dados importantes. Estas cópias devem ser feitas em mídia removível (tal como fita, CD-ROM ou disquetes), e você deve certificar-se de que elas estão legíveis antes de prosseguir.
Se resolver utilizar o parted
, esteja ciente de que após executar parted
você terá duas partições: aquela que você redimensionou e outra parted
criada a partir do espaço recém-liberado. Se seu objetivo for utilizar este espaço para instalar Red Hat Enterprise Linux, você deve apagar a partição recém-criada, usando o utilitário de particionamento de seu sistema operacional atual ou enquanto estiver definindo as partições durante a instalação.
A.1.5. Esquema de Nomeamento de Partições
O Linux refere-se a partições de disco utilizando uma combinação de letras e números que pode ser um pouco confusa, particularmente se você estiver acostumado com o tipo de referência "drive C" a discos rígidos e suas partições. No mundo DOS/Windows, as partições são nomeadas usando o seguinte método:
Cada tipo de partição é checado a fim de determinar se ele pode ser lido por DOS/Windows.
Se o tipo de partição for compatível, lhe é atribuído uma "letra de drive". As letras dos drives começam com "C" e seguem para as próximas letras, dependendo do número de partições a serem nomeadas.
A letra do drive pode então ser usada para referenciar esta partição assim como o sistema de arquivos contido nesta partição.
O Red Hat Enterprise Linux utiliza um esquema de nomenclatura mais flexível e traz mais informações do que o esquema usado por outros sistemas operacionais. O esquema de nomenclatura é baseado em arquivos, com os nomes de arquivos no formato /dev/xxyN
.
Como decifrar o esquema de nomeamento de partições:
/dev/
Este é o nome do diretório onde encontram-se todos os arquivos de dispositivos. Já que partições residem em discos rígidos, e discos rígidos são dispositivos, os arquivos representando todas as partições possíveis residem em /dev/
.
xx
As primeiras duas letras do nome da partição indicam o tipo de dispositivo no qual a partição reside, geralmente hd
(para discos IDE) ou sd
(para discos SCSI).
y
Essa letra indica em qual dispositivo a partição está. Por exemplo, /dev/hda
(o primeiro disco rígido IDE) ou /dev/sdb
(o segundo disco SCSI).
N
O número final denota a partição. As primeiras quatro partições (primárias ou extendidas) são numeradas de 1
a 4
. Partições lógicas começam com 5
. Por exemplo, /dev/hda3
é a terceira partição primária ou extendida no primeiro disco rígido IDE, e /dev/sdb6
é a segunda partição lógica no segundo disco rígido SCSI.
Não há nenhuma parte desta convenção de nomes baseada no tipo de partição; ao contrário do DOS/Windows, todas as partições podem ser identificadas sob Red Hat Enterprise Linux. Obviamente, isso não significa que Red Hat Enterprise Linux pode acessar dados em qualquer tipo de partição, mas em muitos casos é possível acessar dados em uma partição dedicada a outro sistema operacional.
Tenha essa informação em mente; isto facilitará o entendimento das coisas ao definir as partições que o Red Hat Enterprise Linux necessita.
A.1.6. Partições de Disco e Outros Sistemas Operacionais
Se as partições de seu Red Hat Enterprise Linux forem compartilhar um disco rígido com partições usadas por outros sistemas operacionais, você não terá problemas na maioria das vezes. No entanto, há determinadas combinações do Linux com outros sistemas operacionais que requerem cuidado extra.
A.1.7. Partições de Disco e Pontos de Montagem
Uma área que muitos novatos no Linux acham confusa é a questão de como as partições são usadas e acessadas pelo sistema operacional Linux. No DOS/Windows ela é relativamente simples: cada partição leva uma "letra de drive". E então você usa a letra de drive correta para consultar arquivos e diretórios na partição correspondente.
Isto é completamente diferente da maneira como Linux lida com partições e, por conseqüência, com armazenamento em disco em geral. A principal diferença é que cada partição é usada para formar parte do armazenamento necessário para suportar um conjunto de arquivos e diretórios. Isto é feito associando a partição com o diretório através de um processo conhecido como montagem. Montar uma partição viabiliza seu armazenamento a partir do diretório especificado (conhecido como ponto de montagem).
Por exemplo: se a partição /dev/hda5
é montada em /usr
, isto significa que todos os arquivos e diretórios sob /usr
estarão fisicamente localizados em /dev/hda5
. Portanto, o arquivo /usr/share/doc/FAQ/txt/Linux-FAQ
seria armazenado em /dev/hda5
, enquanto o arquivo /etc//gdm/custom.conf
não estaria na mesma localização.
Continuando com nosso exemplo, também é possível que um ou mais diretórios sob /usr/
sejam pontos de montagem de outras partições. Por exemplo, uma partição (digamos /dev/hda7
) poderia ser montada em /usr/local
, significando que /usr/local/man/whatis
então estaria localizado em /dev/hda7
ao invés de /dev/hda5
.
A.1.8. Quantas Partições?
Neste estágio de preparação para instalar o Red Hat Enterprise Linux, você precisa atentar para o número e tamanho das partições a serem utilizadas pelo seu novo sistema operacional. A questão de "quantas partições" continua esquentando o debate na comunidade Linux e, sem nenhuma conclusão deste debate à vista, é seguro dizer que provavelmente há tantos layouts de partições quanto pessoas discutindo essa questão.
Com isto em mente, nós recomendamos que, a não ser que você tenha uma razão para fazer diferente, as seguintes partições devem ser criadas: swap
, /boot/
e /
(root).