this post was submitted on 04 Aug 2023
37 points (87.8% liked)

Linux

48082 readers
770 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I mean, is it really worth it to compile every single program that I install? Wouldn't that be a waste of time? I am inclined to try it out but on the other hand idk

all 34 comments
sorted by: hot top controversial new old
[–] [email protected] 39 points 1 year ago

Username checks out?

[–] [email protected] 17 points 1 year ago (1 children)

If you want to REALLY get comfortable with how linux works under the hood, then Gentoo is an awesome learning tool. The amount of choices and customization options is ridiculous, from choosing which features you want to enable(compile) for an app, to choosing between bootloaders, init systems, and so on.

I haven't used Gentoo in quite a while, but I wouldn't be a professional Sysadmin today if it weren't for Gentoo.

[–] [email protected] 5 points 1 year ago

I would agree with this. I used Gentoo for a while before moving to Ubuntu.

Gentoo helps you learn and leads (forces) you down the path of getting under the hood to tweak your Linux experience.

I wouldn't recommend it if you need to build systems quickly for production. I'm sure there are hacks to do it more quickly.

I'm really glad I used it before Ubuntu. I feel like a have a much firmer grasp of the concepts of Linux because of my experience with it.

[–] [email protected] 14 points 1 year ago

No. It's a lifestyle.

[–] [email protected] 11 points 1 year ago

In the Intel core 2 era I played with doing this and trying to have the kernel and software all optimized and compiled for the specific hardware of the specific computer I was using and the performance gains if any were negligible.

I'd lean towards no.

[–] [email protected] 9 points 1 year ago

I am running gentoo on 4 different systems currently.

Setup can be a bit of a hustle, especially on exotic hardware (one of my devices is a Pine64 Quartz64) but once it’s running maintenance isn’t that big of a deal, an emerge —sync && emerge -avdu @world per week generally is all the maintenance I do.

Also if you want to learn about linux there is probably no better way except LFS which will not leave you with a system you can easily use in day to day work.

I say give it a shot if you have the time and are willing to learn and troubleshoot!

[–] [email protected] 8 points 1 year ago

Gentoo has the best package manager I've ever used. But is it worth it? Depends on your expectations. It's a great distro if you are willing to invest the time and do the work. I would never recommend it to a new user who just wants something that works, but a tech savvy user who is ready to learn (also from mistakes)? Sure, go for it. For me, an update eventually broke it to a point where it was no longer worth the effort, but for a few years I did enjoy tinkering with it. The control you get is intoxicating.

My experience is from mid-00's, so things may have changed. From other's comments however, the core experience seems to be the same. I would not install it myself anymore, but that's not to say it's a bad distro.

[–] [email protected] 8 points 1 year ago

What are you coming from? Have you used Linux systems previously? Have you ever compiled anything ever? (Serious question. When I first installed Linux, I hadn't.)

Are you talking about a desktop PC? Laptop? Mac Mini?

[–] [email protected] 8 points 1 year ago

It's certainly a distro that will help you understand how a Linux system is put together. It's fairly unmatched in its ability to craft your selection of binaries with just the features you want and no fat. However the downside of that is you get to keep all the pieces of your bespoke collection of binaries when some interaction gets missed. Adding new packages is super easy, especially if the package uses a build system which is already understood by Gentoo's eclasses.

I used to run Gentoo on my x86 desktop but given how frequently things like browsers need to be rebuilt it became a chore. Now I tend to run Debian stable with the occasional backport/snap/flatpak if I want a newer app.

However I do have a nice little 24 core Arm server which sucks a continuous 5w idle or fully loaded. When I got it we were doing a lot of Arm enablement work and Gentoo made sense from a developer flexibility point of view. It runs the ~amd64 profile because I got bored of unmasking stuff for ~arm64 when most packages just work when built on non-x86 these days. The rare cases that don't I can always submit the patches upstream.

[–] [email protected] 7 points 1 year ago (1 children)

The question you ask in the title is a more general one that you ask in the title.

Yes, Gentoo is a good choice.

No, it is not worth compiling every package. This should not be the main reason you choose Gentoo.

Admittedly, I started with Gentoo for the same reason (per-package compilation), hoping for performance gains. However, I stayed because of the excellent documentation, the great user community; the rolling versions; the customizability and control I have over my system, the choices I need to make when installing, and keep making as the install is continuously set up over the years.

I’ve tried quite a few distros over the (+20) years of Linux-use. I keep choosing Gentoo.

[–] [email protected] 0 points 1 year ago (2 children)

Arch has great documentation, rolling release, and customizability, minus the compilation. Obviously, use Gentoo if you want to. But for advanced Linux users, I highly recommend Arch.

[–] [email protected] 2 points 1 year ago (1 children)

As a long time Gentoo user I tried Arch a few times but the whole AUR mess instead of using the same tools for distro, community and my own packages really put me off.

[–] [email protected] -1 points 1 year ago (1 children)
[–] [email protected] 4 points 1 year ago (1 children)

The fact that there are so many of those is part of the mess I mentioned.

[–] [email protected] 1 points 1 year ago (1 children)

Arch works for me, Gentoo works for you.

I'd still rather recommend Arch over Gentoo so people don't start whining, "eVeRy tHiNg tAkEs 4eVar!".

[–] [email protected] 1 points 1 year ago

Oh, I never said other people shouldn't use Arch. In general though, I would probably recommend neither to the kind of person who needs distro recommendations.

[–] [email protected] 1 points 1 year ago (1 children)

I've heard good things about Arch. Indeed, I installed it on one of my boxes, where I specifically wanted to avoid a lot of compilations, besides being curious about it.

Used it for a bit over a year know and... I don't know, it hasn't been as stable, and I've find using AUR more of a chore than custom ebuild repos. It's probably great when you get used to it, but so far I still prefer Gentoo.

It's great, that there are several good distros for different use cases, and that we have the freedom to choose what suits us best!

[–] [email protected] 2 points 1 year ago

"it hasn't been as stable" I say that's bad luck. Maybe if I went to try Gentoo some bad source code might've gotten pushed and then I'd get a bad impression.

Also, I only have access to potatoes. Also, I use the chaotic aur repo, otherwise I would've given up ages ago.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

If you have free time and you are willing to spend it in compiling all your programs

[–] [email protected] 6 points 1 year ago

I've been a long time Gentoo user. Years. Gotta be over a decade now.

Back in the early '00s, I tried a few Linux distributions... SUSE, Centos, another one or two that I can't remember. Each one, I was left at the desktop after a successful install wondering exactly what do I do now.

Friend recommended Linux From Scratch, so I took a couple months and went through the process, three times. First time, I had no clue what I was doing. Second, I started to get a hang of it. Third, I breezed through, then tried to install X.org and all of its dependencies by hand. Taught me a lesson of the value of a package manager. I did end up installing it successfully, then contemplated a DE, but decided to switch distros.

Did a bit of research, found Gentoo, and stuck with it. Updating it isn't a pain as long as it's done regularly, and I enjoy having the control and just a bit of feeling like I have some clue as to what's going on. I don't get that with a distro focusing on precompiled binaries. It's also given me the experience to compile software from scratch if I need to.

[–] [email protected] 5 points 1 year ago

Personally I don't compile Firefox (there's a binary package) so my update times aren't that bad. With LTO disabled for LLVM and any webkit package (qt one for kde, gtk one for gnome) if you use a desktoo environment, it's usually fairy quick to install things. The initial build times when setting up the system can be several hours in total on midrange CPU though.

