Índice das dicas
Entendendo as identificações de partição no Ubuntu (UUIDs)
Por Carlos E. Morimoto em 19 de novembro de 2010 às 15h53
6No Linux, todos os dispositivos de sistema são acessados através de arquivos especiais criados dentro do diretório "/dev". Isso naturalmente inclui os HDs e as partições. Tradicionalmente, os HDs IDE são acessados através de devices iniciados com "/dev/hd", como em "/dev/hda" (master da primeira porta IDE), "/dev/hdb" (slave da primeira IDE), "/dev/hdc" (master da segunda IDE) e "/dev/hdd" (slave da segunda IDE), enquanto os HDs SCSI, SATA ou SAS recebem devices iniciados com "/dev/sd", como em "/dev/sda" (primeiro HD), "/dev/sdb" (segundo HD), "/dev/sdc" (terceiro HD) e assim por diante.
Entretanto, isso mudou nas versões recentes do Kernel (a partir do 2.6.20), onde, devido a uma mudança no subsistema que dá suporte a discos, todos os HDs passaram a receber devices iniciados com "/dev/sd", independente de serem HDs IDE, SATA, SCSI ou USB.
Uma boa forma de ver como o sistema detectou os HDs instalados é usar (como root) o comando "fdisk -l", que lista os HDs e as partições disponíveis.
O que faz com que todas as partições sejam corretamente montadas durante o boot são entradas inseridas no arquivo "/etc/fstab". Aqui temos um exemplo de configuração clássica:
/dev/sda1 / ext3 defaults 0 1 /dev/sda2 /home ext3 noatime 0 2 /dev/sda5 none swap sw 0 0 /dev/cdrom /mnt/cdrom iso9660 defaults,ro,user,noexec,noauto 0 0 proc /proc proc defaults 0 0
Como pode ver, cada linha descreve uma partição que será acessada pelo sistema. No exemplo, a primeira linha é referente à partição raiz, a segunda se refere a uma partição separada, montada no diretório home, a terceira é referente à partição swap, a quinta é referente ao CD-ROM e a última ao diretório proc, um diretório especial usado pelo kernel para armazenar variáveis de configuração e atalhos de acesso a dispositivos.
Dentro de cada linha, o primeiro parâmetro (/dev/sda1) indica a partição, o segundo o diretório onde ela será montada (/), o terceiro indica o sistema de arquivos em que a partição foi formatada (ext3) enquanto o "defaults 0 1" permite definir configurações adicionais. O "default", por exemplo, é um "nada a declarar", que faz com que a partição seja acessada usando as opções padrão, enquanto o "noatime" na segunda linha é uma opção de otimização, que faz com que o sistema não atualize a data de acesso quando os arquivos são lidos, o que resulta em um pequeno ganho de desempenho.
Normalmente, você define os pontos de montagem das partições durante a própria instalação do sistema, de forma que o instalador se encarregará de adicionar as entradas apropriadas automaticamente. Ao instalar outros HDs posteriormente, você pode fazer com que o sistema passe a usá-las inserindo as linhas apropriadas no fstab.
Entretanto, se você estiver usando o Ubuntu, vai perceber que ele não faz referência às partições dentro do fstab pelo dispositivo, mas sim pelo UUID, que é um identificador único. O uso dos UUIDs complica a configuração, mas oferece a vantagem de garantir que o sistema continue sendo capaz de montar as partições mesmo que os HDs mudem de posição ou sejam instalados em portas diferentes da placa-mãe.
Para seguir o padrão do Ubuntu, identificando a partição através do UUID, você pode verificar qual é o UUID referente à sua partição usando o comando "blkid", como em:
# blkid /dev/sdc1 /dev/sdc1: UUID="5c5a3aff-d8a3-479e-9e54-c4956bd2b8fd" SEC_TYPE="ext2" TYPE="ext3"
Você pode então especificar o UUID na linha do fstab no lugar do device, como em:
UUID=5c5a3aff-d8a3-479e-9e54-c4956bd2b8fd /mnt/sdc1 ext3 defaults 0 0
Um aviso importante é que o fstab é um dos arquivos essenciais para a inicialização do sistema, por isso você sempre deve checar e rechecar as alterações. Um erro na linha referente à partição raiz, por exemplo, simplesmente fará o sistema deixar de inicializar.
Outra observação é que você deve deixar sempre uma linha em branco no final do arquivo, caso contrário passará a receber um aviso durante o boot. Ela é necessária por um motivo muito simples: sem ela, se um utilitário de configuração qualquer tentar inserir informações no final do arquivo, vai acabar inserindo-as no final da linha anterior (em vez de em uma nova linha), resultando em uma configuração inválida.
6 comentáriosPor Carlos E. Morimoto. Revisado 19 de novembro de 2010 às 15h53


Comentários