PR

 誰かが一元管理していたり,重複をチェックする仕組みがないのに,世界でただ一つのIDを自由にいくらでも作って自分の機器を管理・識別するために使える--。そんな不思議なIDが「UUID」(universally unique identifier)です。日本語では「汎用一意識別子」などと訳しますが,実際にこちらを使うことはまずありません。

 UUIDは,なぜ勝手に作っても重複しないのでしょうか。それは,UUIDが機器の名前や時刻情報などを基に「十分大きなサイズかつランダムな数値」として生成される仕組みになっているからです。UUIDのサイズは16バイトで,256を16回掛けた数のバリエーションを作り出せます。これがどのくらいかというと,仮に毎秒数億個以上のスピードでUUIDを作ったとしても,人の一生どころか宇宙が誕生してから現在に至るまでの年月(約137億年)作り続けても重複などまずありえないほどです。実際のUUIDは,「UUID=6bffaf56-7af9-4d1a-a268-6195ca3c1de9」といった形式で表記されます。

 UbuntuやFedoraといった最近のLinuxディストリビューションの場合,このUUIDを,例えばハード・ディスクの個々のパーティションを識別するための情報として使っていたりします。従来,Linuxではハード・ディスクのパーティションを/dev/sda1,/dev/sda2といった具合に識別してきましたが,最近のLinuxディストリビューションの場合,これに加えてUUIDも併用するようになっています。

 ディスクの識別にUUIDを使うメリットは,システム構成の変化に柔軟に対応できるようになることです。/dev/sda1といった指定方法の場合,ディスクを増設したりBIOSの設定で認識順を変えたりすると,それに合わせてデバイス名も変わってしまう可能性があり,下手をするとLinuxが起動しなくなってしまう危険があります。UUIDでパーティションを指定しておけば,構成がどう変わろうとも関係なく起動させられます。

 なお,パーティションに割り当てられているUUIDは,「/etc/fstab」ファイルの中身を見れば確認できます。新たにUUIDを生成するには,「uuidgen」コマンドを使います。実際にuuidgenコマンドを連続して実行してみれば,絶対に重複しなさそうだということを実感できるでしょう。