|
Size: 13177
Comment:
|
Size: 14151
Comment: sync with English version
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| ## page was renamed from ru/UUID | ## page was renamed from UUID |
| Line 3: | Line 3: |
| ||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[Part-UUID|English]] - Русский -~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Discussion]]|| '''UUID (Universally Unique Identifier)''' — это стандарт идентификации, используемый в создании программного обеспечения, стандартизированный Open Software Foundation как часть распределенного компьютерного окружения. Основное назначение UUID — это позволить распределенным системам уникально идентифицировать информацию без центра координации. |
~-Translation(s): [[Part-UUID|English]] - [[it/Part-UUID|Italiano]] - Русский-~ |
| Line 9: | Line 7: |
| == Настройка fstab == ---- Для просмотра вновь созданных и пока не включенных в fstab (скажем, sda6 или sdb7) разделов, или любых других доступных для монтирования разделов жесткого диска выполните как обычный пользователь в консоли: {{{ ls -l /dev/disk/by-uuid }}} Вывод команды будет похож на приведенный ниже (выделение толстым шрифтом исключительно для примера):{{{ lrwxrwxrwx 1 root root 10 2007-05-27 23:42 348ea9e6-7879-4332-8d7a-915507574a80 -> ../../sda4 lrwxrwxrwx 1 root root 10 2007-05-27 23:42 610aaaeb-a65e-4269-9714-b26a1388a106 -> ../../sda2 lrwxrwxrwx 1 root root 10 2007-05-27 23:42 857c5e63-c9be-4080-b4c2-72d606435051 -> ../../sda5 lrwxrwxrwx 1 root root 10 2007-05-27 23:42 a83b8ede-a9df-4df6-bfc7-02b8b7a5f1f2 -> ../../sda1 lrwxrwxrwx 1 root root 10 2007-05-27 23:42 ad662d33-6934-459c-a128-bdf0393e0f44 -> ../../sda6 }}} |
== Обзор: UUID, метка раздела и fstab == |
| Line 22: | Line 9: |
| В этом примере строка, содержащая '''ad662d33-6934-459c-a128-bdf0393e0f44''' отсутствует в fstab. Следующим шагом станет добавление соответствующей данному UUID строки в файл /etc/fstab. Для этого подойдет любой текстовый редактор (такой как kate или kwrite), запущенный от имени суперпользователя root:{{{ # <device file system> <mount point> <type> <options> <dump> <pass> UUID=ad662d33-6934-459c-a128-bdf0393e0f44 /media/sda6 ext3 auto,users,exec 0 2 }}} Замечание: Не забудьте создать папки, указанные в fstab. == Обзор: UUID, метка раздела и fstab == ---- Длинные имена (persistent naming) в обозначении блочных устройств стали возможным с появлением udev и предоставляют несколько преимуществ по сравнению с наименованиями на базе Bus. В дальнейшем подразумевая этот способ обозначения мы будем использовать термин "длинное наименование". |
Постоянные именования (persistent naming) в обозначении блочных устройств стали возможным с появлением [[udev]] и предоставляют несколько преимуществ по сравнению с наименованиями на базе Bus таких как `/dev/hda1` или `/dev/sda2`. |
| Line 34: | Line 12: |
| 1. Порядок подключения при наличии более чем одного контроллера SATA/SCSI или простых контроллеров IDE становится случайным. Как следствие имена одного и того же устройств вида hdx/hdy или sdx/sdy случайно чередуются после каждой загрузки.Использование постоянных именований позволяет больше не беспокоиться об этом. 1. Для машин с контролёрами IDE (включая, например, машины со всеми жёсткими дисками SATA и только одним IDE cdrom), переход на стандартное ядро Squeeze может вызвать проблемы: с введением поддержки новой libata PATA, устройство IDE `hdX` станет устройством `sdX`. Опять же, если используется постоянное именование, этого даже не будет заметно. (postinst для пакета `linux-base` содержит код помогающий с переходом, но сначала имеет смысл получить представление и заранее понять как это работает.) 1. На больших машинах, с большим количеством CPU и Fiber Channel Host Bus Adapters, FC коммутаторами с переменной нагрузкой/задержкой, контролёрами SCSI, и/или высокопроизводительными сетевыми картами, могут возникнуть проблемы с синхронизацией при работе с `udev` и многолучевым I/O, из за почти непредсказуемого порядка определения устройств и автоматического назначения имен в процессе загрузки. |
|
| Line 35: | Line 16: |
| 1. Порядок подключения при наличии более чем одного контроллера SATA/SCSI или простых контроллеров IDE становится случайным. Как следствие имена одного и того же устройств вида hdx/hdy или sdx/sdy случайно чередуются после каждой загрузки.Использование "длинных наименований" позволяет больше не беспокоиться об этом. | Существуют и другие причины. Но перечисленные - наиболее важны как в настоящий время, так и в ближайшем будущем. Поэтому Debian рекомендует использование схемы наименования блочных устройств с постоянными именами. |
| Line 37: | Line 18: |
| 1. С внедрением новой библиотеки libata и поддержкой PATA все блочные устройства, до сих пор именовавшиеся как hdx, в будущем будут называться sdX. Использование "длинных наименований" и в этом случае избавляет пользователя от беспокойства. | == Схемы для постоянных наименований == |
| Line 39: | Line 20: |
| 1. Ныне широко распространено одновременное использование контроллеров SATA-и IDE типа. Благодаря использованию libata в этом случае все жесткие диски, независимо от типа контроллера, получают имена вида sdX . | === Посредством UUIDs === |
| Line 41: | Line 22: |
| По вышеназванным причинам по умолчанию Debian использует UUID в/etc/fstab. Существуют и другие причины. Но перечисленные - наиболее критичны как в настоящий момент , так и в ближайшем будущем. Поэтому Debian рекомендует использование схемы наименования блочных устройств с длинными именами. == Схемы для "длинных наименований" == ---- === Посредством UUID === UUID (сокращение от "Universally Unique Identifier") является механизмом присвоения уникальных обозначений различным устройствам. Уникальность каждого конкретного обозначения обусловлена крайне низкой вероятностью коллизий(совпадения имен). Все файловые системы Linux включая swap, поддерживают UUID. Хотя FAT-и файловая система NTFS не поддерживают UUID, для них также возможно создание уникального обозначения в стиле "uuid": {{{ $ /bin/ls -lF /dev/disk/by-uuid/ }}} |
UUID является механизмом присвоения уникальных обозначений каждой файловой системе. Все файловые системы Linux включая swap, поддерживают UUID; файловые системы FAT и NTFS не поддерживают верный UUID, но перечислены в `/dev/disk/by-uuid` с уникальным идентификатором: |
| Line 54: | Line 24: |
| $ ls -l /dev/disk/by-uuid/ | |
| Line 64: | Line 35: |
| Как видите, разделы с fat и ntfs имеют короткие имена (sda6 and sdb1), но всё равно показаны в uuid. | Как видите, разделы файловыми системами FAT и NTSF имеют короткие имена (`sda6` и `sdb1`), но всё равно показаны в uuid. The point of the 32-digit base-62 strings is to make collisions astronomically unlikely; if it happened that `sda1` and `sda2` had the same UUID the system would fail to boot. |
| Line 66: | Line 37: |
| === Посредством МЕТКИ (LABEL) === | === Посредством Labels === |
| Line 68: | Line 39: |
| Практически каждый тип файловой системы может иметь метку. Разделы с меткой находят в каталоге /dev/disk/by-label:{{{ $ ls -lF /dev/disk/by-label }}} |
Практически каждый тип файловой системы может иметь метку. Разделы с меткой находят в каталоге `/dev/disk/by-label`: |
| Line 72: | Line 41: |
| total 0 | $ ls -l /dev/disk/by-label |
| Line 81: | Line 50: |
| Так как в качестве меток используются повторяющиеся имена, вам надо быть предельно внимательным, чтобы избежать путаницы; consider the possibility that you might have random USB/firewire drives plugged in at reboot. | |
| Line 82: | Line 52: |
| Так как в качестве меток используются повторяющиеся имена, вам надо быть предельно внимательным, чтобы избежать путаницы. | Обозначение метки может изменяться следующими командами: |
| Line 84: | Line 54: |
| Обозначение метки может изменяться следующими командами:{{{ * swap: mkswap -L <label> /dev/XXX * ext2/ext3: e2label /dev/XXX <label> * reiserfs: reiserfstune -l <label> /dev/XXX * jfs: jfs_tune -L <label> /dev/XXX * xfs: xfs_admin -L <label> /dev/XXX * fat/vfat: хотя изменение метки FAT раздела под Linux невозможно, но создание метки допустимо при создании файловой системы: mkdosfs -n <label> <дальнейшие опции>. Изменение метки FAT разделов может быть проведено в Windows. * ntfs: ntfslabel /dev/XXX <label> изменение метки в Windows. |
|| '''Type''' || '''Command''' || '''Notes''' || || EXT3: || `e2label /dev/XXX <label>` || also applies to EXT2/EXT4 || || FAT/VFAT: || `dosfslabel /dev/XXX <label>` || bug #506786 in Lenny; or `mlabel` in `mtools` || || JFS: || `jfs_tune -L <label> /dev/XXX` || || || NTFS: || ntfslabel /dev/XXX <label> || or change it under Windows || || ReiserFS: || `reiserfstune -l <label> /dev/XXX` || || || swap: || `mkswap -L <label> /dev/XXX` || but see below on `swapoff`/`swapon` procedure || || XFS: || `xfs_admin -L <label> /dev/XXX` || || === Посредством Hardware ID === `by-id` создает уникальное имя на основе апаратного серийного номера. Они предназначены чтобы быть неизменными для данной аппаратной конфигурации. {{{ # ls -l /dev/disk/by-id/ total 0 lrwxrwxrwx 1 root root 10 2010-10-20 13:52 dm-name-grupo1-lvstripe1 -> ../../dm-8 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath0 -> ../../dm-0 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath1 -> ../../dm-1 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath2 -> ../../dm-2 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath3 -> ../../dm-3 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath4 -> ../../dm-4 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath5 -> ../../dm-5 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath6 -> ../../dm-6 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath7 -> ../../dm-7 lrwxrwxrwx 1 root root 10 2010-10-20 13:52 dm-uuid-LVM-OaDwNcuwdzuuZYAcrbeKNdYsE237BKX2YIEdUN5CsSgeU7WNn5dhtiQPBP9uHU25 -> ../../dm-8 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000c -> ../../dm-0 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000d -> ../../dm-1 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000e -> ../../dm-2 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000f -> ../../dm-3 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000112 -> ../../dm-4 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000113 -> ../../dm-5 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000114 -> ../../dm-6 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000115 -> ../../dm-7 lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c -> ../../sda lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c-part1 -> ../../sda1 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c-part2 -> ../../sda2 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c-part3 -> ../../sda3 lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000c -> ../../sdr lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000d -> ../../sdc lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000e -> ../../sdab lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000f -> ../../sdu lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000112 -> ../../sdn lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000113 -> ../../sdo lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000114 -> ../../sdp lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000115 -> ../../sdag lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath0 -> ../../dm-0 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath1 -> ../../dm-1 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath2 -> ../../dm-2 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath3 -> ../../dm-3 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath4 -> ../../dm-4 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath5 -> ../../dm-5 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath6 -> ../../dm-6 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath7 -> ../../dm-7 |
| Line 95: | Line 110: |
| ВНИМАНИЕ: Чтобы не возникло проблем, метки должны иметь уникальное обозначение. Это относится и к внешним устройствам (жесткие диски, Sticks, и т.д.), которые включаются через USB или FIrewire. Синтаксис LABEL =/UUID = для разделов UN*X предпочтительнее, чем /dev/disk/by-*/. | === Посредством sysfs Paths === |
| Line 97: | Line 112: |
| === Посредством ID === | `by-path` создает единственное обозначение на основе самого короткого физического пути (по sysfs). Оба вышеупомянутых метода содержат строки символов, которые снимают показания, к какой подсистеме они принадлежат, и таким образом не подходят, для решения выше упомянутых проблем и здесь в дальнейшем не обсуждаются. |
| Line 99: | Line 114: |
| Метод by-id создает единственное обозначение на основе серийного номера аппаратных средств. | == Подготовка для постоянных именований == |
| Line 101: | Line 116: |
| === Посредством Path === | Для просмотра вновь созданных, или любых других доступных для монтирования разделов жесткого диска выполните: {{{ $ ls -lR /dev/disk }}} также есть более удобная команда `blkid` (которая находится в `/sbin`, но не требует привилегий root) дающая более удобный вывод: {{{ $ /sbin/blkid /dev/sda1: LABEL=Root UUID="87f2b245-6ab3-4021-bf07-d069b4d387a1" TYPE="ext3" /dev/sda2: TYPE="swap" /dev/sda3: LABEL=Home UUID="a6f7a63f-71ac-4361-b49a-39d62b06f18a" TYPE="ext3" }}} Как видно, раздел swap здесь не имеет UUID или label; инсталлер Debian Lenny использует версию `partman` которая не делает раздел swap. Тем не менее, разделу подкачки может быть дано "постоянное имя" через `mkswap`. |
| Line 103: | Line 129: |
| by-path создает единственное обозначение на основе самого короткого физического пути (по sysfs). | === Назначение постоянных имен для раздела Swap === |
| Line 105: | Line 131: |
| Оба вышеупомянутых метода содержат строки символов, которые снимают показания, к какой подсистеме они принадлежат, и таким образом не подходят, для решения выше упомянутых проблем и здесь в дальнейшем не обсуждаются. | First, make quite sure you've correctly identified the swap partition (see `/proc/swaps`)! Then (as root) safely deactivate the current swap, reinitialise it (optionally adding a label), and reactivate it: {{{ # swapoff /dev/sda2 # mkswap -L Swap /dev/sda2 Setting up swapspace version 1, size = 1998737 kB LABEL=Swap, UUID=7cdfeb21-613b-4588-abb5-9d4049854e9a # swapon /dev/sda2 }}} You can verify the results as a normal user: {{{ $ /sbin/blkid /dev/sda1: LABEL=Root UUID="87f2b245-6ab3-4021-bf07-d069b4d387a1" TYPE="ext3" /dev/sda2: LABEL=Swap UUID="7cdfeb21-613b-4588-abb5-9d4049854e9a" TYPE="swap" /dev/sda3: LABEL=Home UUID="a6f7a63f-71ac-4361-b49a-39d62b06f18a" TYPE="ext3" $ free total used free shared buffers cached Mem: 33017956 298700 32719256 0 17060 148668 -/+ buffers/cache: 132972 32884984 Swap: 1951888 0 1951888 }}} |
| Line 107: | Line 152: |
| == Использование длинных наименований == ---- Здесь пример включения длинных наименований в fstab. |
== Использование постоянных именований == Having chosen which naming method you'd like to use, let's now enable persistent naming for your system: |
| Line 113: | Line 158: |
| Включение в /etc/fstab достаточно просто. Имя устройства в первом столбце заменяется на длинное наименование. В нашем примере /dev/sda7 заменяется одним из двух вариантов:{{{ /dev/disk/by-label/home или /dev/disk/by-uuid/31f8eb0d-612b-4805-835e-0e6d8b8c5591 |
Включение постоянных имён в `/etc/fstab` легко; для каждой файловой системы в файле fstab нужно заменить имя устройства в первом столбце (где указано что-то вроде `/dev/sda7`) на постоянное имя. This can be achieved by substituting in the appropriate path under `/dev/disk`, such as: {{{ /dev/disk/by-label/home }}} or {{{ /dev/disk/by-uuid/31f8eb0d-612b-4805-835e-0e6d8b8c5591 |
| Line 118: | Line 167: |
| Тоже самое повторяется для всех разделов в fstab. Вместо использования непосредственно длинного имени, для обозначения подключаемого накопителя, можно использовать его UUID или метку: LABEL=<label> или UUID=<uuid>. Например:{{{ LABEL=Boot |
However, instead of giving an explicit /dev/disk path, the method usually recommended is to indicate how the filesystem is to be mounted by writing `LABEL=<label>` or `UUID=<uuid>` - for example: {{{ LABEL=home |
| Line 123: | Line 171: |
или{{{ UUID=3e6be9de-8139-11d1-9106-a43f08d823a6 |
or {{{ UUID=31f8eb0d-612b-4805-835e-0e6d8b8c5591 |
| Line 127: | Line 175: |
=== Использование длинных имен в менеджере загрузки === Чтобы использовать длинные наименования в диспетчере начальной загрузки необходимы следующие шаги: 1. Использование mkinitcpio initramfs image 1. Udev активирован в: /etc/mkinitcpio.conf 1. при создании initramfs image необходимо использовать klibc-udev версии 101-3 или выше (persistent naming является в предыдущих версиях не дееспособным). Если klibc-udev обновлен на новую версию и желательно использование длинных наименований, то генерация initramfs-image осуществляется до перезагрузки. В вышеупомянутом примере /dev/sda1 является root разделом. Замена строка ядра в файле /boot/grub/menu.lst выглядит (в зависимости от выбора схем наименования) следующим образом:{{{ kernel /boot/vmlinuz26 root=/dev/sda1 vga=0x318 ro }}} модифицирована в{{{ kernel /boot/vmlinuz26 root=/dev/disk/by-label/root vga=0x318 ro }}} или{{{ kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/2d781b26-0285-421a-b9d0-d4a0d3b55680 vga=0x318 ro }}} Альтернативный метод такой: присвоить метку файловой системе. Если, например, файловая система /dev/sda1 имеет метку (Label) "root", то строка ядра в /boot/grub/menu.lst выглядела бы следующим образом:{{{ kernel /boot/vmlinuz26 root=LABEL=root vga=0x318 ro }}} |
Translation(s): English - Italiano - Русский
Contents
Обзор: UUID, метка раздела и fstab
Постоянные именования (persistent naming) в обозначении блочных устройств стали возможным с появлением udev и предоставляют несколько преимуществ по сравнению с наименованиями на базе Bus таких как /dev/hda1 или /dev/sda2.
Развитие Linux дистрибутивов и udev сделало более надежным опознавание аппаратных средств, но одновременно с этим поставило необходимость решения ряда новых вопросов:
- Порядок подключения при наличии более чем одного контроллера SATA/SCSI или простых контроллеров IDE становится случайным. Как следствие имена одного и того же устройств вида hdx/hdy или sdx/sdy случайно чередуются после каждой загрузки.Использование постоянных именований позволяет больше не беспокоиться об этом.
Для машин с контролёрами IDE (включая, например, машины со всеми жёсткими дисками SATA и только одним IDE cdrom), переход на стандартное ядро Squeeze может вызвать проблемы: с введением поддержки новой libata PATA, устройство IDE hdX станет устройством sdX. Опять же, если используется постоянное именование, этого даже не будет заметно. (postinst для пакета linux-base содержит код помогающий с переходом, но сначала имеет смысл получить представление и заранее понять как это работает.)
На больших машинах, с большим количеством CPU и Fiber Channel Host Bus Adapters, FC коммутаторами с переменной нагрузкой/задержкой, контролёрами SCSI, и/или высокопроизводительными сетевыми картами, могут возникнуть проблемы с синхронизацией при работе с udev и многолучевым I/O, из за почти непредсказуемого порядка определения устройств и автоматического назначения имен в процессе загрузки.
Существуют и другие причины. Но перечисленные - наиболее важны как в настоящий время, так и в ближайшем будущем. Поэтому Debian рекомендует использование схемы наименования блочных устройств с постоянными именами.
Схемы для постоянных наименований
Посредством UUIDs
UUID является механизмом присвоения уникальных обозначений каждой файловой системе. Все файловые системы Linux включая swap, поддерживают UUID; файловые системы FAT и NTFS не поддерживают верный UUID, но перечислены в /dev/disk/by-uuid с уникальным идентификатором:
$ ls -l /dev/disk/by-uuid/ total 0 lrwxrwxrwx 1 root root 10 Oct 16 10:27 2d781b26-0285-421a-b9d0-d4a0d3b55680 -> ../../sda1 lrwxrwxrwx 1 root root 10 Oct 16 10:27 31f8eb0d-612b-4805-835e-0e6d8b8c5591 -> ../../sda7 lrwxrwxrwx 1 root root 10 Oct 16 10:27 3FC2-3DDB -> ../../sda6 lrwxrwxrwx 1 root root 10 Oct 16 10:27 5090093f-e023-4a93-b2b6-8a9568dd23dc -> ../../sda2 lrwxrwxrwx 1 root root 10 Oct 16 10:27 912c7844-5430-4eea-b55c-e23f8959a8ee -> ../../sda5 lrwxrwxrwx 1 root root 10 Oct 16 10:27 B0DC1977DC193954 -> ../../sdb1 lrwxrwxrwx 1 root root 10 Oct 16 10:27 bae98338-ec29-4beb-aacf-107e44599b2e -> ../../sdb2
Как видите, разделы файловыми системами FAT и NTSF имеют короткие имена (sda6 и sdb1), но всё равно показаны в uuid. The point of the 32-digit base-62 strings is to make collisions astronomically unlikely; if it happened that sda1 and sda2 had the same UUID the system would fail to boot.
Посредством Labels
Практически каждый тип файловой системы может иметь метку. Разделы с меткой находят в каталоге /dev/disk/by-label:
$ ls -l /dev/disk/by-label lrwxrwxrwx 1 root root 10 Oct 16 10:27 data -> ../../sdb2 lrwxrwxrwx 1 root root 10 Oct 16 10:27 data2 -> ../../sda2 lrwxrwxrwx 1 root root 10 Oct 16 10:27 fat -> ../../sda6 lrwxrwxrwx 1 root root 10 Oct 16 10:27 home -> ../../sda7 lrwxrwxrwx 1 root root 10 Oct 16 10:27 root -> ../../sda1 lrwxrwxrwx 1 root root 10 Oct 16 10:27 swap -> ../../sda5 lrwxrwxrwx 1 root root 10 Oct 16 10:27 windows -> ../../sdb1
Так как в качестве меток используются повторяющиеся имена, вам надо быть предельно внимательным, чтобы избежать путаницы; consider the possibility that you might have random USB/firewire drives plugged in at reboot.
Обозначение метки может изменяться следующими командами:
Type |
Command |
Notes |
EXT3: |
e2label /dev/XXX <label> |
also applies to EXT2/EXT4 |
FAT/VFAT: |
dosfslabel /dev/XXX <label> |
bug #506786 in Lenny; or mlabel in mtools |
JFS: |
jfs_tune -L <label> /dev/XXX |
|
NTFS: |
ntfslabel /dev/XXX <label> |
or change it under Windows |
ReiserFS: |
reiserfstune -l <label> /dev/XXX |
|
swap: |
mkswap -L <label> /dev/XXX |
but see below on swapoff/swapon procedure |
XFS: |
xfs_admin -L <label> /dev/XXX |
|
Посредством Hardware ID
by-id создает уникальное имя на основе апаратного серийного номера. Они предназначены чтобы быть неизменными для данной аппаратной конфигурации.
# ls -l /dev/disk/by-id/ total 0 lrwxrwxrwx 1 root root 10 2010-10-20 13:52 dm-name-grupo1-lvstripe1 -> ../../dm-8 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath0 -> ../../dm-0 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath1 -> ../../dm-1 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath2 -> ../../dm-2 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath3 -> ../../dm-3 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath4 -> ../../dm-4 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath5 -> ../../dm-5 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath6 -> ../../dm-6 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-name-mpath7 -> ../../dm-7 lrwxrwxrwx 1 root root 10 2010-10-20 13:52 dm-uuid-LVM-OaDwNcuwdzuuZYAcrbeKNdYsE237BKX2YIEdUN5CsSgeU7WNn5dhtiQPBP9uHU25 -> ../../dm-8 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000c -> ../../dm-0 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000d -> ../../dm-1 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000e -> ../../dm-2 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c000000000000000f -> ../../dm-3 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000112 -> ../../dm-4 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000113 -> ../../dm-5 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000114 -> ../../dm-6 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 dm-uuid-mpath-36005076308ffc36c0000000000000115 -> ../../dm-7 lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c -> ../../sda lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c-part1 -> ../../sda1 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c-part2 -> ../../sda2 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-360026b9038e49f001270c8b707980d5c-part3 -> ../../sda3 lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000c -> ../../sdr lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000d -> ../../sdc lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000e -> ../../sdab lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c000000000000000f -> ../../sdu lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000112 -> ../../sdn lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000113 -> ../../sdo lrwxrwxrwx 1 root root 9 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000114 -> ../../sdp lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-36005076308ffc36c0000000000000115 -> ../../sdag lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath0 -> ../../dm-0 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath1 -> ../../dm-1 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath2 -> ../../dm-2 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath3 -> ../../dm-3 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath4 -> ../../dm-4 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath5 -> ../../dm-5 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath6 -> ../../dm-6 lrwxrwxrwx 1 root root 10 2010-10-20 13:51 scsi-mpath7 -> ../../dm-7
Посредством sysfs Paths
by-path создает единственное обозначение на основе самого короткого физического пути (по sysfs). Оба вышеупомянутых метода содержат строки символов, которые снимают показания, к какой подсистеме они принадлежат, и таким образом не подходят, для решения выше упомянутых проблем и здесь в дальнейшем не обсуждаются.
Подготовка для постоянных именований
Для просмотра вновь созданных, или любых других доступных для монтирования разделов жесткого диска выполните:
$ ls -lR /dev/disk
также есть более удобная команда blkid (которая находится в /sbin, но не требует привилегий root) дающая более удобный вывод:
$ /sbin/blkid /dev/sda1: LABEL=Root UUID="87f2b245-6ab3-4021-bf07-d069b4d387a1" TYPE="ext3" /dev/sda2: TYPE="swap" /dev/sda3: LABEL=Home UUID="a6f7a63f-71ac-4361-b49a-39d62b06f18a" TYPE="ext3"
Как видно, раздел swap здесь не имеет UUID или label; инсталлер Debian Lenny использует версию partman которая не делает раздел swap. Тем не менее, разделу подкачки может быть дано "постоянное имя" через mkswap.
Назначение постоянных имен для раздела Swap
First, make quite sure you've correctly identified the swap partition (see /proc/swaps)! Then (as root) safely deactivate the current swap, reinitialise it (optionally adding a label), and reactivate it:
# swapoff /dev/sda2 # mkswap -L Swap /dev/sda2 Setting up swapspace version 1, size = 1998737 kB LABEL=Swap, UUID=7cdfeb21-613b-4588-abb5-9d4049854e9a # swapon /dev/sda2
You can verify the results as a normal user:
$ /sbin/blkid
/dev/sda1: LABEL=Root UUID="87f2b245-6ab3-4021-bf07-d069b4d387a1" TYPE="ext3"
/dev/sda2: LABEL=Swap UUID="7cdfeb21-613b-4588-abb5-9d4049854e9a" TYPE="swap"
/dev/sda3: LABEL=Home UUID="a6f7a63f-71ac-4361-b49a-39d62b06f18a" TYPE="ext3"
$ free
total used free shared buffers cached
Mem: 33017956 298700 32719256 0 17060 148668
-/+ buffers/cache: 132972 32884984
Swap: 1951888 0 1951888
Использование постоянных именований
Having chosen which naming method you'd like to use, let's now enable persistent naming for your system:
В fstab
Включение постоянных имён в /etc/fstab легко; для каждой файловой системы в файле fstab нужно заменить имя устройства в первом столбце (где указано что-то вроде /dev/sda7) на постоянное имя. This can be achieved by substituting in the appropriate path under /dev/disk, such as:
/dev/disk/by-label/home
or
/dev/disk/by-uuid/31f8eb0d-612b-4805-835e-0e6d8b8c5591
However, instead of giving an explicit /dev/disk path, the method usually recommended is to indicate how the filesystem is to be mounted by writing LABEL=<label> or UUID=<uuid> - for example:
LABEL=home
or
UUID=31f8eb0d-612b-4805-835e-0e6d8b8c5591
