Is it possible to have on the same hard disk a single home partition (e.g. EXT4), shared by multiple operating systems?

What I would like to do is to install Linux, HURD and DragonFlyBSD on the same system, having a single home.

To solve the problem of conflicting configuration files, could this be a solution:

/home/
      user1/
      user1_linux/
      user1_hurd/
      user1_dfbsd/

where user1 is a pseudo-user directory where all the "normal" files are, and the others are the real OS-specific user directories where configuration and OS-specific files go.

Then each OS should have access rights to user1/ and its own dedicated user directory only.

  • The only way I can see this being remotely possible is if you had some sort of single sign-on (SSO) – Ramhound Dec 6 at 19:24
  • 3
    Take a look at this answer from Unix.SE - unix.stackexchange.com/questions/6344/… – Michael Frank Dec 6 at 19:38
  • @MichaelFrank - Your link provides a good answer to my question. Thank you. – Pietro Dec 7 at 11:56

This is certainly possible, by putting /home on a separate partition and mounting it in each of the operating systems. However, this is virtually guaranteed to lead to big problems.

I would like to propose an alternative solution which has served me well for eight years now: a version controlled repository of a minimal set of utilities and configuration files which I can be sufficiently sure will not break when used on different platforms and even slightly different versions of applications:

  • Configuration for lots of applications.
  • .gitignore files listing the files and directories which are either pointless to version control (such as logs), contain secrets (such as license files), or are just too hard to properly version control (such as those mixing runtime stuff like window size into a configuration file in a single line of JSON/XML).
  • doc/ files to remind myself of things I rarely need which are not configuration.
  • examples/ of code.
  • patches/ to the base system to work with set -o errexit in the .bashrc. This was an experiment to ensure that my .bashrc was sane by exiting from it early in case of any issues whatsoever. It is feasible to do so, but third party code broke some things.
  • shell-includes/ is used only for scripts/arch_linux_system_upgrade.sh, which is how I prefer to update Arch Linux.
  • make-includes/ adds some utility targets to the Makefile
  • The Makefile can be used to
    • Clean up configuration for easier version control.
    • Run some minor tests on the repository contents.
    • Create symlinks to the dotfiles in my home directory to avoid having to copy back and forth.
    • Start user services pulseaudio and redshift.
  • How does the config repository work? – Xen2050 Dec 7 at 9:30
  • The readme only says how to install & test. But just the basic steps of what it does would suffice, like a how-to outline of how someone could make their own scripts. (Without more info your answer's basically a link-only answer too) – Xen2050 Dec 7 at 10:52

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.