Использование UUID
в fstab, lilo.conf и menu.lst (grub).
Для начала – что такое UUID – если очень просто – числовой код уникально идентифицирующий что-либо, в нашем случае это будут дисковые разделы, которые обычно принято (было?) именовать как sda1, hde5 и подобно.
Более подробно о UUID можно прочитать на
Википедии на русском языке или
Wikipedia на английском. Там же можно найти ссылки на спецификации, примеры и программы использующие UUID.
Ипользование UUID позволяет ссылаться на разделы дисков не используя номера дисков и разделов, в идеале UUID уникален у любого раздела, и остается постоянным на протяжении всего существования файловой системы на разделе, конечно если Вы не приложите свою руку. Номер диска/раздела может меняться в зависимости от того в какой разъем IDE/SATA вы вставите шлейф, менялась ли разбивка диска, или передавались ли определнные параметры grub
(не уверен но было что-то очень похожее?) .
Пример lilo.conf
boot=/dev/sda map=/boot/map install=/boot/boot.b vga=788 default=linux-up prompt timeout=150 message="/boot/splash/message" disk=/dev/sda bios=0x80 image="/boot/vmlinuz-up" label=linux-up root="UUID=aad39cd0-c04e-11db-8f38-a1e45a05fc1e" initrd=/boot/initrd-up.img read-only vga=791 append=" splash=silent" image="/boot/vmlinuz-up" label=failsafe root="UUID=aad39cd0-c04e-11db-8f38-a1e45a05fc1e" initrd=/boot/initrd-up.img vga=normal append=" failsafe noapic nolapic acpi=off" read-only
Пример menu.lst для grub
timeout 5 gfxmenu (hd0,2)/boot/splash/message default 2 title linux-up kernel (hd0,2)/boot/vmlinuz root=UUID=aad39cd0-c04e-11db-8f38-a1e45a05fc1e vga=788 initrd (hd0,2)/boot/initrd.img title failsafe kernel (hd0,2)/boot/vmlinuz-up root=UUID=aad39cd0-c04e-11db-8f38-a1e45a05fc1e failsafe noapic nolapic acpi=off initrd (hd0,2)/boot/initrd-up.img
пример fstab
UUID=aad39cd0-c04e-11db-8f38-a1e45a05fc1e / xfs defaults 1 1 proc /proc proc nosuid,noexec,gid=proc 0 0 devpts /dev/pts devpts nosuid,noexec,gid=tty,mode=620 0 0 tmpfs /tmp tmpfs nosuid 0 0 UUID=0e2f3803-3fc0-442a-80ac-0e38944f6c25 /home ext3 defaults 1 2
О том как получить существющий UUID для файловых систем.
самый простой способ используя утилиту
blkid входящую в пакет e2fsprogs с версии 1.26.
[root@storm-lin tmp]# blkid /dev/sda1: TYPE="swap" UUID="75254716-bc7d-11db-9b05-85344fc928b7" /dev/sda3: UUID="aad39cd0-c04e-11db-8f38-a1e45a05fc1e" TYPE="xfs" /dev/sda6: UUID="0e2f3803-3fc0-442a-80ac-0e38944f6c25" SEC_TYPE="ext2" TYPE="ext3"
как видите выводятся имена разделов, их типы и нужные нам UUID-ы.
существуют и другие способы получить UUID
например для ext2 используя dumpe2fs
[root@storm-lin tmp]# dumpe2fs -h /dev/sda6 dumpe2fs 1.40.4 (31-Dec-2007) Filesystem volume name: <none> Last mounted on: <not available> Filesystem UUID: 0e2f3803-3fc0-442a-80ac-0e38944f6c25 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal filetype needs_recovery sparse_super large_file Default mount options: acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 8810752 Block count: 17731735 Reserved block count: 709269 Free blocks: 2580929 Free inodes: 8016762 First block: 0 Block size: 4096 Fragment size: 4096 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 16256 Inode blocks per group: 508 Filesystem created: Mon Jun 13 14:59:41 2005 Last mount time: Tue Jan 22 02:33:49 2008 Last write time: Tue Jan 22 02:33:49 2008 Mount count: 2 Maximum mount count: 31 Last checked: Mon Jan 21 07:49:23 2008 Check interval: 15552000 (6 months) Next check after: Sat Jul 19 08:49:23 2008 Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 128 Journal inode: 8 Default directory hash: tea Directory Hash Seed: 7f1c1b40-a005-4a39-bee3-a0d86ab10202 Journal backup: inode blocks Journal size: 32M
UUID выведен в четвертой строке, а за компанию еще и немного интересных свойств .
для XFS можно получить UUID с помощью xfs_db -r -c uuid
[root@storm-lin tmp]# xfs_db -r -c uuid /dev/sda3 UUID = aad39cd0-c04e-11db-8f38-a1e45a05fc1e
Существуют и другие способы получить UUID. Если кто допишет буду благодарен.
Страницы, ссылающиеся на данную:
IgorAndrosov