Согласно этот документ /bin
и /sbin
содержит минимальные файлы для загрузки и восстановления системы, а /usr
представляет собой отдельный раздел, так что его легко демонтировать для восстановления.
Но согласно этой информации о разделе, все каталоги, необходимые для загрузки (кроме /boot
), должны находиться в том же разделе, где /
. Эти основные каталоги /etc
и /usr
Я считаю эти два документа противоречивыми.
/bin
и /sbin
необходимы для загрузки, тогда почему только вторая /etc
и /usr
называется существенной по второй ссылке? Действительно ли система может загружаться в однопользовательском режиме, используя только /bin
и /sbin
, но для полного режима также требуются /usr
и /etc
? /usr
и /etc
должен находиться в том же разделе, что и root, но не для /boot
, /bin
и /sbin
/usr
может быть сделан только для чтения? Насколько я знаю, /usr/bin
используется для хранения двоичных файлов менеджерами пакетов. /bin
и /sbin
содержат код для монтирования других файловых систем, если это так, кто монтирует /
? Это сделано Grub? Вы читаете документацию 2006 года, и мысль о том, что их практика, упомянутая в них, кажется противоречивой, неудивительна.
Однако давайте ответим на это, учитывая современное состояние дистрибутивов Linux.
Учитывая, что давайте рассмотрим каждую из ваших точек:
Это связано с тем, что менеджерам сервисов, в том числе init.d, требуется как конфигурация хоста, так и общий (user) / usr / bin для программ. Вторая ссылка подразумевает загрузку, как при обычной загрузке, в то время как первая ссылка относится к административным задачам, таким как восстановление системы. Оба являются правильными с учетом контекста.
Современный Linux на самом деле не имеет / bin вместо этого в / usr / bin, что считается важным во втором документе. / boot не обязательно должен находиться в том же разделе, поскольку он содержит данные для загрузчика, и Linux не обязательно нуждается в них при загрузке после загрузчика. Далее / boot обычно будет отдельным разделом с файловой системой, которую поддерживает загрузчик. Это просто оставляет / sbin, ядро Linux будет вызывать init после некоторого момента, однако файловые системы монтируются как часть initram. Информация, содержащаяся в / etc / fstab, может содержать информацию о том, где / sbin / должен быть смонтирован перед вызовом / sbin / init, поскольку он может быть отдельным.
Вторая ссылка на самом деле не говорит о том, что / usr должен быть смонтирован только для чтения, так как он предназначен только для чтения с точки зрения приложений. Однако файлы по-прежнему изменяются в рамках административных задач по установке и обновлению программного обеспечения. Некоторые инструменты, такие как менеджер пакетов для записи данных здесь.
GRUB знает о файловых системах, хотя, учитывая ваши слова, стоит отметить, что это не имеет большого значения с точки зрения Linux. Например, в Android ядро (системная программа) и initram хранятся в разделах без файловой системы. Затем загрузчик загрузит Linux и initram в память и вызовет Linux. Linux будет монтировать root из initram. Initram содержит необходимые модули ядра и программное обеспечение для доступа к оборудованию и монтирования корневой файловой системы, для этого не требуется никакой конфигурации, поскольку он был передан из загрузчика. Но затем он будет обращаться к файлам, таким как / etc / fstab, при необходимости смонтировать / sbin перед вызовом /sbin/init.
Следующие каталоги НИКОГДА не следует размещать в их отдельных разделах:
Любой другой каталог может быть размещен на отдельном разделе, если его подключение правильно указано в / etc / fstab. Однако выполнение этого может значительно повлиять на производительность.
Grub Загружает ядро и initramfs (исходная файловая система RAM). Именно initramfs проверяет и монтирует диски, а затем запускает процесс загрузки.
Примечание: /etc
содержит файлы конфигурации системы; в том числе fstab
, который указывает точки монтирования. Я не уверен, как initramfs справляется с этим. Но я бы сказал, что /etc
должен быть добавлен в список, так как беглый поиск в Интернете указывает на необходимость изменения загрузочных файлов, или ядро необходимо для перемещения /etc
в отдельный раздел.
Это регрессия, представленная systemd, который более тесно интегрирован в среду рабочего стола и поэтому требует библиотек и демонов во время загрузки, которые в традиционной системе Unix не будут считаться частью минимальной базовой системы.
С современным оборудованием, отдельный раздел /usr
обычно не стоит этого для большинства пользователей, так что это считается приемлемым компромиссом.