Come posso ottenere l'UUID di un volume che contiene il / filesystem?
La cosa migliore che ho trovato fino ad oggi è blkid -o list . Ma questo output è leggibile dall'uomo e difficile da analizzare. Forse c'è un modo migliore?
Ne ho bisogno per parametrizzare la gestione della configurazione con modelli specifici del sistema.
NOTA su blkid gotcha per coloro che potrebbero riutilizzare i risultati della mia domanda in futuro:blkid memorizza nella cache i risultati delle esecuzioni precedenti in /etc/blkid.tab . Ciò significa che è in esecuzione blkid come utente non root la prima volta non restituirà alcun dato. Inoltre, eseguendo blkid poiché l'utente non root dopo l'esecuzione di root restituirà dati obsoleti (probabilmente errati).
Risposta accettata:
Usa findmnt :
$ findmnt /
TARGET SOURCE FSTYPE OPTIONS
/ /dev/md127p1 ext4 rw,relatime,stripe=256,data=ordered
$ findmnt / -o UUID
UUID
046a554b-d9f5-4b23-82e6-ffaeb98284aa
$ findmnt / -o UUID -n
046a554b-d9f5-4b23-82e6-ffaeb98284aa
Ha anche diverse opzioni per controllare come cerca le informazioni e come le presenta (incluso l'output JSON!). Fa parte del mount pacchetto, quindi disponibile su qualsiasi installazione di Ubuntu.