Verifique o tipo de sistema de arquivos de imagem de disco

1

Como posso verificar o formato do sistema de arquivos de uma imagem de disco?

Eu sei que posso verificar com o comando file, mas gostaria de automatizar o comportamento.

$ file img.raw
img.raw:   data

$ file img.ext4
img.raw:   Linux rev 1.0 ext4 filesystem data, UUID=346712e7-1a56-442b-a5bb-90ba4c6cc663 (extents) (64bit) (large files) (huge files)

$ file img.vfat
img.vfat:  DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 16, reserved sectors 16, root entries 512, Media descriptor 0xf8, sectors/FAT 256, sectors/track 32, heads 64, sectors 1024000 (volumes > 32 MB) , serial number 0x4b5e9a12, unlabeled, FAT (16 bit)

Gostaria de verificar se o disco de imagem fornecido está formatado para o formato indicado

Por exemplo, checkfs <image> <format> retorna 0 se a imagem contiver um sistema de arquivos 'format', outro valor diferente.

Eu pensei em fazer algo como file <image> | grep <format> e verificar código de retorno, no entanto, para sistemas de arquivos vfat, 'vfat' não está aparecendo em file output

Eu também poderia escrever um script para fazer isso, mas não consigo encontrar ferramentas que me permitam obter o formato do sistema de arquivos de uma imagem de disco.

Eu também tentei com as seguintes ferramentas: fdisk parted e df

Existe uma ferramenta que me permite verificar um formato de sistema de arquivos de imagem de disco e que funciona com o formato fs mais usado?

    
por Arkaik 17.04.2018 / 12:18

1 resposta

3

Finalmente encontrei o que eu precisava

  • blkid -o value -s TYPE <image> retornará o tipo fs ou nada se forem dados brutos.

EDITAR:

Como indicado por @psusi parted tem uma saída analisável por máquina. Eu acho menos conviniente do que usar blkid , mas também pode ser útil.

  • parted -m <image> print | tail -n +3 | awk -F ":" '{print $(NF-2)}' imprimirá o tipo fs de cada partição.

tail -n +3 é usado para pular as duas primeiras linhas
awk -F ":" '{print $(NF-2)}' é usado para obter o tipo fs que é o terceiro último elemento a partir do final

    
por 17.04.2018 / 13:52