4 ms·
Both this and LFS reminds me that Linux makes sense until you get the DEs involved. At that point shit just sprawls all over the place as there are no longer an
by digi_owl 10y ago
Both this and LFS reminds me that Linux makes sense until you get the DEs involved. At that point shit just sprawls all over the place as there are no longer any notion of layers.
- thomastjeffery 10y agoThe problem is described perfectly with the name: desktop environment. The very goal of a desktop environment is to create an entire environment, rather than using the one that is already there. Desktop environments like GNOME and MADE have so many worthless parts that are tightly coupled dependencies, they end up becoming the same bloated mess that Windows and OS X are. If a desktop environment focused on creating separate packages that played well with the underlying system, they would not have this problem.
- djsumdog 10y agoBack in 2002 I ran LFS for a semester and a half. Then I got tired of saving all my ./configure flags and switch to Redhat and gained a respect for package management. :-P Eventually I started using Gentoo. Still, I'm really glad I built and ran an LFS for nearly a year. It helped me build a really in-dept knowledge of Linux that's helped me as I later moved into embedded development. Today I still use Gentoo (which feels like LFS with package management) and Void and would recommend either for Linux devs.
- digi_owl 10y agoI am of two minds about package managers after having used Gobolinux for some years. Because once i got familiar with Gobolinux and how it handles things, i can't shake the feel that most package managers introduce as many problems as they solve. The biggest is that while _nix have sonames to handle multiple lib versions installed at the same time, most package managers balk at there being more than one package of a given name installed at the same time (Debian apparently works around this by including soname-like info in the package names).
- tanderson92 10y agoExherbo and Gentoo both solve this problem with something called "slots". Namely, you can install various slots of a package, you can depend on a slot, etc. In Exherbo you can tell optionally one package to runtime-depend on the slot of another package that you built it with.
- djsumdog 10y agoI love slots. The Gentoo eselect system is way ahead of etc-alternatives or some of the other package select tools I've seen. Slotted binaries are easier though; slotted libraries can get complicated and get into some crazy dependency hell.
- tanderson92 10y agoOne of the nice things about Exherbos take on slots is that you won't get breakage with library upgrades because you won't be able to uninstall the old version until all packages declared to build with that ABI (or more specifically that slot was installed and built against) are rebuilt against the new library. ABI breakages are far less painful than on gentoo.
- derefr 10y agoThey balk because there's usually only one major version of a package that's still receiving security updates upstream. Thus, a package being able to depend on an old version of another package, is basically morally equivalent to depending on an unmaintained package. Which, if the packge author is gonna do that, they might as well just vendor the dependency. The "version numbers in package names" thing is basically to indicate exceptions to this: cases where there are secondary living packages, with either upstream-tracking or distro-backported security updates. Ideally, there'd be a way to do the same thing just using pure semver heuristics—but any major-version release-stream can just peter out at any time and dependent packages will be none the wiser. So you sort of need your package manager's notion of a package's major-version release streams to be something equivalent to their own "packages" anyway, so that you can have somewhere to put package-alike metadata, e.g. "depending on this is deprecated", when the release-stream for said version gets EOLed upstream.
- tanderson92 10y agoHave you tried out Exherbo? In many ways it is an improvement over Gentoo (disclaimer: I used to be a Gentoo developer ~10 years ago, still am an Exherbo dev). It might feel familiar because the package manager, paludis, also works as a package manager for Gentoo. But the package format has numerous additional features and the distribution does as well.
- vbezhenar 10y agoI did exactly the same in 2005. I even wrote my own init scripts, so I really understood a lot what's going on at startup time. Linux was quite simple at that time. I could write my own init, if I wanted. Unfortunately now this knowledge is obsolete. Systemd is a complex beast which uses a lot of arcane techniques, I'm hardly understanding it. chroot was a really simple concept, but nowadays people use containers, and they are much more complex than chroot. Logging is complicated. In the past I could try to load and then mount partition from livecd or another OS and read logs, now I don't know how to do it. Init scripts were simple bash scripts. They were verbose, may be buggy, but after all they were just bash scripts and every Linux user knows bash, so every Linux user could write or modify init script. Now systemd uses its own format, I'm spending hours every time I need to write new service or timer for RedHat. SELinux is just so complex. I know about UNIX permissions. They are so simple and elegant. I'm using them everywhere, when I need security. I could explain them in 2 minutes. SELinux has books. I have those books in bookmarks, may be I'll read them sometimes. But until then, I just use copy-pasta from internets to solve my tasks, like allow ssh to listen at non-standard port. I don't think that it's good, that I have to run some random strings on my computer from root without fully understanding what they are doing. SELinux has binary compiled configurations and some encrypted logs for tools to decipher them, what a mess! Sometimes I just disable it to get things done. Don't get me wrong. I think that Linux looks more professional, more robust, especially for system administrators, who can devote their lives to learn about those systems. But for hobbyists, who doesn't have a lot of time, Linux became much less transparent. May be if I didn't have that prior knowledge, it would be easier to learn those things from scratch. But I doubt it.
- plafl 10y agoSame here. After 20 years of using Linux I'm again a Linux newbie. I have given up, I just install Ubuntu. It's true that Linux works better than before but I feel it's just because there is so much more muscle behind not because of better design. I'm getting old I suppose.
- digi_owl 10y agoWhat is that legal term again, "Different in degree, not kind"? The more i find out about systemd and surrounding projects, the more i feel they should stop branding anything using it as Linux. It seems to be heading into Android territory, where it may have the kernel in common with classic (GNU?) Linux, but beyond that it is a whole new beast.
- allsunny 10y agoGentoo's installation guide is great. https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installation https://wiki.gentoo.org/wiki/Handbook:AMD64/Full/Installatio... I don't use Gentoo anymore, it's been 8+ years, but I learned a lot from that distribution.
- AdamJacobMuller 10y agoI ran LFS too, probably around the same time, ran it until I moved to Debian of all things, probably for a few years even. I remember at the time writing a series of very intricate build scripts to download and update the kernel on my desktop with every single release, specifically with the ac-sources patches that Alan Cox was maintaining at the time. Probably one of the first non-trivial programming projects I did.
- willtim 10y agoI'm running i3, polybar, connman and rofi as my Linux desktop environment and its very productive, configurable, lightweight and reliable. My only worry is that one day I'll be forced to move to something akin to what you describe. I blame object-oriented programmers.
- oneeyedpigeon 10y agoI found it strange that the comment you replied to complained about 'not enough layers'. That sounds like a benefit to me!
- digi_owl 10y agoIts about how you have the kernel, the userland and then whatever you want to run on top, with the upper layers not caring much about whats is beyond its nearest neighbors. Thus you can switch out what makes up the various layers as you see fit.