Various notes on /usr unification
One of the "advantages" of running a Rawhide system is that one gets to try out the new toys ahead of the crowd. Said toys also have a certain tendency to arrive at random and inopportune times. In the case of the /usr move, most Rawhide users got little or no warning before updates simply failed to work. The Rawhide repository, it seems, had suddenly been populated with packages requiring a system where the /usr move had already been done. Actually causing this move to happen was left as an exercise for the system administrator.
As it happens, this is one of the more controversial aspects of the /usr move in the Fedora community. Fedora policy has always said that using the yum tool to update an installation to a newer release of the distribution is not supported; one is supposed to use a CD or the preupgrade tool for that purpose. But, in reality, just using yum tends to work; the prospect of it not working to get to Fedora 17 has caused some grumpiness in the Fedora user community. If this limitation remains in the Fedora 17 release, expect to hear some complaints; users don't like to have their ponies taken away, even if nobody had ever said they could have a pony in the first place.
For Rawhide users, it is possible to move past the usrmove flag day by following this set of instructions. The process involves editing the grub configuration files, installing a special initramfs image, then rebooting with a special option that causes the actual thrashing of the system to be done from the initramfs before the real root is mounted. Your editor, setting out along this path with a well backed-up system, was reminded of doing the manual transition from the a.out to the ELF executable format on a Slackware system many years ago. In both cases, one had the sense of toying with fundamental forces with no guarantee of a non-catastrophic outcome.
In both cases, as it happens, things worked out just fine. Directories like /bin, /lib, /lib64, and /sbin are now symbolic links into /usr, and the system works just like it always did. No programs or scripts needed to be changed, custom kernels work as they always did, and so on. That will almost certainly be most users' experience of this transition - they will not even notice that it has happened. This is not a particularly surprising result; the practice of moving files and leaving a symbolic link in their place has a long history. Of course, somebody has probably patented it anyway.
Of course, an equally successful result for all systems depends on the Fedora developers creating a bombproof automatic mechanism for carrying out this transition prior to the Fedora 17 release. Hopefully something will have been learned from the GRUB 2 mess, where the Fedora 16 upgrade left a lot of bricked systems in its wake. If Fedora 17 creates similar messes on systems that, perhaps, are not set up quite as the Fedora developers expect, a lot of unhappiness will ensue.
As an aside, it is interesting to compare how Fedora is managing this transition with Debian's multiarch transition. Fedora has forced a flag day requiring the entire thing to happen at once; Debian, instead, has carefully avoided flag days in favor of a carefully-planned step-by-step change. One could argue that the Debian approach is better: it lets the transition "just happen" through normal package updates without the need for any special actions on the part of administrators or users. On the other hand, the multiarch transition has been a multi-year process and is still not complete; Fedora, instead, has pushed this change through in a small number of months.
Now that Fedora has made this jump and seems to be past the turning-back point, will other distributions follow suit? Some investigation suggests that Fedora will not be alone in this change:
- There have been no official statements from Red Hat, naturally, but
it seems likely that, given how much effort has been put into this
change by Red Hat employees, RHEL7 will feature the unified directory
organization.
The RHEL clones, including Oracle's distribution and CentOS, will have
little choice but to incorporate this change.
- OpenSUSE has been discussing the idea for a while and seems to be
receptive to it. There does not appear to be an official statement
that openSUSE will make the /usr move, but there is a web page set up
to track progress in that direction.
- Debian has had a number of long discussion threads about usrmove; it
will not surprise longtime Debian watchers that there is a variety of
opinions on the issue. There is some concern about possibly breaking
systems with strange setups, though the most often cited case -
systems with /usr on a separate partition - has been thought
about and is relatively easy to support. In the end, it may come down
to making the change to keep life easier; as Marco d'Itri put it: "
I am not really looking forward to keep reverting these changes in my package, and since Red Hat controls most Linux infrastructure now other packages will face the same problem.
"Of course, Debian has some time to think about the problem. Nobody has suggested that usrmove could be added to the list of goals for the upcoming "wheezy" release, so any transition, even in the unstable tree, is likely to be at least a year away.
- Ubuntu has been relatively quiet about the idea; what has been posted by Ubuntu developers suggests a lack of enthusiasm for the idea. But if Debian makes the change, it could be hard for Ubuntu to retain the current filesystem layout.
In short, it looks like, over time, the move toward keeping all binaries and libraries in /usr will spread through most Linux distributions.
Given that most users will likely not even notice the change, it is natural to wonder why the change is so controversial. Undoubtedly, some people dislike significant changes to how traditional Linux systems have been laid out. Possibly, some creatively-organized systems will not handle the transition well, leading to problems that must be fixed. Conceivably, the change strikes some people as useless churn with no real benefits - at least for them. And, almost certainly, it is a bikeshed-type issue that is easy to have an opinion on and complain about.
The truth of the matter is that it appears to be a reasonably
well-thought-out change driven by some plausible rationales. Filesystem
hierarchies are not set in stone; there are times when it makes sense to
clean things up. The usrmove operation yields a filesystem that is easier
to understand, easier to manage, and more consistent in its organization.
Having been through the transition, your editor thinks it is probably worth
the trouble.
Posted Feb 28, 2012 0:51 UTC (Tue)
by tetromino (guest, #33846)
[Link] (14 responses)
For anyone interested in Gentoo's plans, here is the epic gentoo-dev thread on the topic: http://thread.gmane.org/gmane.linux.gentoo.devel/74464. The overall conclusion as I understood it is that there will be no flag day, individual packages will be migrated one by one from /bin to /usr/bin if and when forced to do so by upstream changes, and some sort of an initrd solution will be developed so that the people with a separate /usr partition would still be able to boot.
Posted Feb 28, 2012 7:59 UTC (Tue)
by jackb (guest, #41909)
[Link] (13 responses)
A lot of this resistance could be overcome tools like Dracut had better documentation, not just command line options but a step-by-step explanation of how it constructs the initramfs and what happens between when the kernel starts executing it and it hands over control to /sbin/init. Right now it's just a black box that works most of the time but when it fails those failures tend to be inexplicable.
I'm guessing the documentation that does exist was written based on a binary distribution paradigm where most users boot a pre-compiled kernel so the users for the most part don't need to know how dracut works internally to make sure their system will boot.
Posted Feb 28, 2012 11:04 UTC (Tue)
by smurf (subscriber, #17840)
[Link] (11 responses)
The only remaining directory that's unlikely to be a mount point is /etc; symlinking the two or three files that still need to be read-write off into /var/lib land is left as an exercise to the reader.
Posted Feb 28, 2012 13:27 UTC (Tue)
by jwakely (subscriber, #60262)
[Link]
Posted Feb 28, 2012 20:17 UTC (Tue)
by smcv (subscriber, #53363)
[Link] (9 responses)
/etc has to be on the root filesystem (or possibly be mounted by an initramfs if you use one): it contains /etc/fstab, which is required to mount the rest.
Posted Feb 29, 2012 0:09 UTC (Wed)
by rgmoore (✭ supporter ✭, #75)
[Link] (8 responses)
Unless you move
Posted Feb 29, 2012 8:14 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link] (7 responses)
Root will still be able to login even without their home directory in emergencies.
Posted Feb 29, 2012 15:56 UTC (Wed)
by jengelh (guest, #33263)
[Link]
The point of /root not being in /home is even more volatile (as in: potentially not available due to whatever outage) than /usr.
Posted Mar 1, 2012 12:38 UTC (Thu)
by smurf (subscriber, #17840)
[Link] (5 responses)
Posted Mar 1, 2012 12:56 UTC (Thu)
by Cyberax (✭ supporter ✭, #52523)
[Link] (4 responses)
Maybe it could be a job for union mounts (once Valerie Aurora gets them mainlined).
Posted Mar 3, 2012 17:00 UTC (Sat)
by dpquigl (guest, #52852)
[Link] (3 responses)
Posted Mar 3, 2012 22:07 UTC (Sat)
by Cyberax (✭ supporter ✭, #52523)
[Link] (2 responses)
And no, I'm not aware of any progress in that area.
Posted Mar 4, 2012 18:02 UTC (Sun)
by dpquigl (guest, #52852)
[Link] (1 responses)
Posted Mar 4, 2012 22:36 UTC (Sun)
by Cyberax (✭ supporter ✭, #52523)
[Link]
However, FUSE itself is not ready at all for high-performance filesystems. It's fine for things like sshfs over WAN but totally sucks for local filesystems.
Posted Mar 8, 2012 9:48 UTC (Thu)
by slashdot (guest, #22014)
[Link]
Posted Feb 28, 2012 2:00 UTC (Tue)
by russell (guest, #10458)
[Link] (12 responses)
Posted Feb 28, 2012 8:59 UTC (Tue)
by niner (subscriber, #26151)
[Link]
Posted Feb 28, 2012 14:32 UTC (Tue)
by SEJeff (guest, #51588)
[Link] (9 responses)
Posted Feb 28, 2012 14:38 UTC (Tue)
by mpr22 (subscriber, #60784)
[Link] (8 responses)
Posted Feb 28, 2012 14:41 UTC (Tue)
by SEJeff (guest, #51588)
[Link] (4 responses)
Something that isn't pointed out is that people who aren't ok with this move don't have to use Fedora / a systemd distro moving to this model. They could fork fedora or build their own distro. It isn't as though distributors are forcing a free distro down your throat :)
Posted Feb 28, 2012 17:43 UTC (Tue)
by drag (guest, #31333)
[Link] (2 responses)
Posted Feb 28, 2012 20:39 UTC (Tue)
by lindi (subscriber, #53135)
[Link] (1 responses)
seems to give quite opposite advice at least for official debian packages:
"Maintainers should not override the Debian Python interpreter using /usr/bin/env python or /usr/bin/env pythonX.Y. This is not advisable as it bypasses Debian's dependency checking and makes the package vulnerable to incomplete local installations of python."
Posted Feb 29, 2012 16:10 UTC (Wed)
by cortana (subscriber, #24596)
[Link]
Posted Feb 28, 2012 20:43 UTC (Tue)
by samroberts (subscriber, #46749)
[Link]
Posted Mar 5, 2012 9:53 UTC (Mon)
by jschrod (subscriber, #1646)
[Link] (2 responses)
Not like now, where you can't write a bash script for both Linux (/bin/bash) and FreeBSD (/usr/bin/bash) without using #!/usr/bin/env. Then it could just be /usr/bin/bash and we would be done. Just as in Solaris, since many years.
Posted Mar 5, 2012 10:55 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
instead of using absolute paths.
Posted Mar 5, 2012 12:12 UTC (Mon)
by jwakely (subscriber, #60262)
[Link]
Posted Mar 1, 2012 8:32 UTC (Thu)
by AndreE (guest, #60148)
[Link]
I don't think you are going to convince anyone that having to learn the arbitrary determinations of binary and library location (that differ from distro to distro) ,is a better state of affairs than knowing everything will be found under /usr
Posted Feb 28, 2012 3:21 UTC (Tue)
by pj (subscriber, #4506)
[Link] (26 responses)
...is why I've run debian continuously since 1995 or thereabouts. And when I say continuously, I mean that one system image has survived that long (module restores from backup after failed hardware). And been upgraded (remotely, via ssh or (back in the day) rsh, in most cases!) for that long.
I can't believe the haberdashy distros don't consider this a feature.
Posted Feb 28, 2012 8:32 UTC (Tue)
by michich (guest, #17902)
[Link] (8 responses)
Posted Feb 28, 2012 17:53 UTC (Tue)
by jspaleta (subscriber, #50639)
[Link] (6 responses)
-jef
Posted Feb 28, 2012 23:36 UTC (Tue)
by juliank (guest, #45896)
[Link] (5 responses)
And if you're running unstable, things are much more easier. You just upgrade once in a while and be happy.
Posted Feb 28, 2012 23:57 UTC (Tue)
by jspaleta (subscriber, #50639)
[Link] (3 responses)
Uhm okay. I guess reports like this are just fantasy right?
The discussion for this bug:
And I particularly like this upgrade bug
I will standby my previous statements as to anyone who thinks that live upgrading is a fire and forget process on any linux distribution. It is not..especially as the use case in question looks more and more like a median end-user usage case(with median end-users as admins) and less like a production server (with knowledgable admins at the helm making sure they do the necessary pre-upgrade prep)
-jef
Posted Feb 29, 2012 3:28 UTC (Wed)
by foom (subscriber, #14868)
[Link]
Now, I don't actually know how things work out in practice for Fedora, but the upgrade page says "Version updates without using anaconda - such as the yum method described here - is unsupported and not recommended!" and "Although upgrades with yum do work, they are not explicitly tested as part of the release process by the Fedora QA and are not documented in the Fedora installation guide."
Maybe that warning is wrong, but it really makes it *sound* like running yum upgrade is something that is not recommended and that is untested. While, in contrast, apt-get on a running system *is* the tested, documented, and supported upgrade mechanism for Debian. They really try to make sure it works properly for most users.
Posted Mar 5, 2012 22:41 UTC (Mon)
by man_ls (guest, #15091)
[Link]
Posted Mar 8, 2012 9:28 UTC (Thu)
by kragil (guest, #34373)
[Link]
Your Canonical-bashing is a lot better than this.
Posted Feb 29, 2012 11:57 UTC (Wed)
by etiennez (guest, #53056)
[Link]
Important informations I can remember reading in release notes for example: apt-get/aptitude incompatibility that could cause half your system to be uninstalled, recommended upgrade tool (aptitude vs apt-get) for best result, renaming of hard drive device (hd* => sd*), + lots of useful advices to avoid breaking things (packages you should probably upgrade first, etc).
The squeeze upgrade was quite trouble free IIRC, but it is not always the case.
Posted Feb 29, 2012 4:47 UTC (Wed)
by jmalcolm (subscriber, #8876)
[Link]
Red Hat Linux 9 -> Fedora Core 1 -> FC2 -> FC3 -> FC4 -> FC5 -> Centos 5 -> Scientific Linux 6.2
I must confess though that there are some old 'mailman' mailing lists on that thing that I am afraid to mess with. The way 'mailman' is configured changed somewhere along the way.
Posted Feb 28, 2012 8:52 UTC (Tue)
by mjthayer (guest, #39183)
[Link] (3 responses)
> ...is why I've run debian continuously since 1995 or thereabouts.
Posted Feb 28, 2012 14:20 UTC (Tue)
by corbet (editor, #1)
[Link] (1 responses)
Posted Feb 28, 2012 21:55 UTC (Tue)
by rvfh (guest, #31018)
[Link]
Posted Feb 29, 2012 5:01 UTC (Wed)
by jmalcolm (subscriber, #8876)
[Link]
Well, I have run into package incompatibilities here and there. I would say that knowing how to 'temporarily' break the RPM database has probably been required a couple times along the way. For example, you might have to force the installation or removal of a package that is blocking other change. Or, a newer package might want to overwrite a file that still falls under the dominion of an older package.
My memory of when these have been required is a bit cloudy as I have also done dumb stuff like go from Fedora to RHEL or vice versa. I even went from Mandrake to Fedora once.
Other than a few Scientific Linux and CentOS machines I am mostly off RPM based systems these days though. Having to source from multiple (inevitably incompatible) RPM repositories has always caused more trouble for me than moving from version to version of the OS. I have found it necessary far less often to source foreign packages (or install unmanaged applications) when using Ubuntu or Debian.
I have run into similar issues converting an Ubuntu machine to Debian or back as well. The machine I am typing on was originally an Ubuntu machine, was migrated to Linux Mint, and is now Debian Unstable. The whole migration was nothing more than overwriting sources.list and using 'apt-get' each time.
Posted Feb 28, 2012 9:07 UTC (Tue)
by niner (subscriber, #26151)
[Link]
It's certainly not impossible to avoid such problems in an on the fly upgrade, but it takes quite some effort. Effort which may be seen as better invested in other features like a solid unattended installation or upgrade process.
Same was true for openSUSE btw. On the fly upgrades tended to work but have only been recommended for the last couple of versions.
Posted Feb 28, 2012 12:20 UTC (Tue)
by Sho (subscriber, #8956)
[Link] (11 responses)
The reason this is better is that the system that is being upgraded is offline during the upgrade. A lot of software doesn't support being upgraded while it's running Things can go subtly wrong when files get swapped out underneath running instances, or config files get rewritten by upgrade processes to fit the new version and then the old version overwrites the changes when it's flushing state to disk while quitting. "Being replaced while running" is a scenario very few projects test for.
Posted Feb 28, 2012 13:06 UTC (Tue)
by khim (subscriber, #9252)
[Link] (2 responses)
Every rule has an exception. Google Chrome (and Chromium) are quite explicitly developed for such usage. Of course "silent upgrades" are their core design decision thus they have to support them. Other projects... are less forgiving. Our Linux support team likes to push upgrades every time you connect [loaned] laptop to a corp network. Firefox often becomes unusable as a result :-( Usually restart fixes it, but once or twice (in last five years) it corrupted profile beyond repair.
Posted Feb 28, 2012 13:25 UTC (Tue)
by Sho (subscriber, #8956)
[Link] (1 responses)
Basically, when code evolves, the format of its configuration file will sometimes change. One way to handle existing user config files using the old format is to retain support for reading the old format, and then write out the new format later, and that's indeed what apps often do. However, the KDE platform also contains an alternate mechanism called "kconf_update". With kconf_update, the application developer supplies scripts that will be run to transform a config file from one format into another (either in a simple DSL or something free-form specifying the interpreter), and a section in the config file is used to keep track of what scripts have already been run.
The problem lies in the "will be run" part. KDE sessions run a process called kded, the KDE daemon, which plays host to lightweight plugins that perform a variety of tasks, from holding binary caches of things like the app db to disk space warnings, etc. One of those plugins also watches directories for newly-installed kconf_update scripts and runs them immediately as it discovers them.
However, KDE apps also tend to flush their config out to disk while quitting.
You can see where this goes:
The reason this is very rarely a problem in practice is because config file format changes are rare to begin with, and the changes that do happen often include changing of the config key names, so the number of actual conflicts that occur is very low. But it's a possibility.
And yes, this is definitely a case of bad design.
Posted Feb 29, 2012 11:53 UTC (Wed)
by Lennie (subscriber, #49641)
[Link]
Because otherwise things will just go wrong.
Especially if you have several machines with /home on NFS or whatever which don't get upgraded at the exact same time.
Posted Feb 28, 2012 13:08 UTC (Tue)
by drago01 (subscriber, #50715)
[Link] (6 responses)
Updating the whole OS while it is running sounds to error prone to me (it can work but it is kinda fragile).
Posted Feb 28, 2012 15:17 UTC (Tue)
by sorpigal (guest, #36106)
[Link] (5 responses)
It seems like we accidentally managed to make this work nearly without flaw.
Posted Feb 28, 2012 15:21 UTC (Tue)
by Sho (subscriber, #8956)
[Link] (4 responses)
Posted Feb 28, 2012 23:37 UTC (Tue)
by cmccabe (guest, #60281)
[Link] (2 responses)
Does knowing how to press the power button make you a "power user"? If so, I weep for the future of computing.
Posted Feb 29, 2012 0:57 UTC (Wed)
by mgedmin (subscriber, #34497)
[Link] (1 responses)
A power user might fix it (dpkg --configure -a; apt-get install -f; apt-get dist-upgrade).
Posted Mar 4, 2012 6:25 UTC (Sun)
by cmccabe (guest, #60281)
[Link]
Just to be clear, the issue we were talking about was version skew in libraries causing applications to misbehave during the upgrade.
Posted Feb 29, 2012 13:21 UTC (Wed)
by sorpigal (guest, #36106)
[Link]
Posted Mar 4, 2012 17:45 UTC (Sun)
by dirtyepic (guest, #30178)
[Link]
I'm going to have to call bullshit on that one. See every rolling distro ever.
> or config files get rewritten by upgrade processes to fit the new version
Well, first of all, don't overwrite config files. Store the new config somewhere else and give the user an interactive diff tool. Second, any service that writes state to a file that would get overwritten on a reinstall is broken. Any service that can't recognize state information from its previous version is broken.
> "Being replaced while running" is a scenario very few projects test for.
Because it rarely causes problems. The majority of Gentoo systems are upgraded continually while in use. The biggest problem I had after upgrading and recompiling every package installed on a system that hadn't been updated in six months, which included major gcc and glibc updates, was Firefox wouldn't open links sent to it from external programs until I restarted it.
Posted Feb 28, 2012 3:30 UTC (Tue)
by mrons (subscriber, #1751)
[Link]
Posted Feb 28, 2012 3:51 UTC (Tue)
by bats999 (guest, #70285)
[Link] (18 responses)
On a somewhat related note, I'd like to make a motion to retire the term "bikeshedding".
Posted Feb 28, 2012 6:01 UTC (Tue)
by krakensden (subscriber, #72039)
[Link] (2 responses)
Posted Feb 28, 2012 6:07 UTC (Tue)
by felixfix (subscriber, #242)
[Link]
Posted Feb 28, 2012 16:25 UTC (Tue)
by JEFFREY (guest, #79095)
[Link]
Posted Feb 28, 2012 7:10 UTC (Tue)
by peter-b (guest, #66996)
[Link] (12 responses)
Why?
Posted Feb 28, 2012 17:37 UTC (Tue)
by drag (guest, #31333)
[Link]
Posted Feb 28, 2012 18:21 UTC (Tue)
by pboddie (guest, #50784)
[Link] (10 responses)
Posted Feb 28, 2012 19:32 UTC (Tue)
by josh (subscriber, #17465)
[Link] (5 responses)
Posted Feb 29, 2012 12:11 UTC (Wed)
by pboddie (guest, #50784)
[Link] (4 responses)
Posted Feb 29, 2012 12:21 UTC (Wed)
by mpr22 (subscriber, #60784)
[Link] (2 responses)
From where I'm sitting, moving to "retire the term 'bikeshedding'" sounds like a request to remove the word from use. All that could be achieved thereby is to cause people to concoct a new word to express the same sentiment (see also the history of words like 'moron', 'idiot', etc). That process would, in turn, probably result in a great deal of bikeshedding and miscommunication until a new status quo was achieved... whereupon someone who has then the same motives that you do now would doubtless demand that we stop using the new word for bikeshedding.
Posted Feb 29, 2012 19:45 UTC (Wed)
by jospoortvliet (guest, #33164)
[Link] (1 responses)
Posted Mar 1, 2012 14:34 UTC (Thu)
by nix (subscriber, #2304)
[Link]
Posted Mar 1, 2012 8:45 UTC (Thu)
by AndreE (guest, #60148)
[Link]
Posted Feb 29, 2012 9:02 UTC (Wed)
by marcH (subscriber, #57642)
[Link] (3 responses)
Wow! So, bikeshedding, ad hominems and bad journalism have all vanished from the Internet? This should make the headlines!
Posted Feb 29, 2012 18:43 UTC (Wed)
by jond (subscriber, #37669)
[Link] (2 responses)
(sorry.)
Posted Feb 29, 2012 22:56 UTC (Wed)
by marcH (subscriber, #57642)
[Link] (1 responses)
One of the easiest ways to troll: fight exaggeration with exaggeration. Sorry I fed it.
Posted Mar 1, 2012 18:12 UTC (Thu)
by pboddie (guest, #50784)
[Link]
Posted Feb 29, 2012 23:01 UTC (Wed)
by marcH (subscriber, #57642)
[Link]
The Internet IS bikeshedding (once you remove porn).
Posted Mar 1, 2012 16:27 UTC (Thu)
by drago01 (subscriber, #50715)
[Link]
The term at least has a meaning. I'd rather retire the term "power user" ;)
Posted Feb 28, 2012 5:19 UTC (Tue)
by pr1268 (guest, #24648)
[Link] (1 responses)
As a Slackware (13.37) user, I'm curious how much impact usrmove would have on my system. Refer to: Apparently, Slackware places a lot of the "mission-critical" utilities in /bin and symlinks to them from /usr/bin1. Now, It'd be easy for me to move everything in /bin to /usr/bin (removing the symlinks first, of course), but then I'm wondering how much other stuff would break... FWIW, my /usr is not on a separate partition. Accordingly, I'm guessing not much would break, and if it did, I could "restore" /bin via a symlink (as the article said other distros are doing). Might warrant some hacking time (after I back everything up first)... > the practice of moving files and leaving a symbolic link in their place has a long history. Of course, somebody has probably patented it anyway. On the one hand, our editor is known for his wry sense of humor. On the other hand, I get a little nervous sometimes when I think he might be closer to the truth with that statement than we'd like. :-\ 1 I'm assuming this makes it easier for the shell to find executables as Slackware's profile scripts put /usr/bin in the $PATH earlier than /bin.
Posted Feb 28, 2012 6:23 UTC (Tue)
by josh (subscriber, #17465)
[Link]
Posted Feb 28, 2012 8:51 UTC (Tue)
by pflykt (subscriber, #2757)
[Link] (2 responses)
I don't see any signs of getting rid of / anytime soon, it just moves over to initramfs instead. And when all necessary repair tools are usable from an initramfs shell, it will all look just too familiar like the way it was in 1992.
Posted Feb 28, 2012 22:03 UTC (Tue)
by rvfh (guest, #31018)
[Link] (1 responses)
That also lead some embedded systems to making / the core boot stuff that remains read-only (with proper links in /etc such as /etc/mtab) and /usr where the real stuff takes place and upgrades can occur.
Posted Aug 19, 2021 9:17 UTC (Thu)
by immibis (subscriber, #105511)
[Link]
I actually have one system which has a real partition instead of an initramfs. It works fine. Apparently the only problem is that the tools to maintain it don't exist.
initramfs typically terminates by mounting something else over / using the pivot_root syscall. But there's no reason only an initramfs can do that! You are free to install a minimal system locally and then have its init set up the network and NFS and then pivot_root to NFS.
Posted Feb 28, 2012 9:20 UTC (Tue)
by cjwatson (subscriber, #7322)
[Link] (7 responses)
Posted Feb 28, 2012 11:21 UTC (Tue)
by cesarb (subscriber, #6266)
[Link] (5 responses)
Posted Feb 28, 2012 14:30 UTC (Tue)
by pbonzini (subscriber, #60935)
[Link] (1 responses)
Posted Mar 1, 2012 12:59 UTC (Thu)
by smurf (subscriber, #17840)
[Link]
Posted Feb 28, 2012 14:44 UTC (Tue)
by wookey (guest, #5501)
[Link]
Mass rebuilds are good for checking everything is still buildable (Debian regularly finds old stuff that doesn't actually rebuild anymore due to changes around it, because we do in fact do test mass rebuilds on x86 from trime to time), and it propogates toolchain improvements. But it does need much more build resource than incremental building. The more arches you support the harder it is to do.
Posted Feb 28, 2012 14:48 UTC (Tue)
by sorpigal (guest, #36106)
[Link]
Posted Feb 28, 2012 23:43 UTC (Tue)
by juliank (guest, #45896)
[Link]
Posted Feb 28, 2012 17:39 UTC (Tue)
by jspaleta (subscriber, #50639)
[Link]
I think there is a truism that just can't be gotten around. The different approaches to distribution release timescale being used by Debian versus Fedora greatly influence decision making.
I think there is a lot of truth to the idea that Debian's "release when its ready" approach with much longer timescales between official releases of a stable offering is more aligned with gradual technology transitions.
I also think that the Fedora twice yearly release cycle timescale imposes constraints which weigh against gradual processes in favor of distinct coordinated transitions.
And I further believe that this is an entirely okay situation as Debian and Fedora as projects put the emphasis on very different priorities in their project focus. Hopefully the good new ideas will cross-pollinate. And the bad ideas will be allowed to quietly be allowed to taken outback and shot.
-jef
Posted Feb 28, 2012 11:42 UTC (Tue)
by dps (guest, #5725)
[Link] (2 responses)
Keeping at least some tools allows me to upgrade those tools without re-installing grub and running of out of space in /boot, which is also a separate partition, which I usually mount read only.
I would like to be able to mount / read only too but that is more difficult.
Posted Feb 28, 2012 13:01 UTC (Tue)
by niner (subscriber, #26151)
[Link]
Just don't expect every general purpose distribution to conform to your very special requirements.
Posted Feb 28, 2012 17:57 UTC (Tue)
by hmh (subscriber, #3838)
[Link]
An initramfs enforces that the worst of the bling is kept away from your early boot.
Posted Feb 28, 2012 14:11 UTC (Tue)
by jzbiciak (guest, #5246)
[Link] (3 responses)
I have to say, two things in this article caused me two completely different flashbacks. ...flashed me back to this day on a different website. And then this: I still remember that. No more QMAGIC (or my favorite for very, very small programs, NMAGIC). Ok... enough reminiscing. There's one question I do have, related to this: The question that came to mind for me immediately was why package updating broke at all. Why couldn't all of these unable-to-update packages do their own piecemeal move? If a few related packages have to move as a group, give them a common dummy package as a dependency that does the group move first. Why break package updates and require this flag day? Without the package-breaking flag day, I don't think it follows that this will become a lingering transition. You have a flag day for package standards, and the packages will all end up moving themselves. I guess the downside is that now you're left with a /bin and /lib full of symlinks rather than a single symlink each for /bin and /lib. I'm no packaging whiz (far, far from it), but it seems like that could be cleaned up with another package that would depend on all the piecemeal moves. But, all the intermediate states do look messier. And, it doesn't account for any locally-installed software that probably should be in /usr/local/*. (*tsk* *tsk*!) Ugh. Yeah, this does smell a bit of the ELF/a.out transition.
Posted Feb 28, 2012 14:59 UTC (Tue)
by mathstuf (subscriber, #69389)
[Link]
Posted Feb 28, 2012 19:11 UTC (Tue)
by hpa (guest, #48575)
[Link] (1 responses)
Posted Feb 28, 2012 19:18 UTC (Tue)
by corbet (editor, #1)
[Link]
Posted Feb 28, 2012 16:55 UTC (Tue)
by dskoll (subscriber, #1630)
[Link] (22 responses)
This is all wrong!!!! We should get rid of /usr and have top-level directories only, like /bin, /share, /lib and /man.
Shorter paths are better!! (No seriously, what's the point of even having /usr?)
(/me ducks...)
Posted Feb 28, 2012 17:42 UTC (Tue)
by drag (guest, #31333)
[Link] (1 responses)
$ find /usr | grep whatamilookingforexactlynow
$ tar cz /usr > /tmp/lunix.tar.gz
$ cat /etc/fstab|grep /usr
etc. etc. :)
Posted Feb 28, 2012 22:17 UTC (Tue)
by rvfh (guest, #31018)
[Link]
Posted Feb 28, 2012 23:51 UTC (Tue)
by rgmoore (✭ supporter ✭, #75)
[Link] (19 responses)
The idea is that you should be able to have a separate partition for each different kind of data. It should be possible to keep read-only data (or data that is only supposed to be written by a sysadmin) on a separate partition from data that's frequently written, data that's specific to a particular machine separate from data that can be shared across multiple machines, and data that is volatile across a reboot separate from data that needs to be preserved across reboots. So the idea is that standard partitions are supposed to be:
Note that not all combinations make sense. It only makes sense to have a volatile partition that's read-write (how would a volatile read-only partition accumulate any files after being wiped?) and machine specific (whose reboot would a shared volatile partition be volatile across?). Other than that, though, you have all the possible combinations.
I think that part of the problem right now is that there's a legitimate disagreement about the function of
Posted Feb 29, 2012 0:02 UTC (Wed)
by dlang (guest, #313)
[Link]
you may want your main system on a small SSD for fast reading, while data that is being archived (and seldom read like log files) are on a slower, but large SATA drive, and other data may need to be on a raid array for redundancy.
Posted Feb 29, 2012 13:42 UTC (Wed)
by sorpigal (guest, #36106)
[Link] (2 responses)
Maybe it's time to lay out a new FHS, beginning by describing all of the uses we need to get out of it, and make one big painful move instead of this piecemeal nobody-is-happy stuff.
Q: If initramfs is the new "minimal root" and we have to maintain it anyway just to boot, can we maintain it in its own partition mounted on /init/ and re-do the boot process to use that path at all times whether it's a real disk or a ramfs?
Q: If /tmp and and /etc are local-only, but /usr is not, is there a way we can signal that in the FHS so that people can't be easily confused in the future?
I don't know, but it seems like fighting about what should go in /usr and whether anybody really needs to share it over NFS is idiotic and tangential to the real issue, which is how to solve problems people actually have. Nobody seriously cares where files are located as long as everyone can still do what they need to do.
It's a bit like Debian's multi-arch. There are a lot of ways to solve a lot of little problems but only a few that solve them in a big way for a long time.
Posted Feb 29, 2012 20:22 UTC (Wed)
by dlang (guest, #313)
[Link] (1 responses)
Posted Mar 1, 2012 11:27 UTC (Thu)
by sorpigal (guest, #36106)
[Link]
Posted Mar 1, 2012 7:29 UTC (Thu)
by filteredperception (guest, #5692)
[Link] (5 responses)
While your answer to the question I was trudging through dozens of comments to get to (not worth a sentence in the article?) was quite long, I don't think it was sufficient. I think your answer was still within the debate of 'should the move happen'. But what I think the original ducking questioner was asking was-
If you are one of the people who believe in moving /* stuff to /usr/, then please explain why you specifically think that is better than the opposite of moving /usr/* stuff to /, as that would achieve shorter paths, and since, at least from a limited perspective, _once you are in the usrmove camp_, it seems hard (unless us duckers are missing something obvious) to explain what the point of /usr is at all.
Posted Mar 1, 2012 8:00 UTC (Thu)
by filteredperception (guest, #5692)
[Link] (1 responses)
Posted Mar 1, 2012 18:25 UTC (Thu)
by rgmoore (✭ supporter ✭, #75)
[Link]
I think something like
Posted Mar 1, 2012 21:11 UTC (Thu)
by jspaleta (subscriber, #50639)
[Link] (2 responses)
-jef
Posted Mar 1, 2012 23:48 UTC (Thu)
by filteredperception (guest, #5692)
[Link] (1 responses)
Posted Mar 1, 2012 23:52 UTC (Thu)
by filteredperception (guest, #5692)
[Link]
Posted Mar 1, 2012 20:42 UTC (Thu)
by dskoll (subscriber, #1630)
[Link] (1 responses)
/ Machine specific, read-only I'm sold. That's a beautiful, clear and logical explanation. Thanks.
I guess /var/tmp either has to go or we have to separate the
"volatile" filesystems into "volatile-and-likely-to-fit-in-RAM" vs.
"volatile-and-possibly-enormous".
Posted Mar 1, 2012 21:28 UTC (Thu)
by nybble41 (subscriber, #55106)
[Link]
I believe /var/tmp is generally considered to be "stable across reboots", so at least that much would remain consistent. *Old* files may be deleted from /var/tmp, of course, but while files in /tmp are only valid for the life of a single process (and thus can always be deleted after a reboot), files in /var/tmp represent transient data which may nonetheless remain useful well after the process which created it has exited.
Since /var/tmp is defined as stable it's unlikely to be located on a RAM disk, but applications using large temporary files must still be prepared for the possibility of running out of free space.
Posted Mar 2, 2012 5:37 UTC (Fri)
by david.a.wheeler (subscriber, #72896)
[Link] (6 responses)
Also add:
(Where "read-only" means "written only by special sys admin actions")
BTW, I am *glad* that there was a usrmove argument. When someone proposes a big change to some convention that is widely used, people should examine it for problems BEFORE it's changed, and any change has some pain. I think usrmove is overall a good idea, though.
Posted Mar 2, 2012 15:54 UTC (Fri)
by rgmoore (✭ supporter ✭, #75)
[Link] (5 responses)
But there's no particular reason to split /etc out as a separate directory. It's already a subdirectory of /, which has the same general requirements of being machine specific and only alterable by root. And you probably don't want it as a separate partition because it contains
Posted Mar 2, 2012 19:38 UTC (Fri)
by Cyberax (✭ supporter ✭, #52523)
[Link] (4 responses)
After all, the only major remaining filesystem is /home and maybe a swap partition.
Posted Mar 6, 2012 1:36 UTC (Tue)
by rgmoore (✭ supporter ✭, #75)
[Link] (3 responses)
I don't see
Posted Mar 6, 2012 11:37 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (2 responses)
For example, Amazon EC2 nodes have specialized disks for scratch space. I want to assemble a RAID-0 of them, format them as XFS and then mount them on /tmp.
In my ideal world the fstab-ng would have entry like:
Where assemble-scratch-raid is, perhaps, a systemd task.
Posted Mar 6, 2012 21:48 UTC (Tue)
by rgmoore (✭ supporter ✭, #75)
[Link] (1 responses)
I could definitely see a reworked
Posted Mar 6, 2012 22:03 UTC (Tue)
by dlang (guest, #313)
[Link]
while I would agree that there are nicer ways to configure what's managed by fstab, there is a large pool of tools and training that know the existing format, what may have been a great change to make 30 years ago needs much more justification now.
Posted Feb 28, 2012 19:47 UTC (Tue)
by miguelzinho (guest, #40535)
[Link] (4 responses)
Posted Feb 28, 2012 21:35 UTC (Tue)
by khim (subscriber, #9252)
[Link] (1 responses)
Often it does not really matter just why this or that decision was made. Other, different things start depending on it. And often even if the initial decision was done on a whim it can not be changed later because other, different things start to depend on it. One example from my own practice: when I've developed compiler for x86-64 NaCl I've noticed that our security model makes it actually impossible to address more then 4GiB of address space and this makes 8bytes pointers (normal for x86-64) kinda pointless. We've talked a bit about it, I've tried to switch GCC to model with 4 byte pointers in memory (which was easy enough to do) and we used the result (it was faster and used less memory: what's not to like?). For about month or two our compiler had insane model where pointers were 4 bytes long and "longs" were 8 bytes long, but we've found out quite soon that such combination just triggers too many bugs in programs. Eventually we've standardized on ILP32 model. Later, when PNaCl effort was started they found out that all NaCl compilers (X86-32, X86-64 and ARM) are using ILP32 model - and this was embedded in the bitcode format! Now, if we'll try to change x86-64 NaCl memory model we'll find out that it'll not be easy to do. Even if the initial motivation was just to save some memory by removing useless zero bytes (and to get slightly better results on benchmarks as a bonus) today there are another justification. And this happened just in a few last years! As you can guess Linux has somewhat longer history and / vs /usr split was used for different things along these years. It looks like today they all are not really valid (Linux does not include one set of programs in /bin and another, totally different, in /usr, for example) but it's not enough to say "hey, Ken and Dennis leaked their OS into the equivalent of home because an RK05 disk pack on the PDP-11 was too small thus today it's all is not needed because we don't use RK05 disk packs". No, we should evaluate situation today and look on the use of said split today. Why it was done in first place is not important question (unless you like UNIX folklore). Why it's used today is an important question. That's why 40 years old fairy tales are not even mentioned in the appropriate place.
Posted Feb 29, 2012 9:16 UTC (Wed)
by jezuch (subscriber, #52988)
[Link]
It's basically how culture "happens". "We do this because, uh, well, waidaminute... We do this because our parents and out grandparents did this, go away and don't ask stupid questions!"
;)
Posted Feb 28, 2012 21:41 UTC (Tue)
by flewellyn (subscriber, #5047)
[Link] (1 responses)
I do note this amusing bit from the post:
>I'm still waiting for /opt/local to show up...
I have seen this in the wild! If you use Macports on OS X, /opt/local is where the ports tree and all packages installed through it live.
Posted Feb 29, 2012 13:53 UTC (Wed)
by sorpigal (guest, #36106)
[Link]
Posted Feb 28, 2012 23:43 UTC (Tue)
by bojan (subscriber, #14302)
[Link] (8 responses)
Oh, and when is umount finally going to get an 'n'?
;-)
Posted Feb 29, 2012 5:32 UTC (Wed)
by mathstuf (subscriber, #69389)
[Link]
Posted Feb 29, 2012 13:47 UTC (Wed)
by james (subscriber, #1325)
[Link]
When is Linux going to get this sort of enterprise-level functionality out-of-the-box?
(Three buzz-phrases in one sentence -- my fingers feel dirty.)
Posted Mar 2, 2012 16:08 UTC (Fri)
by dmm (guest, #9815)
[Link] (5 responses)
Posted Mar 2, 2012 22:52 UTC (Fri)
by anselm (subscriber, #2796)
[Link]
That's already spoken for.
Posted Mar 8, 2012 14:05 UTC (Thu)
by nye (subscriber, #51576)
[Link] (3 responses)
ITYM '/Et Cetera/My Filesystem Table'
(So apparently one of the reasons for 'c:\Program Files', when other options like 'c:\Programs' seem more sensible is that it was a way to flush out programs which didn't handle spaces in file paths.)
Posted Mar 8, 2012 14:46 UTC (Thu)
by khim (subscriber, #9252)
[Link] (2 responses)
And, of course “c:\Windows” is not “c:\Windows System” because Windows itself does not like spaces (or long file names). Typical for Microsoft: everyone else should fix their programs when they port to new version of Windows (old programs saw “C:\PROGRA~1” and were happy), but Microsoft don't. P.S. This is not a speculation: Windows9x gave you ability to select name of directory where you can install it. I've installed it in “c:\Program Files\Windows” (to keep it confined to a single subdirectory) and then various Microsoft packages started complaining that they should be moved from “c:\Program Files\Windows” to “c:\PROGRA~1\WINDOWS”… When I've reported it as a bug in DirectX the bug was closed as INVALID with comment that you should not use non-MSDOS names from the main Windows directory.
Posted Mar 8, 2012 18:45 UTC (Thu)
by farnz (subscriber, #17727)
[Link] (1 responses)
Windows 95 is not a fair comparison here, though. It, Windows 98 and Windows ME were all stop-gaps until Windows NT was able to replace them (which it got close to with Windows 2000, and managed with Windows XP), and they did a variety of interesting things related to their ability to use MS-DOS device drivers for low level filesystem access. It's much the same situation as criticising Linux, because when you run certain apps on a FreeBSD system with their Linux compatibility layer they don't work well.
Of course, this shows one side of the "gradual change" coin - Windows XP was released in 2001, so it took Microsoft 6 years to shift people in their preferred direction.
If you could repeat the experiment with NT-based Windows, that would be interesting; I don't know if any NT Windows could install to a directory other than C:\Windows or C:\WINNT, however.
Posted Dec 13, 2012 15:18 UTC (Thu)
by mirabilos (subscriber, #84359)
[Link]
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
/root (how could we forget about that?) to /var/root first. At that point, /etc would be the only non-mount point under /, so you could convert / into a virtual filesystem that just contained a bunch of mount points, with /etc being one of those mounts.
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Some login methods require files in $HOME. sshd with authorized_keys is only one of them. Not every system has a console, and even if it has one I don't want to force somebody to go to the data center and plug something magic into some blade system just because a reboot has managed not to mount $HOME.
(Which might as well be on NFS. To require a working NFS for root login is stupid.)
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
ISTR there are definitely contexts where you either shouldn't be trusting PATH at all, or should be forcing it to a known value yourself. (#! lines are one of them, IIRC.)
Various notes on /usr unification
Various notes on /usr unification
#!/usr/bin/env python
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
>#!bash
or
>#!env bash
You can, but it means the same as #!./bash so probably doesn't do what you wanted.
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
> Fedora policy has always said that using the yum tool to update an installation to a newer release of the distribution is not supported; one is supposed to use a CD or the preupgrade tool for that purpose.
Various notes on /usr unification
Various notes on /usr unification
With enough care and attentiveness most if not all gotchas for any distribution can be worked around. Based on the information in Chapter 4 and Chapter 5 in that Debian document you reference I wouldn't really call the live Debian upgrade a fire and forget automated process either. You really do need to be aware of that document before you attempt it.
Various notes on /usr unification
Various notes on /usr unification
http://bugs.debian.org/cgi-bin/pkgreport.cgi?package=upgr...
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=614159
relies heavily on pointing to the release notes on how to avoid the problems encountered.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=598068
"Unfortunately there's no safe solution for it"
Various notes on /usr unification
Sounds like a smokescreen to me. All we are saying is that live upgrading a Debian system is supported, while on Fedora it is not. Not that it is flawless.
Various notes on /usr unification
Various notes on /usr unification
In place upgrades generally work just great and are supported on Debian. Sure they are not 100% perfect for everyone, but they have been for me.
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
> A bit offtopic, but:
>> Fedora policy has always said that using the yum tool to update an installation to a newer release of the distribution is not supported; one is supposed to use a CD or the preupgrade tool for that purpose.
[...]
As a long-ish term Ubuntu user I am in the same situation (and since I don't tend to fiddle more than necessary it actually works for me). I'm interested to hear from someone in the other camp how much work it ends up being reinstalling your system on every release. I can't help thinking (warning, mild troll coming up) that it should be easy but is probably made difficult by the way that Linux systems and the software running on top of them aren't more cleanly separated in popular distributions.
Note that you don't have to reinstall to get to a new release. Well, I guess RHEL doesn't support major release upgrades, but it's the exception. Fedora does upgrades just fine (modulo the occasional difficulty), but you're supposed to running anaconda from a separate root to do it in the supported way.
Upgrading
Upgrading
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
"Being replaced while running" is a scenario very few projects test for.
Various notes on /usr unification
1. The package manager installs a new version of $app that ships a kconf_update script while the user is logged into KDE and has $app running.
2. The kconf_update plugin in kded notices the new script and runs it, reformatting $app's config file.
3. The user quits the currently-running old version, which flushes its config out to disk as it shuts down, potentially overwriting changes made by the script.
4. The user now runs the new version which may now run into problems reading its config file.
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
You're not wrong, but I find myself wondering whether, if we've come this far without really trying, it might not be worthwhile to test for this usage and make the "unequipped" users able to do it in relative safety.
Various notes on /usr unification
Various notes on /usr unification
> and then the old version overwrites the changes when it's flushing state
> to disk while quitting
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
This is called the euphemism treadmill.
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
me@mybox:~$ which ls
/usr/bin/ls
me@mybox:~$ file $(which ls)
/usr/bin/ls: symbolic link to `../../bin/ls'
me@mybox:~$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Mass rebuilds
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
[U]sers don't like to have their ponies taken away, even if nobody had ever said they could have a pony in the first place.
Your editor . . . was reminded of doing the manual transition from the a.out to the ELF executable format on a Slackware system many years ago.
Fedora has forced a flag day requiring the entire thing to happen at once; Debian, instead, has carefully avoided flag days in favor of a carefully-planned step-by-step change. One could argue that the Debian approach is better: it lets the transition "just happen" through normal package updates without the need for any special actions on the part of administrators or users.
Various notes on /usr unification
Various notes on /usr unification
Ouch, man, some of us have brutally suppressed those memories and don't welcome the reminder...
Mercy
Various notes on /usr unification
Various notes on /usr unification
nfs4.example.com/lunix/usr/ /usr nfs4 defaults 0 0
Wondering why we keep /usr/bin instead of /bin too
Various notes on /usr unification
No seriously, what's the point of even having /usr?
/ Machine specific, read-only
/var Machine specific, read-write, stable across reboots
/tmp Machine specific, read-write, volatile across reboots
/usr Shared, read-only
/home Shared, read-write
/. Some people are big believers in the "separate partition for separate kinds of data" idea, and they want to move all binaries and libraries into /usr. Other people see the main function of / as a minimal system partition that can be used to bring the rest of the system up, and they want to keep essential binaries and libraries in /.
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
I don't insist on one. If the issue is packaging effort it seems logical to take what is built for initramfs purposes and make that the "minimal root" stuff for people without an initramfs, just place it on disk as usual.
Various notes on /usr unification
iff you accept /* -> /usr/*, then why not instead /usr/* -> /*
iff you accept /* -> /usr/*, then why not instead /usr/* -> /*
/local vs /usr/local
/local for code that is specific to an individual machine makes sense. Of course, software that's specific to an individual machine is probably being handled outside the distribution, or it would go wherever the distro decides it belongs. That makes dealing with it a local policy issue, so you're free to name and deal with it however you see fit.
iff you accept /* -> /usr/*, then why not instead /usr/* -> /*
bringing the /me directory into the conversation is just unnecessary complexity.
iff you accept /* -> /usr/*, then why not instead /usr/* -> /*
iff you accept /* -> /usr/*, then why not instead /usr/* -> /*
Various notes on /usr unification
/var Machine specific, read-write, stable across reboots
/tmp Machine specific, read-write, volatile across reboots
/usr Shared, read-only
/home Shared, read-writeVarious notes on /usr unification
Various notes on /usr unification
/ Machine specific, read-only
/var Machine specific, read-write, stable across reboots
/tmp Machine specific, read-write, volatile across reboots
/usr Shared, read-only
/home Shared, read-write
/etc Machine specific, read-only
Various notes on /usr unification
fstab. which is important to have immediately on mounting /.
Various notes on /usr unification
Various notes on /usr unification
fstab as losing its importance. You still need some place to record the identifiers and mount points for the key partitions, which may include things like /var, /tmp, /opt, and /usr/local in addition to the ones you mentioned. That information has to remain available after initramfs has done its job, and root still needs to be able to edit it in case the hardware configuration changes. It seems to me that it's simpler to have one canonical copy of fstab that's located on the one disk that initramfs knows about by itself. The mount process is a bit more complicated than it would be if initramfs had its own copy of fstab- you have to mount that disk, read fstab, and then mount any other disks mentioned there- but that's still simpler than trying to keep two copies of fstab in sync by rebuilding initramfs any time the canonical copy is edited.
Various notes on /usr unification
>none /tmp xfs defaults,noatime depends-on=assemble-scratch-raid
Various notes on /usr unification
fstab format. Even if you don't want to work in dependencies- there's some concept of ordering, at least- the format is also terse and cryptic. I wouldn't mind something a bit more verbose and readable. Just don't let Lennart Poettering get involved, or it'll generate another tempest in a teapot no matter how good an idea it is.
Various notes on /usr unification
After reading this I was completely amazed to know how the creation of /bin, /sbin and /lib were actually an workaround to hardware limitation.
The article's title must change to "Various notes on /usr RE-unification, 30 years late".
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
Various notes on /usr unification
I think the point is that it's not just some justifications after the fact, it's new requirements that happen to rely on old behaviors. Change the old behaviors, break the new requirements. Maybe the original behavior was silly but the new requirement still relies on it and if you change the original behavior users of the new thing will not be satisified with "the original reason for that behavior no longer exists."
Various notes on /usr unification
The most important question not asked
The most important question not asked
AIX has had an unmount command (hardlinked to umount and doing the same thing) for over twenty years, judging by this AIX 1.3 manpage.
The most important question not asked
The most important question not asked
The most important question not asked
The most important question not asked
The most important question not asked
The most important question not asked
The most important question not asked
