Могут ли две разные ОС разделять корневой раздел?

У меня установлен Ubuntu на внешнем жестком диске, и я хотел бы также установить SteamOS, и мне интересно, если при разделении / установке они могут совместно использовать корневой раздел, поэтому им нужно больше места для них, если они им понадобятся.

Если это невозможно, может кто-нибудь объяснить, почему?

Спасибо!

3
задан 8 September 2017 в 18:40

3 ответа

Простой ответ

Нет.

Объяснение

Операционная система Unix (включая Ubuntu или любую другую ОС на базе Linux) в значительной степени определяется файлы, которые находятся в фиксированных местоположениях относительно каталога root (/), например /etc/fstab (который описывает разделы) и ключевых двоичных файлов в /bin и /sbin. Каждый дистрибутив имеет свой уникальный набор файлов в этих местах. (В случае некоторых файлов, таких как /etc/fstab, они настроены для конкретной установки, но это означает, что для двух ОС, которые поделились файлами, потребуются одинаковые настройки, что также означает, что они будут идентичны и, две ОС). Эти ключевые файлы в основном расположены в каталогах от корня (/), но они находятся в каталогах, которые не могут быть установлены из отдельных файловых систем (таких как /etc, /bin и /sbin), поэтому факт, что они находятся в каталогах, не имеет значения. В очень реальном смысле файловая система root (/) - это ОС; он не может использоваться совместно. (Вы можете установить корневой каталог одного дистрибутива в другом месте в другом дистрибутиве, но это не делит его в том смысле, который, я полагаю, вы имели в виду.)

Технический путь к червям из ответа выше

[d7 ] Ваш вопрос задан об общем «root is » (добавлен акцент). Мой ответ относится к каталогам (или, соответственно, в другом месте ). Они не должны быть точно эквивалентными. В частности, если вы используете Logical Volume Manager (LVM), несколько файловых систем могут совместно использовать один раздел; они просто будут в разных логических томах (LV). Таким образом, вы можете установить несколько дистрибутивов Linux в одном физическом томе LVM (PV, то есть раздел). Я не думаю, что это то, что вы имели в виду; Я думаю, вы спрашивали об общей файловой системе / директории root [/), несмотря на то, что вы использовали раздел слов.

EDIT: еще более странный способ заставить его работать

Еще один способ получить два дистрибутива для совместного использования раздела root (/): ядро ​​Linux запускает программу под названием init для управления задачами запуска. Можно указать ядру использовать другую программу, передав параметр ядра init=, как в init=/foo/bar, чтобы запустить /foo/bar. В принципе, вы можете использовать эту опцию, чтобы передать одному ядру дистрибутива нестандартную программу init, которая, в свою очередь, ищет программы поддержки в нестандартных местах. Этот подход потребует создания совершенно нового дистрибутива или, по крайней мере, изменения некоторых ключевых компонентов - возможно, для установки всего, что ему нужно, в какой-то каталог, например /myweirddistrib, /myweirddistrib/etc, /myweirddistrib/sbin и т. Д.

Хотя эти каталоги работают в принципе, на практике это потребует большой работы. Многие программы включают в себя либо жестко заданные пути по умолчанию, либо полагаются на пути по умолчанию, установленные в файлах конфигурации, и вам нужно будет изменить их все, чтобы заставить их работать, а это значит, что вы не сможете получить -shelf "распространение на работу; вам нужно будет создать дистрибутив самостоятельно. Возможно, вы сможете использовать стандартный дистрибутив в качестве базы, но вам нужно будет перестроить многие (возможно, большинство или все) пакеты. Все, что не было изменено, в конечном итоге будет использовать «родные» файлы / -resident distribution, что может привести к некоторым странным проблемам. Таким образом, этот подход является скорее теоретической идеей, чем практическим предложением.

7
ответ дан 22 May 2018 в 18:41
  • 1
    Ты прав; Я имел в виду корневую файловую систему. Спасибо вам за разъяснение! Он ответил на мой вопрос отлично! :) – Amolith 8 September 2017 в 18:25

Простой ответ

Нет.

Объяснение

Операционная система Unix (включая Ubuntu или любую другую ОС на базе Linux) в значительной степени определяется файлы, которые находятся в фиксированных местоположениях относительно каталога root (/), например /etc/fstab (который описывает разделы) и ключевых двоичных файлов в /bin и /sbin. Каждый дистрибутив имеет свой уникальный набор файлов в этих местах. (В случае некоторых файлов, таких как /etc/fstab, они настроены для конкретной установки, но это означает, что для двух ОС, которые поделились файлами, потребуются одинаковые настройки, что также означает, что они будут идентичны и, две ОС). Эти ключевые файлы в основном расположены в каталогах от корня (/), но они находятся в каталогах, которые не могут быть установлены из отдельных файловых систем (таких как /etc, /bin и /sbin), поэтому факт, что они находятся в каталогах, не имеет значения. В очень реальном смысле файловая система root (/) - это ОС; он не может использоваться совместно. (Вы можете установить корневой каталог одного дистрибутива в другом месте в другом дистрибутиве, но это не делит его в том смысле, который, я полагаю, вы имели в виду.)

Технический путь к червям из ответа выше

