Como listar TODOS os dispositivos HDD conectados de maneira amigável?

0

Como listar TODOS os dispositivos HDD conectados de maneira amigável ao script? Tudo - significa montado e não montado. Compatível com scripts - significa algo que eu posso usar para (u) montar no meu shell script com o mínimo de greping ou seding.

Minha tarefa é escrever um script que, na inicialização, descubra onde está o HDD (se estiver conectado) e monte-o. No meu script eu preciso de alguma maneira para obter lista de dispositivos disponíveis em / dev. Qual ferramenta devo usar no meu script?

Aqui estão as opções que considerei:

  • fdisk -l dá muito mais informação do que eu preciso - é um pouco difícil de analisar sua saída no shell
  • parted -l não lista partições não montadas e também elimina muitas informações extras
  • cat /proc/partitions melhor resultado, mas não lista partições não montadas

Qual ferramenta se encaixa melhor na minha tarefa?

Para esclarecer um pouco de onde eu venho, aqui está minha situação:

Em algum usuário de PC, conectará algum disco rígido via USB ou SATA. Então o usuário reinicia o PC. Eu não sei nada sobre o dispositivo HDD, só posso supor que ele tem uma partição com o sistema de arquivos ext4. O dispositivo pode aparecer como / dev / sda ou / dev / sdb. Eu tenho acesso su para o dispositivo e pode adicionar meu script para / etc / rc.local ou em qualquer outro lugar, mas eu tenho esse acesso somente antes de entregar o PC para o usuário.

    
por vladimir 03.03.2014 / 19:20

2 respostas

1

Talvez blkid , que fornece linhas no formato:

/dev/sdXX: UUID="<UUID>" TYPE="<fstype>"

Você também pode usar esses UUIDs em fstab : UUID="<UUID>" pode substituir o caminho do dispositivo /dev/sdXX .

    
por 03.03.2014 / 19:27
1

Em distros que possuem udisks

 udisks --enumerate-device-files | grep -v ^/dev/disk
    
por 04.03.2014 / 03:21