After switching to Fedora because we're using CentOS at work, I've come to like it. DNF and yum are fine replacements for APT. A PPA analog (copr) is just a 'dnf copr enable user/project_name'. 'dnf history' shows every transaction on my system and makes it easy to undo installations.
The only things I don't like on an out-of-the-box Fedora installation are the stupid, touchscreen sized title bars in GNOME 3 and SELinux - which is fortunately easily disabled.
Need to set up device #25?
Upload and run. You're guaranteed to get the same system as device #24,23...
You can keep it in source control, etc.
If it (or guix - no systemd FTW) takes off, I can't imagine using another distro again.
Unfortunately, though, it doesn't have enough maintainers yet (a year or so ago nginx was some 4 or 5 versions behind, and they definitely don't do backports/LTS).
GuixSD seems nice, but seems to have no method for installing non-free software, which is, unfortunately, necessary for many setups.
One thing I would like to have is a Nix/Guix wrapper for Debian packages (and possibly other packages/distros), so I could take advantage of Debian's robust ecosystem, and NixOS/GuixSD's totally functional environment.
What does one do to fix the title bars?
cat << EOF > ~/.config/gtk-3.0/gtk.css
/* Make window title bars more compact.
*
* From: https://unix.stackexchange.com/questions/276951
*/
headerbar entry,
headerbar spinbutton,
headerbar button,
headerbar separator {
margin-top: 2px; /* same as headerbar side padding for nicer proportions */
margin-bottom: 2px;
}
EOF1) Identify a really interesting piece of software, like OpenFOAM, with (unbeknownst to me) lots of dependencies
2) Take a half hour walk to the local library with my shiny 4gb flash drive (89 dollars, a Christmas present to myself).
3) Download the .tar.gz of the software.
4) Walk home.
5) Unpack the .tar.gz and run ./configure. Watch it fail.
6) Walk back to the library to download the missing dependency. Walk home.
7) Goto 5.
I ended up very irritated that configure always fails on the first missing dependency, instead of comprehensively listing the missing requirements in one go. Things did get a bit easier when I learned to scour the documention for any libraries referenced, but of course reading the docs still often required a trip back home to unpack the tarball...
Thanks to everyone who did read that book and others cover to cover (or wrote them), so that my linux install just works.
https://en.wikipedia.org/wiki/Linux_Network_Administrator's_...
Take a look at the zypper SAT solver (from opensuse) that powers Redhat's DNF package manager today - https://en.opensuse.org/openSUSE:Libzypp_satsolver
The package management of today is a very different beast altogether. And we are on the cusp of the next generation - snap and flatpak.
Fixed that for you.
Encountering dependency hell is usually a sign that you don't know what you're doing.
Red Hat "just works" and has always enjoyed the reputation of being the most bulletproof distro if you could afford it.
A good sysadmin would know how to avoid dependency hell. For example this might include taking basic precautions such as testing changes in a chroot or development/testing environment, before rolling them out.
I'm not saying the problem didn't exist, only that it wasn't an actual problem if you knew what you were doing.
Also, RedHat didn't ship with (relatively) much software (install everything was an option). Now you've got to configure; make; make install. Now you've got two parallel installations of libraries and software.
Oh. And the RPM database would die periodically (rpm anything would hang), requiring a reinstallation.
Since moving to Debian over a decade ago, I think I had to configure; make; make install something only once (it was an old and unmaintained Java library on SF.net). Almost everything (open source) is in the Repos.
There is no distro today that provides packages for all the software you will ever want, or the specific version that you need. At some point, you will resort to installing software from outside the officially-supported sources, whether from experimental or user-maintained package repositories, or from a third party in binary or source form.
Until recently, this was an operation that wasn't guaranteed to be easy or straightforward or risk-free. In the worst case, it could even screw up your system in ways that are time-consuming to diagnose and fix.
In the example you gave, I would conclude that OpenOffice didn't package their RPM well, because it ended up driving RH6 users down the rabbit hole. At the very least, they could have unpacked all the files under /opt and provided static binaries, or included all the libs in the archive. Many packages still do that today, such as Vagrant, which installs under /opt/vagrant and includes its own Ruby interpreter there.
Nowadays there are efforts underway to make installing custom software safe and easy, projects like: flatpak, OSTree, appimage, and snap. Hopefully we can reach a point where you can install whatever version of whatever software you want without breaking anything.
Generally, nowadays you keep a system relatively up to date using apt-get update and upgrade, pacman or yum. Back then all you had was RPM (the equivalent of dpkg).
The attitude was "you want new versions? Go to upstream, download the .RPM and install".
Now, OO (don't remember if it existed back then) depends on certain versions of (say) GTK.
What do you do?
Go to gtk.org and download the rpm.
Rinse and repeat
I never install anything from source. Packages from yum repositories only.
Upgrade OpenOffice with a downloaded RPM? No. The point of RedHat is stability for enterprises. If you want the latest version of everything, RedHat is the wrong distribution.
I've always heard that said about Debian more than about Red Hat (though Red Hat certainly is pretty stable).
Red Hat has a lot more success in businesses though because you can get contractual support; which may not only be useful if you don't want to get the skills in-house but also because your own customer may contractually require it.
But this is not true in all areas, especially in some aspects that matter to companies such as training/certification and having good up-to-date documentation.
And as a volunteer-driven project, I don't think Debian can ever be as responsive to end-user problems or requirements as a commercial product can be.
But it definitely gives Red Hat a good run for its money. For example, the Debian LAMP stack has long been and still is the gold standard.
May be true, but they're given so much distribution independent code back, that I'm really glad they made it. It even seems that they contribute more to desktop Linux (GNOME, PulseAudio, systemd, kernel devs etc.), than Canonical does, (they seem to focus on Ubuntu-specific solutions mostly), which is pretty neat for a server vendor.
I didn't give up Mandriva until near the end, when I jumped ship to Ubuntu.
I know someone did a blog or article on the RPM format internals, but damned if i can find it with a quick search. I just get a whole bunch of Fedora and Red Hat links...
https://blog.bethselamin.de/posts/argh-pm.html
seems to be what i was thinking about earlier.