Debian lennyのfstabを見ると
/dev/sda1 / ext3 errors=remount-ro 0 1
みたいに/dev/sda1とかでデバイスが指定されてるのだけど、UbuntuとかDebianでもsqueezeあたりだと
UUID=04a6ba33-73ff-4f9f-a09b-199a83f73dd6 / ext4 errors=remount-ro 0 1
みたいにUUID=...という感じでデバイスが指定されてる。
外付けUSBでHDD付けまくってるときやSATAをホットスワップで挿しまくってるときに/dev/sda1みたいな指定方法でmountしてると、へんな電波受信してひとりでに再起動したときや人間の手で故意に再起動されたときにデバイスの認識順が再起動前とちがうくて、前は/dev/sda1だったものが/dev/sdb1や/dev/sdc1になりかねないので、デバイスのUUIDを調べたくなった。
最初調べたときにvol_idというコマンドでUUIDがわかるって書いてあったのにDebianにもUbuntuにもそんなコマンドなくて驚愕したけど
ls -l /dev/disk/by-uuid/ | grep sda1
とか
sudo tune2fs -l /dev/sda1 | grep UUID
とか
sudo blkid /dev/sda1
とか、あらゆる方法でUUIDを調べることができるのであった。
追記
ブコメでid:hirose31さんにパーティションにラベルつける技を教えてもらいました!
sudo tune2fs -L usbmem1 /dev/sda1
でラベルつけて
sudo tune2fs -l /dev/sda1 | grep 'volume name'
とか
ls -l /dev/disk/by-label/ | grep sda1
とかで確認できます。
fstabにはLABEL=usbmem1と書けるのでヒューマンリーダブルで最強ですね!