On Friday, December 21, 2012 09:57:25 AM Michał Górny wrote: > On Fri, 21 Dec 2012 09:10:22 +0100 > > "J. Roeleveld" <[email protected]> wrote: > > On Thursday, December 20, 2012 09:31:36 AM Michał Górny wrote: > > > On Thu, 20 Dec 2012 00:27:26 +0100 > > > > > > "J. Roeleveld" <[email protected]> wrote: > > > > On Wednesday, December 19, 2012 09:13:28 AM Greg KH wrote: > > > > > On Tue, Dec 18, 2012 at 08:21:36AM +0100, J. Roeleveld wrote: > > > > > > On Mon, December 17, 2012 22:31, Greg KH wrote: > > > > > > > On Mon, Dec 17, 2012 at 09:03:40PM +0100, J. Roeleveld wrote: > > > > > > >> Olav Vitters <[email protected]> wrote: > > > > > > >> >On Mon, Dec 17, 2012 at 09:29:26AM -0500, Richard Yao wrote: > > > > > > >> >> As I said in an earlier email, Lennart Poettering claims > > > > > > >> >> that it > > > > > > >> >> does > > > > > > >> >> not work. We are discussing some of the things necessary to > > > > > > >> >> make > > > > > > >> >> it > > > > > > >> > > > > > > > >> >work. > > > > > > >> > > > > > > > >> >Just to repeat: > > > > > > >> >In this thread it was claimed that a separate /usr is not > > > > > > >> >supported by > > > > > > >> >systemd/udev. > > > > > > >> > > > > > > > >> >A case which works with latest systemd on various > > > > > > >> >distributions. I > > > > > > >> >checked with upstream (not Lennart), and they confirmed it > > > > > > >> >works. > > > > > > >> >I > > > > > > >> >can > > > > > > >> >wait for Lennart to say the same, but really not needed. > > > > > > >> > > > > > > > >> >I assume this will again turn into a "but I meant something > > > > > > >> >else". > > > > > > >> > > > > > > >> Olav. > > > > > > >> > > > > > > >> Lennart has stated that he considers a seperate /usr without > > > > > > >> init* > > > > > > >> broken. > > > > > > > > > > > > > > Yes, as do I, and so do a lot of other developers. > > > > > > > > > > > > It is only "broken", because upstream decided to move everything > > > > > > into > > > > > > /usr > > > > > > that was previously in /. > > > > > > > > > > No, not at all, please see the web page that describes, in detail, > > > > > the > > > > > problems that has been going on for quite some time now, with the > > > > > /usr > > > > > and / partitions and packages. > > > > > > > > > > > > > > > http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken > > > > > > > > > > One good solution to this issue is to move everything into /usr, and > > > > > that's something that has wonderful benifits in the long run, and is > > > > > something that I expect all Linux distros to eventually implement. > > > > > Those that don't, will suffer because of it. > > > > > > > > > > Again, see the web page for why moving stuff into /usr is a good > > > > > idea > > > > > for the reasons behind this. > > > > http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge > > > > > > Example: /usr Network Share > > > > When /usr is on a network share, why not add a / on network as well? > > > > I have multiple systems and as they all have different uses, they all > > > > have > > > > different software installed. > > > > > > > > Example: Multiple Guest Operating Systems on the Same Host > > > > See answer to previous example. > > > > > > > > How many environments actually currently exist where a shared /usr is > > > > being > > > > used? > > > > > > Are you aware that these environments are actually one of the most > > > important reasons for moving everything to /usr? I don't know what > > > hackery you're using to keep the systems in sync and working but it is > > > braindead enough. > > > > An init* needs to be kept in sync with the rest of the system as well. As > > that is a compressed filesystem, it takes a lot more effort to keep that > > in sync in comparison to a "normal" filesystem. > > I consider having to write scripts to unpack, modify and repack an init* > > to be more hackery then to keep a bootable root-filesystem working that > > can mount all the filesystems needed for the whole environment. > > Anything needed to mount /usr, /var, /run (and any other part needed for > > the boot-process) should not be allowed to depend on anything in any of > > those directories prior to those being mountable. > > > > > The difference between keeping part of the system in rootfs > > > and initramfs is that you can discard initramfs after using it. It can > > > be anything which is enough to get the /usr mounted and system > > > starting. Files on rootfs *have* to be in sync with those on /usr > > > or you're getting random failures. > > > > The same is true for an init*. > > If an update of part of the OS leads to subtle changes in the filesystem > > where older versions can no longer properly access them, the init* is > > broken. > Just let me know when you have to maintain a lot of such systemd > and upgrade, say, glibc. Then maybe you'll understand.
A shared /usr means I need to update ALL the systems at once. When /usr is not shared, I can update groups at a time. To save time, a shared filesystem containing binary packages can easily be used and this is what I use myself. I have one VM that is used to rebuild the packages when I want to do an update and the real host then simply uses the binary packages. The configuration items needed for emerge are synchronized between the build system and the actual server. The main reason why I would never share an OS filesystem between multiple systems is to avoid the situation where a failed upgrade takes down the entire environment. And a shared OS filesystem also introduces a very nice Single Point of Failure. What will happen when the NFS-server (or whatever is used) goes down for whatever reason? In other words, to make an environment that has a very nice single point of failure possible, existing working environments are classed as "broken". -- Joost
