Unfortunately, for the ordinary user, the best solution still is Ubuntu, esp. if you're doing ML work, most tools assume you're using Ubuntu and have the necessary drivers and libraries.
I would love to switch to OpenSUSE TW (which I think is better than Fedora despite both being RPM based). I just hate the way apt works (think about all the dependencies that remain on the system when uninstalling a program).
I remember finding an unmaintained Gentoo box in a corporate environment at a client's server room. It hadn't been updated for an indeterminate period of time and was running normally. However, it was a security risk so I decided to try to update it.
On Ubuntu? This would be relatively simple (this was circa 2008~2009 or so, with the box being 2 or 3 years old). On Gentoo? Impossible. Everything I tried ended up with random errors, and googling them led to more and more complexity. I just wanted to update stuff related to security, and nothing worked.
I eventually gave up and moved the app to CentOS (IIRC) and got rid of the Gentoo box. I also found RPM more irritating than APT, but much better than Gentoo.
I see a lot of pearl clutching about mainstream distros like Ubuntu and a lot of unguarded praise of distros like Gentoo, Arch or whatever. However, every single time, I remember that incident. Gentoo at home? Sure, if it works for you, do it. In a work environment? Not unless you pledge to maintain it forever.
Next time this happens, switch to git as synchronization method for the gentoo portage tree and checkout a tree that is, say, 3 months ahead of the last update date. Once that update is done, fast forward another 3 months and repeat until recent. It'll take significantly longer to update this way but it'll be relatively painless.
Gentoo's a rolling release, and if it gets too far behind you're better off just "reinstalling" over it and re-emerging all the programs. The source tarballs and builds continually get pruned.
Ubuntu sometimes handles upgrading better as you can find the archived DVDs even for very ancient versions, but things will break.
CentOS doesn't even bother pretending upgrading is a thing.
While I've never let a Gentoo system go for "2 or 3 years", it's not supposed to be left running like that. If you do your weekly/monthly updates like a normal person, it's generally fine.
Could it be made easier? Sure. But why put the effort into allowing such an anti-behavior?
Yeah - in the past if you waited say a year before doing an update you had a serious risk of incompatibilities that Portage couldn't fix (the intermediate "bridge" packages were no longer in the tree, etc).
I would often go several months without an update and occasionally ran into this issue. So I committed to doing an update once a month.
I'd never use Gentoo at work unless it was a very dedicated server with only a few items installed.
I recently gave the Gentoo docker images a go and was relatively impressed. However, I quickly ran into an error where it told me to do something but that something required reading 80 pages of things I didn't have time to read, but I read them anyway. After reading all of that, I still didn't understand what I was supposed to do.
The docker images are really cool though, I was impressed.
I would love to switch to OpenSUSE TW (which I think is better than Fedora despite both being RPM based). I just hate the way apt works (think about all the dependencies that remain on the system when uninstalling a program).