АВТОМАТИЧЕСКОЕ МОНТИРОВАНИЕ РАЗДЕЛОВ ЖЕСТКОГО ДИСКА НА ПРИМЕРЕ ПАПКИ "/home"
Честно признаться, поводом для публикации этой статьи стала оплошность при установки любимой Убунты. Я, дурень, забыл в самом начале прикрутить один из дисков файлопомойки к "/home"... Ну и вот, теперь придется немного подзапариться. Задача заключается в том, чтобы автоматизировать процесс монтирования. Для этого нам придется подредактировать "/etc/fstab". Такой файлик есть в любом Linux-е, включая Android.
Ну что ж, поехали.
Для начала откроем упомянутый выше файл вашим любимым текстовым редактором:
sudo nano /etc/fstab
Там вы увидете нечто наподобие вот этого:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdc1 during installation
UUID=f2eb7a84-33ec-4333-9010-1576edc5445e / ext4 errors=remount-ro 0 1
# /bgd1 was on /dev/sda1 during installation
UUID=76D340723F3748CA /bgd1 ntfs defaults,umask=007,gid=46 0 0
# /bgd2 was on /dev/sdd1 during installation
UUID=7D8061F7419E76D3 /bgd2 ntfs defaults,umask=007,gid=46 0 0
# swap was on /dev/sdc8 during installation
UUID=97d134c9-2c1d-4996-bd55-a99e4d630b3d none swap sw 0 0
Страшно, да? Не бойтесь, тут все просто. Все что идет после знака # является комментарием. А сами записи читаются по следующей формуле:
раздел_винчестера точка_монтирования файловая_система опции_монтирования два_вспомогательных_числа
Как известно, разделы винчестера в Linux именуются как sdaX
(или sdbX
, sdcX
и т.д. если у вас несколько винчестеров). Нам надо определиться, какой раздел мы будем монтировать. Воспользуемся уже знакомой командой.
sudo fdisk -l
На моем компьютере имеется целая гирлянда жестких дисков, каждый из которых поделен на десятки разделов, поэтому полный вывод команды я приводить не буду, а покажу только самое основное, что должно попасть в фокус внимания:
Устр-во Загрузочный Start Конец Секторы Size Id Тип
/dev/sdc1 2048 292968447 292966400 139,7G 83 Linux
/dev/sdc2 390627326 1953523711 1562896386 745,3G 5 Расширенный
/dev/sdc5 390627328 449218559 58591232 28G 83 Linux
/dev/sdc6 488282112 1953523711 1465241600 698,7G 83 Linux
/dev/sdc7 484874240 486971391 2097152 1G 6 FAT16
/dev/sdc8 449220608 484872191 35651584 17G 82 Linux своп / Solaris
Моя файлопомойка хранится на самом большом из этих разделов. Имеется в виду не тот, что помечен как "Расширенный", потому что он содержит в себе все остальные логические, а тот, который "Linux". Как видно по данной таблице, это "sdc6".
Однако в fstab
используется несколько другой механизм идентификации винчестеров, точнее, так называемый uuid
.
Чтобы выяснить UUID нашего раздела, введем
ls -l /dev/disk/by-uuid
В моем случае вывод команды выглядит так:
итого 0
lrwxrwxrwx 1 root root 10 авг 23 13:05 06A64446A6443907 -> ../../sdb2
lrwxrwxrwx 1 root root 10 авг 23 13:05 14a416c9-0b66-41e1-903b-af863fd3dccd -> ../../sdc5
lrwxrwxrwx 1 root root 10 авг 23 13:05 2016-04-20-22-29-52-00 -> ../../sde1
lrwxrwxrwx 1 root root 10 авг 23 13:05 681281CA12819E26 -> ../../sdb1
lrwxrwxrwx 1 root root 10 авг 23 13:05 76D340723F3748CA -> ../../sda1
lrwxrwxrwx 1 root root 10 авг 23 13:05 7D8061F7419E76D3 -> ../../sdd1
lrwxrwxrwx 1 root root 10 авг 23 13:05 97d134c9-2c1d-4996-bd55-a99e4d630b3d -> ../../sdc8
lrwxrwxrwx 1 root root 10 авг 23 13:05 9E1B-22A9 -> ../../sdc7
lrwxrwxrwx 1 root root 10 авг 23 13:05 B1F5-0A13 -> ../../sde2
lrwxrwxrwx 1 root root 10 авг 23 13:05 b3360989-5632-4ad9-879f-875bfbd2b1a2 -> ../../sdc6
lrwxrwxrwx 1 root root 10 авг 23 13:05 f2eb7a84-33ec-4333-9010-1576edc5445e -> ../../sdc1
Посмотрим, который из них относится к "sdc6". Ага. Вот он: "b3360989-5632-4ad9-879f-875bfbd2b1a2". Подставляем его в нашу формулу:
UUID=b3360989-5632-4ad9-879f-875bfbd2b1a2 /home ext4 опции_монтирования два_вспомогательных_числа
Опции и вспомогательные числа - тема для отдельной статьи. На Википедии есть кое-что интересное по этому поводу. Но для нашей конкретной папки "/home" необходимо сделать так:
UUID=b3360989-5632-4ad9-879f-875bfbd2b1a2 /home ext4 defaults,noatime 0 2
Теперь добавим всю эту фигню в "fstab".
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdc1 during installation
UUID=f2eb7a84-33ec-4333-9010-1576edc5445e / ext4 errors=remount-ro 0 1
# /bgd1 was on /dev/sda1 during installation
UUID=76D340723F3748CA /bgd1 ntfs defaults,umask=007,gid=46 0 0
# /bgd2 was on /dev/sdd1 during installation
UUID=7D8061F7419E76D3 /bgd2 ntfs defaults,umask=007,gid=46 0 0
# swap was on /dev/sdc8 during installation
UUID=97d134c9-2c1d-4996-bd55-a99e4d630b3d none swap sw 0 0
UUID=b3360989-5632-4ad9-879f-875bfbd2b1a2 /home ext4 defaults,noatime 0 2
Наконец, сохраним изменения, закромем текстовый редактор... Помолимся, чтобы вся ОС не накрылась медным тазом, и ребутнемся.
sudo reboot
И... Ура. Все работает!
Добавлю, что всегда удобно иметь отдельный винчестер под домашнюю папку, ведь она легко монтируется к любому из установленных на компьютере Linux-ов, позволяя сохранять все привычные пользовательские настройки. Цвета терминала, например, и т. п. Единственный нюанс... Конечно, если ваш винчестер пуст, лучше бы его примонтировать к /home еще во время установки - так вы избежите лишней головной боли... Но если там уже имеются пользовательские папки, сохранившиеся с прошлого раза, то все должно пройти гладко.