From b06e10ebf9d24589f10e05c706933b8f2e8665ea Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Sun, 25 Aug 2013 10:23:19 -0400 Subject: [PATCH] doc/adapting-existing: Elaborate a bit more on FS layout and links --- doc/adapting-existing.xml | 44 ++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/doc/adapting-existing.xml b/doc/adapting-existing.xml index d02e70b3..c21f6f32 100644 --- a/doc/adapting-existing.xml +++ b/doc/adapting-existing.xml @@ -37,11 +37,15 @@ Because OSTree only preserves /var across upgrades, it is very - strongly recommended for systems which want to preserve - compatibility with the /var across upgrades (each + deployment's chroot directory will be garbage collected + eventually), you will need to choose how to handle other + toplevel writable directories specified by the Filesystem Hierarchy - Standard to create the following symbolic links: + Standard. Your operating system may of course choose + not to support some of these such as /usr/local, but following is the + recommended set: @@ -53,6 +57,16 @@ /opt to /var/opt + + + /srv to /var/srv + + + + + /root to /var/roothome + + /usr/local to /var/local @@ -74,9 +88,10 @@ Furthermore, since /var is empty by default, your operating system will need to - dynamically create these directories at boot. A good way to do - this is using systemd-tmpfiles, if your OS - uses systemd. For example: + dynamically create the targets of these at + boot. A good way to do this is using + systemd-tmpfiles, if your OS uses systemd. + For example: @@ -100,6 +115,21 @@ d /var/mnt 0755 root root - d /run/media 0755 root root - ]]> + + + Particularly note here the double indirection of /home. By default, each + deployment will share the global toplevel /home directory on the physical + root filesystem. It is then up to higher levels of management + tools to keep /etc/passwd or equivalent + synchronized between operating systems. + + + Each deployment can easily be reconfigured to have its own home + directory set simply by making /var/home a real directory. +