Í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

6

No 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

 
por urquiza (anônimo) em 20 de março de 2009 às 12h27
Pode se usar o blkid ou vol_id, conforme abaixo.
sudo blkid > teste
ou
sudo vol_id > teste

O acontece é que toda a informação gerada pelos comandos acima, é direcionada para um arquivo txt, um arquivo de texto que é criado na pasta onde onde foi executado o comando.

Abra o arquivo, copia e cola as UUID, mas tenha cuidado, as UUID, são geradas entre aspas "" e, no fstab, não se usa as aspas "".
 
por Flávio Lima (anônimo) em 26 de agosto de 2008 às 11h32
Gostaria de saber se esta opção de UUID está disponível para versões anteriores de kernel, como a do Kurumin 7.
 
por kallikrates (anônimo) em 24 de agosto de 2008 às 07h56
Concordo que complica a configuração do fstab, principalmente para quem é mais iniciante e quer se aventurar na edição do arquivo fstab. Por outro lado, abra um terminal, digite como superusuário o comando #blkid apenas que ele descreve todos os UIDD de todas as partições que você já tem, e é só copiar e colar um bloco de notas, mandar imprimir para tê-las à mão para ajudar na hora da digitação.
 
por Carlos E. Morimoto em 9 de agosto de 2008 às 08h35
Alessandro, este recurso de montagem automática funciona assim:

Quando um pendrive ou qualquer outro novo dispositivo de armazenamento é plugado, ele é detectado pelo udev, que cria os devices de acesso e executa um script de configuração (que é criado pelos próprios desenvolvedores da distribuição), que adiciona as linhas correspondentes no fstab.

Em seguida, entram em cena o haldamon e o messagebus, dois serviços adicionais que enviam a mensagem a um componente do KDE ou Gnome, que se encarrega de criar um ícone no desktop, ou exibir uma mensagem avisando da modificação.

Dependendo da configuração e da versão do Kernel usada, tudo isso pode acontecer instantaneamente após plugar o dispositivo, ou demorar até 6 segundos.

Você pode ler mais sobre como isso funciona no Ferramentas Técnicas: http://www.gdhpress.com.br/ferramentas/leia/index.php?p=cap2-22
 
por alessandro_ufms (anônimo) em 9 de agosto de 2008 às 05h03
Opa, boa explicação, mas tenho uma dúvida a um pouco de tempo. Eu tenho tinha instalado na minha máquina o Ubuntu e percebi que no Gnome (não sei se em outros WMs acontece isso também) as partições que não estavam no fstab eram mostradas desmontadas no menu Locais e montadas quando clicava nelas. Pensei que era uma configuração automática do Ubuntu então nem me preocupei muito, porém vi que isso acontece com o Archlinux também só que uma vez montada não preciso mais montá-las no próximo boot. Onde que eu faço essas configurações, visto que estou com a minha partição de dados montada automaticamente no boot e ela não consta no fstab.

E quanto aos pendrives e outros dispositivos de armazenamento móveis?

Obrigado.
 
por Roberto Alves (anônimo) em 8 de agosto de 2008 às 16h53
Muito boa a dica. Sabia que era um identificador, mas nunca tinha entendido da onde vinham esses números.