5 ms·
Well isn't the Unix way still plaguing us with legacy craziness? How many bin directories do we need?
by xellisx 6y ago
Well isn't the Unix way still plaguing us with legacy craziness? How many bin directories do we need?
- edoceo 6y ago4: /bin, /usr/bin, /usr/local/bin and then ~/bin - for per-user commands, first in path if you allow it.
- ori_b 6y agoThat's cargo culting -- a computer at bell labs once ran out of disk space on the system disk (/), people put binaries in a directory on the user disk (/usr), and everyone started to copy it for all eternity.
- wmf 6y agoRight, and systemd is pretty much the only successful attempt to de-cargo-cult Unix.
- ori_b 6y agoWut. What has it de-cargo-culted? Most of the stuff that could use de-cargo-culting is still there under it.
- mappu 6y agoRunlevels, for one.
- ori_b 6y agoOh. That's a linuxism. BSD has never had them, iirc. I don't think any of the other simpler init systems (eg, runit) did either.
- catblast 6y agoNo that’s a SysVism.
- JdeBP 6y ago... that went away in parts of the System 5 world a year before Linux even existed. * http://jdebp.uk./FGA/run-levels-are-history.html http://jdebp.uk./FGA/run-levels-are-history.html getty was obsolete in the System 5 world two years earlier than that, in 1988. * http://jdebp.uk./FGA/inittab-getty-is-history.html http://jdebp.uk./FGA/inittab-getty-is-history.html Whilst not peculiar to Linux, it after all having been created for Minix, the van Smoorenburg init+rc system did resurrect some things that were already years gone in the System 5 world. Calling them "sysv" has always been somewhat of a misnomer. They are Linux/Minux clones of old System 5 mechanisms that were out of date at the time.
- majewsky 6y agoInit scripts used to be mostly unportable since every distro shipped with their own support library. You could technically have a portable init script, but it would not behave like the rest of the distro's native init scripts in terms of status reporting etc. systemd units behave the same across all distributions. Another smaller thing: /etc/os-release replacing the various /etc/*-release files.
- ori_b 6y agoCargo culting is the practice of blindly copying a solution without understanding why it makes sense and when it might not apply. You're describing the opposite.
- majewsky 6y agoFictional Debian dev A: "Why do we have /etc/debian-release? Can't we have a release declaration file with a neutral name, like maybe /etc/os-release, in a format that all other distros can adopt?" Fictional Debian dev B: "That's how we've always done it. Plus if we touch it it might break some guy's script." It may not be exactly cargo culting, but at least an adjacent concept.
- ori_b 6y agoAnd that's why we now have BOTH /etc/debian_version AND /etc/os-release. Systemd didn't lead to debian getting rid of the former. So now, not only do you have people writing code that behaves differently (or, more likely, breaks) on different OS versions, it has two different files that it will look at for this. I wonder how long it'll be before the contents of that file start resembling a user-agent string, complete with "Ubuntu-16.10/Compatible"
- JdeBP 6y agoThat's a story invented years after the fact without historical basis. The actual conversations amongst Debian developers went rather differently. * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=444678 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=444678 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659891 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659891 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659853 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659853 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=703677 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=703677 * https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=914287 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=914287
- JdeBP 6y agoYou are conflating Unix with Linux-based operating systems.