Вход:  Пароль:  
FreeSource: IgorAndrosov/UUID ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Использование UUID


в fstab, lilo.conf и menu.lst (grub).
Для начала – что такое UUID – если очень просто – числовой код уникально идентифицирующий что-либо, в нашем случае это будут дисковые разделы, которые обычно принято (было?) именовать как sda1, hde5 и подобно.
Более подробно о UUID можно прочитать на Википедии на русском языке или Wikipedia на английском. Там же можно найти ссылки на спецификации, примеры и программы использующие UUID.


Ипользование UUID позволяет ссылаться на разделы дисков не используя номера дисков и разделов, в идеале UUID уникален у любого раздела, и остается постоянным на протяжении всего существования файловой системы на разделе, конечно если Вы не приложите свою руку. Номер диска/раздела может меняться в зависимости от того в какой разъем IDE/SATA вы вставите шлейф, менялась ли разбивка диска, или передавались ли определнные параметры grub (не уверен но было что-то очень похожее?).


  1. Пример 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


  1. Пример 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


  1. пример 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


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]