
Como listar TODOS os dispositivos HDD conectados de maneira amigável ao script? Todos - significa montado e não montado. Compatível com script - significa algo que posso usar para (u) montagem em meu script de shell com o mínimo de grep'ing ou sed'ing.
Minha tarefa é escrever algum script que, na inicialização, descubra onde está o HDD (se estiver conectado) e monte-o. No meu script, preciso obter uma lista de dispositivos disponíveis em/dev. Qual ferramenta devo usar no meu script?
Aqui estão as opções que considerei:
fdisk -l
fornece muito mais informações do que preciso - é um pouco difícil analisar sua saída no shellparted -l
não lista partições não montadas e também fornece muitas informações extrascat /proc/partitions
melhor resultado, mas não lista partições não montadas
Qual ferramenta se adapta melhor à minha tarefa?
Para esclarecer um pouco de onde venho, aqui está minha situação:
Em alguns usuários de PC conectará algum HDD via USB ou SATA. Então o usuário reinicia o PC. Não sei nada sobre o dispositivo HDD, só posso assumir que ele possui uma partição com sistema de arquivos ext4. O dispositivo pode aparecer como /dev/sda ou /dev/sdb. Tenho acesso su ao dispositivo e posso adicionar meu script a /etc/rc.local ou em qualquer outro lugar, mas só tenho esse acesso antes de entregar o PC ao usuário.
Responder1
Talvez blkid
o que dê linhas da forma:
/dev/sdXX: UUID="<UUID>" TYPE="<fstype>"
Além disso, você pode usar esses UUIDs em fstab
: UUID="<UUID>"
pode substituir o caminho do dispositivo /dev/sdXX
.
Responder2
Em distros que possuem udisks
udisks --enumerate-device-files | grep -v ^/dev/disk