But if compiling all your packages for the ability to choose your own optimizations, package features (via USE flags) and just about everything else on your system doesn't excite you, it's probably not worth it. You can stick with Arch and still maintain pretty good control over your system compared to a more prebuilt distro. But if it does excite you, grab the Gentoo AMD64 handbook and get cracking! You can come over to [email protected] with any questions (it's not that active yet, but I do hope it'll eventually be useful as a repository of knowledge and questions being asked and answered sure helps with that).

[–] [email protected] 5 points 1 year ago

Compiling isn't that bad. Other than the initial install, compiling is done in a terminal window while you do other things. With today's multi-core CPU's, times aren't bad either.

My last emerge of Firefox: Wed Aug 2 19:51:26 2023 >>> www-client/firefox-116.0 merge time: 9 minutes and 48 seconds.

[–] [email protected] 5 points 1 year ago (1 children)

It would indeed be a waste of time. So, no, not worth it.

[–] [email protected] -1 points 1 year ago* (last edited 1 year ago)

not only is it a waste of time, it also contributes to climate change. imagine if everyone in the world compiled all their software

[–] [email protected] 4 points 1 year ago

My philosophy is to slice up your disk, install Gentoo on another partition and see how far you get. Might be farther than you think!

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

Unless you really, REALLY want to use a decade old PC for whatever reason... then by all means, go for it. Other than that...? Eh...you'll be "saving" an insignificant amount of memory compared to just installing premade binaries from (any) package manager.

[–] [email protected] 3 points 1 year ago

Yes! Depending on how much time you want to spend figuring things out... there is a learning curve, but the documentation is quite extensive. And you do learn a lot about Linux by diving in. The compile times aren't really an issue today if you have decent hardware- I run it at home and on all of my servers (some of them not very powerful). You can do other things while it's compiling.

It's great if you want to customize everything and learn how your system works, or are interested in optimizing everything for your specific CPU architecture. There are a few pitfalls (especially when learning), but I've generally been able to learn how to fix any issues as they arise.

Also, the package availability is great. If you can't find something in the gentoo repository or in an overlay, you can usually find its dependencies and build it yourself.

[–] [email protected] 3 points 1 year ago (1 children)

The irony of the “compiling software on modern hardware isn’t bad at all” argument for Gentoo is that the same hardware hardly benefits from custom compiled software. There was a time when hardware was slow and performance improvements could be made, but that was also back when it took ages to compile software, so there was a trade off of time taken up front for performance during real time usage.

If you want to learn Linux internals, build a system using Linux From Scratch. If you want a system that’s maintainable and highly customizable, run Arch Linux. IMO, Gentoo no longer really has a niche.

[–] [email protected] 1 points 1 year ago (1 children)

If you think performance is the main advantage of Gentoo you have not really used it much. The main advantage is that you have the ability to adjust compile time options to drop huge dependencies or include optional features easily and that all the language environments for development are in excellent shape because the distro developers need them themselves.

[–] [email protected] 0 points 1 year ago (1 children)

So turn my argument around and replace performance with disk capacity. Cost per gigabyte is so low now that you’ll end up spending more money in electricity compiling the dependency out than you would by having the disk space to not worry about it in the first place.

[–] [email protected] 1 points 1 year ago

Who said anything about disk capacity?

[–] [email protected] 2 points 1 year ago

Sure. Try anything at least once is my motto. With personal caveats of course.

[–] [email protected] 2 points 1 year ago

I don't think there's any performance advantage on modern hardware so it would be stability, control and learning that you would get.