Linha de Comando em Linux: blkid

Descrição de blkid

O comando blkid é uma abreviação para block identification ou, em português, identificação de bloco(ou dispositivos de bloco/block devices).

No post anterior falamos mais ou menos sobre blocos. Mas para resumi, sabemos que HDs, SSDs, DVDs, CDs etc.. são block devices.

No lugar de blkid é recomendado usar outras ferramenta como “lsblk -f”  ou “findmnt”. Por quê?

lsblk

  • Disponibiliza mais informações.
  • Temos um controle melhor da forma como o texto/resultado aparece na tela
  • é mais fácil de ser usado em scripts
  • não requer privilégio root para exibir informações já atualizadas

blkid

  • Ler informações diretamente do dispositivo e para usuários comuns, sem permissões, retorna apenas resultados que já estavam armazenados em cache/memória
  • blkid é mais destinada para testar a funcionalidade da biblioteca
  • blkid tem seu uso mais direcionado a serviços do sistemas e para testar a funcionalidade da biblioteca libblkid.

Obs.: Apensar das recomendações acima, particularmente, gosto muito de usar blkid 🙂

 

Opções de blkid

 

  • -g ou –garbage-collect = realiza uma limpeza do cache para excluir dispositivos que não existem mais.
  • -i ou –info = Exibe informações sobre limites de leitura e escrita. O termo leitura e escrita geralmente é representado como I/O ou Inpunt/Output
  • -k ou –list-filesystems = Exibe todos os Tipos de Sistemas de Arquivos e RAID.
  • -n ou –match-types = Sonda/busca apenas Dispositivos de acordo com o tipo que especificamos aqui. É útil apenas quando usado com “–probe”. Exemplo: blkid –probe –match-types vfat,ext3,ext4 /dev/sda1
  • -o ou –output = o resultado exibido na tela irá ser de acordo com o valor que inserirmos para –output. Exemplo:  “blkid -o list”  Exibirá o resultado de blkid de forma bem mais legível ou de fácil leitura. Os valores que “blkid –output” pode receber são:
    – full
    – value
    – list
    – device
    – udev
    – export
  • -p ou –probe = faz uma leitura de baixo-nível não lendo o cache mas sim, diretamente, os dispositivos.
  • -U ou –uuid = exibe o dispositivo que tem o uuid especificado. Exemplo, “sudo blkid -U 060e460d-9ae2-41ac-bb4f-473c8438c0ba”

 

