Partições
Podemos dividir um disco rígido em várias partes ou partições, onde cada partição é independente das outras, ou seja, cada partição pode ter o seu próprio sistema de arquivo. Isto significa que uma partição do disco não interfere nas outras partições. Podemos, por exemplo, instalar o Linux em uma partição e o Windows em outra partição.
Um disco pode ser dividido em até 4 partições. Uma partição pode ser primária ou estendida. Sendo que, no máximo, apenas uma partição pode ser do tipo estendida. Isto significa que você pode ter 4 partições primárias ou 3 partições primárias e uma partição estendida. É possível dividir uma partição estendida em até 64 partições menores chamadas de partições lógicas (a partição estendida não armazena dados e sim, outras partições lógicas). Não é possível, entretanto, dividir uma partição primária.
A tabela onde são armazenadas as informações sobre as partições fica no primeiro setor do disco e chama-se MBR (Master Boot Record). Esta tabela possui 4 entradas onde cada entrada descreve uma única partição.
Deve-se colocar o DOS em uma partição primária, pois este sistema operacional não consegue inicializar numa partição lógica, enquanto o Linux nã possui nenhuma restrição (veja LILO para mais detalhes). Por outro lado, o Linux requer na sua instalação a criação de pelo menos duas partições, uma para instalar o próprio Linux (partição Linux nativo) e a outra para servir de memória auxiliar para o Linux (partição de swap ou troca). A partição Linux nativo é conhecida por diretório raiz do Linux e é representada por /.
O programa mais comumente usado para particionar discos é o fdisk. O problema com este aplicativo é que ele destrói os dados armazenados ao particionar o disco.
Sistemas de arquivos
A tabela abaixo mostra os tipos mais comuns de sistemas de arquivos que são reconhecidos pelo Linux.
Tipo | Descrição |
ext | Sistema nativo Linux antigo |
ext2 | Atual sistema nativo Linux de arquivos |
iso9660 | Sistema de arquivos do CD-ROOM (read only) |
msdos | Sistema de arquivos DOS |
nfs | Sistema de arquivo remoto NFS |
proc | Sistema de arquivos Linux Process Information |
swap | Sistema de arquivos de troca (swap) |
umsdos | Sistema de arquivos para suportar arquivos DOS e Linux coexistentes |
vfat | Sistema de arquivos Windows (permite definição de nomes de arquivos com até 32 caracteres) |
Para verificar quais os sistemas de arquivos que o seu Linux suporta, basta verificar o conteúdo do arquivo /proc/filesystems. O exemplo abaixo mostra que o sistema pode montar um CD-ROOM e um sistema de arquivos DOS ou Windows.
ext2
nodev proc
nodev devpts
msdos
O suporte para diferentes sistemas de arquivos pode ser obtido através de módulos de kernel carregáveis no diretório /lib/modules/XXX/fs, onde XXX é a versão atual do Linux.
Sistemas de arquivos do Linux
No Linux, um diretório (corresponde ao conceito de pasta do Windows) pode ter outros diretórios ou arquivos. Dizemos que um diretório é filho de outro diretório quando ele está logo abaixo do diretório em questão. O diretório que está um nível acima é chamado de diretório pai.
O diretório raiz do Linux (ou diretório /) é o diretório com maior hierarquia entre todos os diretórios do sistema. Isto significa que todos os diretórios do Linux ficam abaixo deste diretório. Por padrão (independente da distribuição usada), temos no Linux os seguintes diretórios abaixo do diretório raiz :
- bin – diretório com os arquivos binários de comandos disponíveis para todos os usuários.
- boot – diretório com os arquivos do boot de inicialização.
- dev – diretório com as definições dos dispositivos de entrada/saída.
- etc – diretório com os arquivos de configuração do sistema.
- home – diretório que armazena os diretórios dos usuários do sistema.
- lib – diretório com as bibliotecas e módulos (carregáveis) do sistema.
- mnt – diretório usado para montagem de partições.
- opt – diretório usado para instalar pacotes opcionais que não fazem parte da distribuição Linux.
- proc – diretório com informações sobre os processos do sistema.
- root – diretório home do administrador do sistema.
- sbin – diretório com os arquivos binários de comandos disponíveis para administrar o sistema.
- tmp – diretório com arquivos temporários.
- usr – diretório com arquivos binários, páginas de manual e outros arquivos imutáveis utilizados pelos usuários do sistema, mas que não são essenciais para o uso do sistema como, por exemplo, o sistema de janelas X, jogos, bibliotecas compartilhadas e programas de usuários e de administração.
- var – diretório com arquivos de dados variáveis (spool, logs, etc).
O diretório inicial de um usuário é conhecido como diretório home, diretório raiz do usuário ou diretório principal do usuário. Este diretório é o de maior hierarquia no conjunto de diretórios do usuário. O usuário tem total controle sobre o seu diretório home e sobre todos os arquivos e diretórios que estão abaixo dele. Isto significa que o usuário pode criar, deletar e modificar tudo que está abaixo do seu diretório principal. Além disso, o usuário pode definir as permissões de acesso (leitura, gravação e execução) dos outros usuários em relação aos seus arquivos.
Normalmente, o diretório raiz de um usuário está localizado em /home e possui o mesmo nome do login de acesso do usuário (o root pode mudar este padrão durante a criação da conta do usuário). Por exemplo, o diretório raiz do usuário aluno, por padrão, é /home/aluno.
Convém também observar que é possível colocar os subdiretórios do diretório raiz em partições separadas. O objetivo é facilitar a manutenção do sistema e aumentar a segurança dos dados. Portanto, a distribuição do diretório raiz em várias partições é uma escolha pessoal do administrador do sistema. Normalmente, é sugerido que os seguintes diretórios possuam uma partição própria: /home, /opt, /tmp, /usr e /usr/local.