Entendendo o UUID no Linux

O UUID é um Identificador Único Universal com números de 128 bits, que têm a probabilidade de ter duplicatas próximas o suficiente de zero, mas não zero no sistema local. Foi originalmente usado no Networking Computing System e, posteriormente, padronizado pela Open Software Foundation.

O UUID é dividido em cinco grupos separados por hífens (-) consistindo em 8-4-4-4-12 caracteres em cada grupo. No total, é composto por 36 caracteres:

b32ba4a8-ff7a-4dad-99ab-6ae78906008a

No Linux, o UUID é usado para identificar exclusivamente as partições do disco, o que ajuda a montá-las corretamente, mesmo com vários no sistema. Cada vez que você instala o dispositivo de armazenamento em outro pinguim, não precisa se preocupar em atualizar o UUID da partição, pois ele permanece inalterado.

Localizar UUID da partição

Usando blkid

O blkid é o utilitário de linha de comando que exibe os atributos dos dispositivos de bloco disponíveis. Está pré-instalado na maioria das distribuições Linux. Você pode usar o seguinte comando para visualizar o UUID e outros atributos de todas as partições disponíveis.

$ sudo blkid

Usando ls

Você pode encontrar todas as partições e seus UUID em arquivos no sistema Linux, pois o Linux representa todos os dispositivos junto com os dispositivos de armazenamento como arquivos. Assim, você pode listar todas as partições e seus UUID usando o seguinte comando.

$ sudo ls -l /dev/disk/by-uuid

Usando lsblk

O comando lsblk também é usado para exibir detalhes sobre os dispositivos de bloco, exceto ram. Você pode usar o seguinte comando para visualizar o UUID da partição.

$ sudo lsblk -o NAME, PATH, TYPE, UUID

Gerando UUID usando o comando uuidgen

Você pode encontrar o comando uuidgen já instalado na maioria das distribuições Linux. Você pode gerar um único UUID usando o comando uuidgen. Para gerar o UUID execute o seguinte comando.

$ uuidgen

Também gera mais UUID de uma vez usando scripts de shell. Para gerar o UUID, execute o seguinte script de shell no shell.

$ for i in {1…5}; do uuidgen; done

Conclusão

Os Identificadores Universalmente Exclusivos são eficientes e confiáveis ​​para a identificação exclusiva do sistema e seus arquivos.

FONTE: aqui

5 curtidas

Aqui eu identifico partições com rótulo. Acho bem mais prático e fácil, como descrito neste artigo (item “como adicionar outros discos”):

É importante destacar que ferramentas GUI, como o Gnome Discos, podem exibir e gerenciar rótulos e UUIDs de forma bastante simples, sem ser necessário usar o terminal. :wink:

6 curtidas

creio que a utilidade da linha de comando, sem desmerecer as GUI é tornar o recurso universal, para qualquer distrto.

2 curtidas

Sim. Minha ideia ao comentar sobre a ferramenta GUI era fornecer uma segunda opção para quem não é muito fã do terminal, rs. Acho sempre importante ter opções para ambos os gostos. Isso também contribui para quebrar aquela velha imagem de que “para usar o Linux tem que ficar usando terminal para tudo”. :slight_smile:

No mais, eu sempre procuro trabalhar com rótulos ao invés de UUID. É bem mais fácil memorizar e localizar “HDD1” que “b32ba4a8-ff7a-4dad-99ab-6ae78906008a”.

Tenho uma questão:

Meu notebook possui um SSD alocado como disco principal. Eventualmente, adicionei o antigo HDD de 500 GB na posição do hardware de DVD.

Eu curto criptografar meu disco principal seguindo a automatização do Mint. Assim, posteriormente à instalação do sistema, eu crio duas partições de backup no HDD, que fica identificado, naturalmente, como /dev/sdb.

O problema é que: a cada reboot do meu notebook, as partições do HDD são alternadas aleatoriamente de posição. Portanto, a partição identificada como “backup-mint”, antes alocada como “/mnt/dm-3”, se alterna com a partição “backup2-mint”, passando a ser identificada como “mnt/dm-4” (detalhe: também crio as partições sob criptografia LUKS, mas essa alternância independe dela).

O problema é agravado quando utilizo uma distro com base Debian (visto que o meu Mint é a versão 21 Ubuntu-based). Nesse caso, os rótulos dos próprios discos se invertem (o SSD, antes identificado como “sda”, passa a ser identificado como “sdb”, invertendo com o HDD a cada reboot). Mas, enfim, uma coisa de cada vez: o problema, por hora, é na alternância aleatória das partições do HDD em uma distro baseada no Ubuntu.

Sabe como resolver? Alguma dica de referência para eu me aprofundar?

Olá @emosqueti, como vai?

Que saída você obtém no comando cat /etc/fstab?

Se tiver algo do tipo:

/dev/sdb1       /mnt/dm-3       [...]
/dev/sdb2       /mnt/dm-4       [...]

Onde sdb1 e sdb2 seriam as partições em seu HD, você pode pegar o UUID delas usando uma das dicas do @acvsilva:

Ou pode tentar pegar somente o UUID de cada uma com o comando:

sudo blkid | grep "sdb1" | awk '{print $2}' | sed 's/\"//g'

E, tendo o UUID das suas partições desejadas, modificar o seu /etc/fstab para montar as partições pelo UUID. Ficando algo como isso:

UUID=f4be7850-e4d6-4c50-a72b-36899ef4790d       /mnt/dm-3       [...]
UUID=018dfa7a-f2aa-4f3f-aead-a2ddbd59eead       /mnt/dm-4       [...]
1 curtida

Você pode configurar seguindo o item “Como adicionar outros discos (SSDs ou HDDs)?” do guia referente à Steam Flatpak que enviei anteriormente. O fato da partição estar ou não criptografada não altera o processo (você só precisará destrancar para configurar o rótulo e o ponto de montagem):

Conforme o exemplo acima, o disco de rótulo “HDD2” será sempre montado em /mnt/HDD2 quando for destrancado.

Quando você adiciona um rótulo a um disco, ele se torna uma coisa fixa, gravada no próprio disco. É bem prático. Com poucos cliques você resolve isso, sem precisar lidar com o terminal. :wink:

O “/dev/sdx” não é um rótulo, mas apenas um caminho para o disco (device). Isso não é fixo e por isso pode ocorrer a inversão ao reiniciar o computador (uma vez que a definição depende da velocidade de identificação de cada disco, que pode variar).