Praticando com blkid

 

  1. Exibindo o resultado de forma mais amigável
    elder@ubuntu:~$ sudo blkid -o list
    device                fs_type   label      mount point               UUID
    ---------------------------------------------------------------------------------------------------------
    /dev/sda1             ext4      hdPrincipal /                        060e460d-9ae2-41ac-bb4f-473c8438c0ba
    /dev/sdb1             ext4                 /home/elder/Backups       520c9a6d-58aa-4a81-afd2-4fb40c12a63e
    /dev/sdb2                                  (não montado)            
    /dev/sdc1             ext4                 /home/elder/CoisaAntiga   24970a98-37a0-49e9-bd5e-c784bb8c107c
    
  2. Usando blkid sem sudo.  Isso retornará apenas o que tiver armazenado em cache
    elder@ubuntu:~$ blkid
    /dev/sda1: LABEL="hdPrincipal" UUID="060e460d-9ae2-41ac-bb4f-473c8438c0ba" TYPE="ext4" PARTUUID="3f4e49e0-01"
    /dev/sdb1: UUID="520c9a6d-58aa-4a81-afd2-4fb40c12a63e" TYPE="ext4" PARTUUID="8a3102fb-01"
    /dev/sdc1: UUID="24970a98-37a0-49e9-bd5e-c784bb8c107c" TYPE="ext4" PARTUUID="3dc64e3a-01"
  3. Usando blkid  com sudo
    elder@ubuntu:~$ sudo blkid
    /dev/sda1: LABEL="hdPrincipal" UUID="060e460d-9ae2-41ac-bb4f-473c8438c0ba" TYPE="ext4" PARTUUID="3f4e49e0-01"
    /dev/sdb1: UUID="520c9a6d-58aa-4a81-afd2-4fb40c12a63e" TYPE="ext4" PARTUUID="8a3102fb-01"
    /dev/sdc1: UUID="24970a98-37a0-49e9-bd5e-c784bb8c107c" TYPE="ext4" PARTUUID="3dc64e3a-01"
    /dev/sdb2: PARTUUID="8a3102fb-02"

    Trouxe informações que não estavam no passo acima.

  4. Trazendo para a tela informações sobre topologia de leitura e escrita
    elder@ubuntu:~$ sudo blkid --probe  -i  /dev/sdb1
    /dev/sdb1: UUID="520c9a6d-58aa-4a81-afd2-4fb40c12a63e" VERSION="1.0"
     TYPE="ext4" USAGE="filesystem" MINIMUM_IO_SIZE="512" 
    PHYSICAL_SECTOR_SIZE="512" LOGICAL_SECTOR_SIZE="512" 
    PART_ENTRY_SCHEME="dos" PART_ENTRY_UUID="8a3102fb-01" 
    PART_ENTRY_TYPE="0x83" PART_ENTRY_NUMBER="1" PART_ENTRY_OFFSET="2048"
     PART_ENTRY_SIZE="51200" PART_ENTRY_DISK="8:16"
  5. Exibindo os sistemas arquivos
    elder@ubuntu:~$ sudo blkid -k  
    linux_raid_member
    swap
    xfs
    xfs_external_log
    exfs
    ext4dev
    ext4
    ext3
    ext2
    jbd
    reiserfs
    reiser4
    nss
    btrfs
    ubifs
    bfs
    VMFS
    befs
    nilfs2
    exfat
    f2fs

    Obs.: O valor acima foi resumido.

  6. Mostrando apenas os dispositivos
    elder@ubuntu:~$ sudo blkid -o device  
    /dev/sda1
    /dev/sdb1
    /dev/sdc1
    /dev/sdb2
    
  7. Exibindo valores de forma que facilite  a importação  para dentro do ambiente udev
    elder@ubuntu:~$ sudo blkid -o udev
    ID_FS_LABEL=hdPrincipal
    ID_FS_LABEL_ENC=hdPrincipal
    ID_FS_UUID=060e460d-9ae2-41ac-bb4f-473c8438c0ba
    ID_FS_UUID_ENC=060e460d-9ae2-41ac-bb4f-473c8438c0ba
    ID_FS_TYPE=ext4
    ID_FS_PARTUUID=3f4e49e0-01
    
    ID_FS_UUID=520c9a6d-58aa-4a81-afd2-4fb40c12a63e
    ID_FS_UUID_ENC=520c9a6d-58aa-4a81-afd2-4fb40c12a63e
    ID_FS_TYPE=ext4
    ID_FS_PARTUUID=8a3102fb-01
    
    ID_FS_UUID=24970a98-37a0-49e9-bd5e-c784bb8c107c
    ID_FS_UUID_ENC=24970a98-37a0-49e9-bd5e-c784bb8c107c
    ID_FS_TYPE=ext4
    ID_FS_PARTUUID=3dc64e3a-01
    
    ID_FS_PARTUUID=8a3102fb-02
  8. Se quiser pegar  valores e usar no sistema ou em scripts, use o comando abaixo
    elder@ubuntu:~$ sudo blkid -o export
    DEVNAME=/dev/sda1
    LABEL=hdPrincipal
    UUID=060e460d-9ae2-41ac-bb4f-473c8438c0ba
    TYPE=ext4
    PARTUUID=3f4e49e0-01
    
    DEVNAME=/dev/sdb1
    UUID=520c9a6d-58aa-4a81-afd2-4fb40c12a63e
    TYPE=ext4
    PARTUUID=8a3102fb-01
    
    DEVNAME=/dev/sdc1
    UUID=24970a98-37a0-49e9-bd5e-c784bb8c107c
    TYPE=ext4
    PARTUUID=3dc64e3a-01
    
    DEVNAME=/dev/sdb2
    PARTUUID=8a3102fb-02
  9. Mostre o dispositivo que é identificado pelo UUID  520c9a6d-58aa-4a81-afd2-4fb40c12a63e
    elder@ubuntu:~$ sudo blkid -U 520c9a6d-58aa-4a81-afd2-4fb40c12a63e
    /dev/sdb1
  10. Remover dispositivos do cache que não mais existem
    elder@ubuntu:~$ sudo blkid -g
    

Conclusão

Como mencionado acima, é recomendado usar o comando “lsblk -f” ao no lugar de blkid. Mas não podemos negar que alguns resultados de blkid são bem legais. Em contra partida, algumas informações são um tanto quanto obscuras. Mas sempre uso “sudo blkid -o list”.

 

 

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *