Возможно ли иметь на одном жестком диске один домашний раздел (например, EXT4), общий для нескольких операционных систем?
Я хотел бы установить Linux, HURD и DragonFlyBSD в одной системе, имея единый домашний каталог.
Чтобы решить проблему конфликтующих файлов конфигурации, можно ли сделать следующее:
/home/
user1/
user1_linux/
user1_hurd/
user1_dfbsd/
где user1
— псевдопользовательский каталог, в котором находятся все «обычные» файлы, а остальные — настоящие пользовательские каталоги, специфичные для ОС, в которых хранятся файлы конфигурации и файлы, специфичные для ОС.
Тогда каждая ОС должна иметь права доступа user1/
только к своему собственному выделенному пользовательскому каталогу.
решение1
Это, конечно, возможно, если поместить /home на отдельный раздел и смонтировать его в каждой из операционных систем. Однако этопрактически гарантированно приведет к большим проблемам.
Я хотел бы предложить альтернативное решение, которое отлично служило мне на протяжении восьми лет: система контроля версий.репозиторийминимального набора утилит и файлов конфигурации, в работе которых я могу быть уверен и которые не сломаются при использовании на разных платформах и даже в слегка отличающихся версиях приложений:
- Конфигурациядля множества применений.
- .gitignore файлыперечисление файлов и каталогов, которые либо бесполезны для контроля версий (например, журналы), либо содержат секреты (например, файлы лицензий), либо просто слишком сложны для надлежащего контроля версий (например, файлы, в которых данные времени выполнения, такие как размер окна, смешиваются с файлом конфигурации в одной строке JSON/XML).
- doc/ файлы, чтобы напомнить себе о вещах, которые мне редко нужны и которые не являются конфигурацией.
- примеры кода.
- patches/ в базовую систему для работы
set -o errexit
в .bashrc. Это был эксперимент, чтобы убедиться, что мой .bashrc в порядке, выходя из него на ранней стадии в случае возникновения каких-либо проблем. Это осуществимо, но сторонний код сломал некоторые вещи. - shell-includes/ используется только для
scripts/arch_linux_system_upgrade.sh
, именно так я предпочитаю обновлять Arch Linux. - make-includes/ добавляет некоторые служебные цели в Makefile
- Makefile можно использовать для
- Очистите конфигурацию для облегчения контроля версий.
- Проведите несколько небольших тестов содержимого репозитория.
- Создайте символические ссылки на dotfiles в моем домашнем каталоге, чтобы избежать необходимости копировать их туда и обратно.
- Запустите пользовательские службы pulseaudio и redshift.