Ваш вопрос задан об общем «root is » (добавлен акцент). Мой ответ относится к каталогам (или, соответственно, в другом месте ). Они не должны быть точно эквивалентными. В частности, если вы используете Logical Volume Manager (LVM), несколько файловых систем могут совместно использовать один раздел; они просто будут в разных логических томах (LV). Таким образом, вы можете установить несколько дистрибутивов Linux в одном физическом томе LVM (PV, то есть раздел). Я не думаю, что это то, что вы имели в виду; Я думаю, вы спрашивали об общей файловой системе / директории root [/), несмотря на то, что вы использовали раздел слов.

EDIT: еще более странный способ заставить его работать

Еще один способ получить два дистрибутива для совместного использования раздела root (/): ядро ​​Linux запускает программу под названием init для управления задачами запуска. Можно указать ядру использовать другую программу, передав параметр ядра init=, как в init=/foo/bar, чтобы запустить /foo/bar. В принципе, вы можете использовать эту опцию, чтобы передать одному ядру дистрибутива нестандартную программу init, которая, в свою очередь, ищет программы поддержки в нестандартных местах. Этот подход потребует создания совершенно нового дистрибутива или, по крайней мере, изменения некоторых ключевых компонентов - возможно, для установки всего, что ему нужно, в какой-то каталог, например /myweirddistrib, /myweirddistrib/etc, /myweirddistrib/sbin и т. Д.

Хотя эти каталоги работают в принципе, на практике это потребует большой работы. Многие программы включают в себя либо жестко заданные пути по умолчанию, либо полагаются на пути по умолчанию, установленные в файлах конфигурации, и вам нужно будет изменить их все, чтобы заставить их работать, а это значит, что вы не сможете получить -shelf "распространение на работу; вам нужно будет создать дистрибутив самостоятельно. Возможно, вы сможете использовать стандартный дистрибутив в качестве базы, но вам нужно будет перестроить многие (возможно, большинство или все) пакеты. Все, что не было изменено, в конечном итоге будет использовать «родные» файлы / -resident distribution, что может привести к некоторым странным проблемам. Таким образом, этот подход является скорее теоретической идеей, чем практическим предложением.

7
ответ дан 18 July 2018 в 07:14

Простой ответ

Нет.

Объяснение

Операционная система Unix (включая Ubuntu или любую другую ОС на базе Linux) в значительной степени определяется файлы, которые находятся в фиксированных местоположениях относительно каталога root (/), например /etc/fstab (который описывает разделы) и ключевых двоичных файлов в /bin и /sbin. Каждый дистрибутив имеет свой уникальный набор файлов в этих местах. (В случае некоторых файлов, таких как /etc/fstab, они настроены для конкретной установки, но это означает, что для двух ОС, которые поделились файлами, потребуются одинаковые настройки, что также означает, что они будут идентичны и, две ОС). Эти ключевые файлы в основном расположены в каталогах от корня (/), но они находятся в каталогах, которые не могут быть установлены из отдельных файловых систем (таких как /etc, /bin и /sbin), поэтому факт, что они находятся в каталогах, не имеет значения. В очень реальном смысле файловая система root (/) - это ОС; он не может использоваться совместно. (Вы можете установить корневой каталог одного дистрибутива в другом месте в другом дистрибутиве, но это не делит его в том смысле, который, я полагаю, вы имели в виду.)

Технический путь к червям из ответа выше

Ваш вопрос задан об общем «root is » (добавлен акцент). Мой ответ относится к каталогам (или, соответственно, в другом месте ). Они не должны быть точно эквивалентными. В частности, если вы используете Logical Volume Manager (LVM), несколько файловых систем могут совместно использовать один раздел; они просто будут в разных логических томах (LV). Таким образом, вы можете установить несколько дистрибутивов Linux в одном физическом томе LVM (PV, то есть раздел). Я не думаю, что это то, что вы имели в виду; Я думаю, вы спрашивали об общей файловой системе / директории root [/), несмотря на то, что вы использовали раздел слов.

EDIT: еще более странный способ заставить его работать

Еще один способ получить два дистрибутива для совместного использования раздела root (/): ядро ​​Linux запускает программу под названием init для управления задачами запуска. Можно указать ядру использовать другую программу, передав параметр ядра init=, как в init=/foo/bar, чтобы запустить /foo/bar. В принципе, вы можете использовать эту опцию, чтобы передать одному ядру дистрибутива нестандартную программу init, которая, в свою очередь, ищет программы поддержки в нестандартных местах. Этот подход потребует создания совершенно нового дистрибутива или, по крайней мере, изменения некоторых ключевых компонентов - возможно, для установки всего, что ему нужно, в какой-то каталог, например /myweirddistrib, /myweirddistrib/etc, /myweirddistrib/sbin и т. Д.

Хотя эти каталоги работают в принципе, на практике это потребует большой работы. Многие программы включают в себя либо жестко заданные пути по умолчанию, либо полагаются на пути по умолчанию, установленные в файлах конфигурации, и вам нужно будет изменить их все, чтобы заставить их работать, а это значит, что вы не сможете получить -shelf "распространение на работу; вам нужно будет создать дистрибутив самостоятельно. Возможно, вы сможете использовать стандартный дистрибутив в качестве базы, но вам нужно будет перестроить многие (возможно, большинство или все) пакеты. Все, что не было изменено, в конечном итоге будет использовать «родные» файлы / -resident distribution, что может привести к некоторым странным проблемам. Таким образом, этот подход является скорее теоретической идеей, чем практическим предложением.

7
ответ дан 24 July 2018 в 18:46

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

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