На каком разделе должен быть / usr

Согласно этот документ /bin и /sbin содержит минимальные файлы для загрузки и восстановления системы, а /usr представляет собой отдельный раздел, так что его легко демонтировать для восстановления.

Но согласно этой информации о разделе, все каталоги, необходимые для загрузки (кроме /boot), должны находиться в том же разделе, где /. Эти основные каталоги /etc и /usr

Я считаю эти два документа противоречивыми.

  1. Согласно первой ссылке /bin и /sbin необходимы для загрузки, тогда почему только вторая /etc и /usr называется существенной по второй ссылке? Действительно ли система может загружаться в однопользовательском режиме, используя только /bin и /sbin, но для полного режима также требуются /usr и /etc?
  2. Почему это необходимо для /usr и /etc должен находиться в том же разделе, что и root, но не для /boot, /bin и /sbin
  3. Почему /usr может быть сделан только для чтения? Насколько я знаю, /usr/bin используется для хранения двоичных файлов менеджерами пакетов.
  4. Также где-то я читал, что /bin и /sbin содержат код для монтирования других файловых систем, если это так, кто монтирует /? Это сделано Grub?
2
задан 24 November 2017 в 14:03

3 ответа

Вы читаете документацию 2006 года, и мысль о том, что их практика, упомянутая в них, кажется противоречивой, неудивительна.

Однако давайте ответим на это, учитывая современное состояние дистрибутивов Linux.

  • / sbin - системные двоичные файлы
  • / etc - специфичные для хоста общесистемные данные конфигурации
  • / usr - общие, данные только для чтения
  • / var это специфичные для хоста, постоянные, переменные данные
  • / run переменные данные времени выполнения (с момента последней загрузки)

Учитывая, что давайте рассмотрим каждую из ваших точек:

  1. Это связано с тем, что менеджерам сервисов, в том числе init.d, требуется как конфигурация хоста, так и общий (user) / usr / bin для программ. Вторая ссылка подразумевает загрузку, как при обычной загрузке, в то время как первая ссылка относится к административным задачам, таким как восстановление системы. Оба являются правильными с учетом контекста.

  2. Современный Linux на самом деле не имеет / bin вместо этого в / usr / bin, что считается важным во втором документе. / boot не обязательно должен находиться в том же разделе, поскольку он содержит данные для загрузчика, и Linux не обязательно нуждается в них при загрузке после загрузчика. Далее / boot обычно будет отдельным разделом с файловой системой, которую поддерживает загрузчик. Это просто оставляет / sbin, ядро ​​Linux будет вызывать init после некоторого момента, однако файловые системы монтируются как часть initram. Информация, содержащаяся в / etc / fstab, может содержать информацию о том, где / sbin / должен быть смонтирован перед вызовом / sbin / init, поскольку он может быть отдельным.

  3. Вторая ссылка на самом деле не говорит о том, что / usr должен быть смонтирован только для чтения, так как он предназначен только для чтения с точки зрения приложений. Однако файлы по-прежнему изменяются в рамках административных задач по установке и обновлению программного обеспечения. Некоторые инструменты, такие как менеджер пакетов для записи данных здесь.

  4. GRUB знает о файловых системах, хотя, учитывая ваши слова, стоит отметить, что это не имеет большого значения с точки зрения Linux. Например, в Android ядро ​​(системная программа) и initram хранятся в разделах без файловой системы. Затем загрузчик загрузит Linux и initram в память и вызовет Linux. Linux будет монтировать root из initram. Initram содержит необходимые модули ядра и программное обеспечение для доступа к оборудованию и монтирования корневой файловой системы, для этого не требуется никакой конфигурации, поскольку он был передан из загрузчика. Но затем он будет обращаться к файлам, таким как / etc / fstab, при необходимости смонтировать / sbin перед вызовом /sbin/init.

2
ответ дан 24 November 2017 в 14:03

В соответствии с документацией Ubuntu

Следующие каталоги НИКОГДА не следует размещать в их отдельных разделах:

  • / bin - Этот каталог хранит исполняемые файлы всей системы, доступные для большинство пользователей.
  • / sbin - Этот каталог содержит исполняемые файлы, используемые для основных функций системы и используемые системным администратором для обслуживания системы.
  • / proc - это каталог системного использования, содержащий информацию о процессе. Почти никогда не доступен пользователю.
  • / dev - Этот каталог содержит созданные системой ссылки на ваше установленное оборудование, и, как и / proc, к нему почти никогда не обращаются напрямую.

Любой другой каталог может быть размещен на отдельном разделе, если его подключение правильно указано в / etc / fstab. Однако выполнение этого может значительно повлиять на производительность.

Grub Загружает ядро ​​и initramfs (исходная файловая система RAM). Именно initramfs проверяет и монтирует диски, а затем запускает процесс загрузки.

Примечание: /etc содержит файлы конфигурации системы; в том числе fstab, который указывает точки монтирования. Я не уверен, как initramfs справляется с этим. Но я бы сказал, что /etc должен быть добавлен в список, так как беглый поиск в Интернете указывает на необходимость изменения загрузочных файлов, или ядро ​​необходимо для перемещения /etc в отдельный раздел.

Ссылка

https://help.ubuntu.com/community/DiskSpace

2
ответ дан 24 November 2017 в 14:03

Это регрессия, представленная systemd, который более тесно интегрирован в среду рабочего стола и поэтому требует библиотек и демонов во время загрузки, которые в традиционной системе Unix не будут считаться частью минимальной базовой системы.

С современным оборудованием, отдельный раздел /usr обычно не стоит этого для большинства пользователей, так что это считается приемлемым компромиссом.

1
ответ дан 24 November 2017 в 14:03

Другие вопросы по тегам:

Похожие вопросы: