Версия. mount+fstab=недоразумение.

#!DebainBased

Первое, на что хочу обратить внимание, так это на то, что информация о разделах, подлежащих монтированию в Linux может быть размещена как в fstab, так и в system.d. Источник. Это позволяет организовать разные сценарии запуска системы, также существует возможность использовать cron, init в той комбинации, как вам нравится. Здесь я считаю, что эта возможность нужна для балансировки нагрузки при запуске.

Второе. Существуют способы запретить монтирование раздела непосредственно при загрузке в автоматическом режиме. А именно -- добавление в fstab опции noauto.

Третье. К сожалению, на корневой каталог раздела придётся выставить режим доступа 777. Но ведь мы же должны разрешить запись в раздел всем пользователям, а они уже могут сами ограничить доступ к своим каталогам. 

Так-то в Windows существует UAC, который можно настроить на автоматический приём исключений. Также можно сделать и в Linux. Просто нужно помнить, что каждую команду в консоли можно завернуть в "ярлык" и поместить, как на рабочий стол, так и в меню "Пуск".

Архитектура Linux подразумевает работу пользователя в пределах домашнего каталога и ни папкой больше, на ресурсы извне должны даваться символические ссылки. Именно поэтому такие дистрибутивы как Ubuntu, Mint используют принцип монтирования /media/$USER/$DISK для флешек и всех обнаруженных и не смонтированных с помощью /etc/fstab дисков, однако они используют для этого драйвер fuse, короче, тем, кто создает дистрибутивы Linux часто неводмёк, что их детище будут использовать люди, которые привыкли к какому-то логичному порядку настройки и использования. Почему работать от root это плохо, если ты единственный пользователь и админ компьютера? Почему для привычных операций нужны конструкции типа sudo тоже совсем не ясно. Почему так трудно добавить конкретное приложение в исключения для запуска от root, тоже не ясно. И самое главное, почему для форматирования флешки, необходимы административные права, если она подключалась пользователем.

Простой пример. Был у меня добавлен в автозагрузку раздел NTFS и при первом же сбое питания,  Linux не смог его подключить из-за того, что он не был размонтирован при выключении. Соответственно, сервер, на котором он был установлен не загрузился и мне пришлось через кривую консоль KVM  сервера восстанавливать загрузку, править fstab. 

А всего лишь достаточно было бы запустить check disk от мелкософта, чтобы он поправил журнал. 

К сожалению без дополнительных инструкций Linux так не умеет даже с родными файловыми системами и самое обидное, что с ними можно столкнуться даже на настольных дистрибутивах, достаточно только отредактировать fstab.

Теперь ближе к процедуре, ради которой писалась статья:

 $ sudo nano /etc/fstab 

aleksey@f-thinkpad:~$ cat /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/sda1 during installation
UUID=e0b75772-24df-4aec-bf05-b86f853a79fb /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda5 during installation
UUID=B299-8ADC  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0

#нас интересует данная строка
/dev/sda2 /media/aleksey/windisk btrfs rw    0    2

Я не стал заморачиваться с UUID, так как это fstab моего ноутбука и тут видно, что последняя строка это инструкция по подключению раздела /dev/sda2 c btrfs на борту,в режиме чтения/записи, без бэкапа и вторым в очереди на проверку.
теперь модифицируем строчку так:

/dev/sda2 /media/aleksey/windisk btrfs noauto,rw    0    2

Опция noauto запрещает монтирование раздела при запуске системы.

Теперь вызовем:

$ sudo crontable -e

добавим в конец строчку:

@reboot mount -a

Теперь загрузка системы не остановится, если будет обнаружена проблема с диском или разделом, а ошибка запишется в dmesg.

А теперь разнос.
Я считаю, что должна существовать система гарантированной загрузки. 

Очень странно, что базовый линукс не имеет  в себе отказоустойчивости в случае отказа жесткого диска. Вот есть у меня много жестких дисков на автомонтировании, загрузка, не может примонтировать -- грузись дальше, мне нужна сеть, чтобы тебя починить, в общем, очень много странного и непонятного.

То-есть сценарий загрузки должен найти все разделы в системе, подключить их, потом прочитать fstab и создать символические ссылки в точках монтирования, ошибочные строки в fstab должны игнорироваться.

Всё.


 



Комментарии

Популярные сообщения из этого блога

Подключение локального репозтория для debian/ubuntu/mint/astra включая установочный диск

Как пользоваться LibreCAD так, чтобы было удобно.

LibreCAD шрифты