Fstab

Матеріал з Wiki Welard
Перейти до навігації Перейти до пошуку

Монтирование разделов по меткам в fstab (fstab mount linux label)

Оригинал: http://ru.gentoo-wiki.com/Fstab


Введение


  /etc/fstab  Конфигурационный  файл  с  указанием  партиции  и ее точки
  монтирования в структуре файловой системы.
  Классическая  схема конфигурации на основе шины описана в статье О
  монтировании файловых систем


Уникальные идентификаторы


  Уникальная идентификация партиции и точное указание точки монтирования
  стало  возможным  при наличии udev и имеет некоторое превосходство над
  обозначением по положению на шине ide/scsi.
  Развитие  Linux  и  udev  увеличивает  надежность  опознания различных
  устройств, но в тоже время появляются новые проблемы.
   1. Если  у  вас  больше  одного  sata/scsi или ide контроллера, то их
      обозначение  при  загрузке  будет  случайным.  В  результате после
      перезагрузки диск sdX может выглядеть как sdY или для ide дисков -
      hdX  и  hdY.  Уникальная идентификация позволяет забыть о подобных
      мелочах.
   2. Введение новой libata pata поддержки, все ваши ide hdX диски будут
      видны  как  sdX  устройства.  Уникальная  идентификация  дисков  и
      партиций позволит вам безболезненный переход.
   3. В  компьютерах с наличием sata и ide контроллеров переход от hdX к
      sdX   может   внести   путаницу,   которую   можно   избежать  при
      использовании идентификаторов.


Четыре схемы уникальной идентификации


Идентификация по UUID

  UUID  это сокращение от слов Universally Unique IDentifier и описывает
  механизм  выдачи  каждой  файловой системе уникального идентификатора.
  Все файловые системы в линуксе, включая swap, поддерживают UUID. FAT и
  NTFS  не поддерживают UUID изначально, и тем не менее в линуксе им так
  же назначается UUID.
       ls -al /dev/disk/by-uuid/
       total 0
       lrwxrwxrwx 1 root root 10 2007-04-24 18:01 2f6e40d0-83b5-42dc-a102-b95bc32073dc
        -> ../../sda1
       lrwxrwxrwx 1 root root 10 2007-04-24 18:01 84e7c2c9-f26e-4e3f-98b8-93eec152cd5a
        -> ../../hdc5
       lrwxrwxrwx 1 root root 10 2007-04-24 18:01 867a5afb-f266-4a85-900f-efcc86004370
        -> ../../sda3
       lrwxrwxrwx 1 root root 10 2007-04-24 18:01 9542be4e-fe40-4ca9-9522-f5222d32ac84
        -> ../../sdb1
       lrwxrwxrwx 1 root root 10 2007-04-24 18:01 b15f438d-b4b7-4536-a8cc-46128f440c7c
        -> ../../hdc6
       lrwxrwxrwx 1 root root 10 2007-04-24 18:01 AF92-3DDB -> ../../sdd1
       lrwxrwxrwx 1 root root 10 2007-04-24 18:01 B0JC190ODC193954 -> ../../sdd6


  Как вы видите, FAT и NTFS разделы имеют укороченный идентификатор.
  Для определения UUID так же можно воспользоватся командой
  
          tune2fs -l /dev/sda1 | grep UUID
  
          Filesystem UUID: 2f6e40d0-83b5-42dc-a102-b95bc32073dc


    * Преимущества  использования  UUID: уникальность каждого раздела по
      идентификатору позволяет избежать ошибок при монтировании.


    * Недостаток использования UUID: трудно запомнить ;)


Идентификация по LABEL


  Практически  любой файловой системе или партиции можно присвоить LABEL
  (метку)
          ls -l /dev/disk/by-label/
          total 0
          lrwxrwxrwx 1 root root 10 2007-04-24 18:01 250gig -> ../../sdb1
          lrwxrwxrwx 1 root root 10 2007-04-24 18:01 b00t -> ../../sda1
          lrwxrwxrwx 1 root root 10 2007-04-24 18:01 level0 -> ../../sda3
          lrwxrwxrwx 1 root root 10 2007-04-24 18:01 p2p -> ../../hdc6
          lrwxrwxrwx 1 root root 10 2007-04-24 18:01 swap -> ../../hdc5
          lrwxrwxrwx 1 root root 10 2007-04-24 18:01 fat -> ../../sdd1
          lrwxrwxrwx 1 root root 10 2007-04-24 18:01 ntfs -> ../../sdd6


  Посмотреть названия так же можно командой cfdisk /dev/sda
  Для  изменения  label для каждой файловой системы выполните подходящие
  команды:

swap: Создание новой 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: Изменить метку диска в Windows, или при создании раздела в линуксе

              mkdosfs -n <label> <other options>.


ntfs: Изменить метку диска в Windows или

              ntfslabel /dev/XXX <label>


  Предупреждение: Будте внимательны при обозначении партиций. LABEL
  должен быть уникальным для каждого диска.


Идентификация по id

  В  данном  случае  id образуется из производственного серийного номера
  вашего диска.


Идентификация по path


  Создание  имени  по  кратчайшему  пути (path) в соответствии с sysfs и
  содежит  информацию  о шине на которой расположен жесткий диск. Что не
  подходит  для  наших  целей  и решения вышеобозначенных проблем. Более
  подробно в статье О монтировании файловых систем


Использование уникальных идентификаторов


  Я   надеюсь   вы   уже   определились   какой  метод  вам  понравился.
  Использование данных методов достаточно просто.


fstab


  В  /etc/fstab  замените  обозначение  диска  в  первой  колонке на ваш
  идентификатор  к  примеру,  я закомментировал обозначение дисков по id
  знаком   #   и   записал   обозначение   двух   партиций   по   разным
  идентификационным схемам.
       /etc/fstab
       #/dev/sda1   /boot           ext2            noauto,noatime           1 2
       LABEL=b00t   /boot           ext2            noauto,noatime           1 2
       #/dev/hdc5   none            swap            sw                       0 0
       UUID=84e7c2c9-f26e-4e3f-98b8-93eec152cd5a    none            swap sw  0 0


  Так же можно заменить /dev/sda1 на /dev/disk/by-label/b00t или
  /dev/disk/by-uuid/2f6e40d0-83b5-42dc-a102-b95bc32073dc


grub


  Предупреждение: Данное описание -- для Arch Linux. В Gentoo надо
  использовать genkernel и работает только указание корня через LABEL=
  (на данный момент)
  Для использования уникальных идентификаторов при загрузке необходимо:
   1. Использовать mkinitcpio initramfs образ
   2. Разрешить использование udev в /etc/mkinitcpio.conf
   3. Пересоздать initramfs образ до перезагрузки компьютера.
  Примечание: В версиях klibc-udev до 101-3 уникальное обозначение
  устройств не работает
  В  приведенном  выше  примере партиция /dev/sda3 LABEL=level0 является
  root партицией и в файле /boot/grub/menu.lst запись
  
  /boot/grub/menu.lst
          kernel /boot/vmlinuz26 root=/dev/sda3 vga=0x318 ro


  надо поменять на
  /boot/grub/menu.lst
          kernel /boot/vmlinuz root=/dev/disk/by-label/level0 vga=0x318 ro


  или
  /boot/grub/menu.lst
          kernel /boot/vmlinuz root=LABEL=level0 vga=0x318 ro