Gentoo goes Binary(gentoo.org) |
Gentoo goes Binary(gentoo.org) |
I installed gentoo on a workmachine at a new job, like a dual xeon something with 64gb ram back in a time where 8gb ram on a worstation was plenty. I had a blast. It took "only" like 3 hours to get my usual to go system.
Unfortunately I need haskell on my workstation (xmonad) and ghc can easily take alone like 5-20+ hours compile time on older computers. I compiled ghc a few times on an old t41 - it took more than a day.
Still, gentoo is my first choice. I run it on a few root servers and every workstation.
Maybe some day I will get nostalgic and try it out again, but I really don't miss it yet. It's also quite a waste of CPU power and energy to compile everything from scratch without a real need.
That can important in cases where you need to be sure you are running the source code that you can see
I started the build in the evening, and in the morning I waited for the current package to download, then closed the lid, put the laptop in the bag, took the train to school, connected to the school wifi, and continued the build in school.
It was fun to try but that's all I did, quickly moved on to something more sane.
- for the binary version the difference might not be as significant but bit for bit I'd say it's still more configurable than Arch
- in terms of choices they've made about conventional system defaults, there's more interesting options on offer: especially when it comes to Systemd -vs- OpenRC & networkmanager -vs- netifrc
- I'm not sure how true this last point is, but I get the impression the system of overlays & profiles is a little more expressive & powerful than equivalents in other distros. E.g. Manjaro is often considered to be something of bastardisation of Arch by virtue of some underlying design decisions made in "forking / extending" it, & compatibility is limited. On the other hand things like Funtoo & Pentoo are really just Gentoo at heart, using its core features for packaging distro customisations.
The problem has always been that while you had all this choice, the one choice you didn't have was to just use regular old binary packages for the things you didn't have to customize. This complaint has finally culminated in TFA.
But this sounds good to make it more optional to compile every time.
I always thought it's head kind of looked like the stylized G logo.
Well, it is unique. It isn't another copycat or cosmetic derivative of Ubuntu.
Actually, for the most part, it's in a league of its own.
Additionally, Gentoo is the largest distro with the source-based package manager USP. I suppose you could take issue with that approach for reasons like the systemd maintainer does where he claims it wastes CPU-cycles and time. Personally I disagree with that assessment since reproducible builds are a vital part of FOSS.
https://www.akhuettel.de/~huettel/plots/mirrors/binpackages-...
> Tough luck. You can still compile packages yourself just as before!
Never had a bad experience with Arch but the way they use the AUR as a crutch is a bit off-putting. It's a little bit like a giant gentoo overlay but pushes all the complexity onto the user.
> we’re now also offering binary packages for download and direct installation! For most architectures, this is limited to the core system and weekly updates - not so for amd64 and arm64 however. There we’ve got a stunning >20 GByte of packages on our mirrors, from LibreOffice to KDE Plasma and from Gnome to Docker. Gentoo stable, updated daily. Enjoy! And read on for more details!
Edit: Actually looking into this more the headline is accurate. This is the first time they've provided official binaries aside from stage3s when doing the initial installation.
they did decades ago.
The appeal of Gentoo is not compiling everything from source, it's having the freedom to install anything you want on nearly any hardware all with stellar documentation and minimal roadblocks. Want to run Enlightenment with OpenRC and NetworkManager on a laptop from 2008? Install Gentoo! Want ZFS as root on a smart refrigerator? Install Gentoo! Want a vanilla Gnome + SystemD install on a brand new laptop? Install Gentoo! The decision to ship binary packages only gives users *more* choices while other distributions have been actively removing one's freedom to choose. Debian, the so-called "universal operating system" just dropped 32-bit x86 support. You can install an alternative init system on Debian if you'd like, but it's a bit of a PITA. Meanwhile Gentoo allows you to pick between 17+ different stage 3 tarballs and 35 eselect profiles. Personally, I enjoy compiling everything from source and the flexibility that comes with it. On modern hardware it's painless. If you disagree, great! Go install a shiny new binary. The selling point of Gentoo has never been portage. It's always been the flexibility and the community.
This is imprecise at best. There was a meeting where the release team concluded that most likely, there will be no _installer_ and _kernel_ support for 32-bit x86 at some unspecified point in the future. (At the current point in time, both are still delivered and fully supported.) In particular, you can still run multi-arch 32-bit/64-bit, allowing you to run 32-bit x86 software.
Which might mean people who want to run old proprietary 32-bit games/software are going to be annoyed, but that's not necessarily the distro/OS's problem; it could be argued that the user should install a 32-bit translation/emulation layer to run that stuff, ala DOSBox.
I think that's a bit unfair. Everyone wants to support everything, but at the end of the day if you want to guarantee security and maintenance and do the job of a distribution you have limited resources on what you can look after. Something always has to give.
On any Linux distribution anyone can install what they want, but what you can genuinely claim to support is always limited by the amount of maintainers you have.
I would argue that Debian has support for at least as many architectures as Gentoo:
> https://buildd.debian.org/status/package.php?p=base-files&su...
I know that because I am maintaining most of the obscure architectures in Debian with regular installation snapshots:
> https://cdimage.debian.org/cdimage/ports/snapshots/
Debian even has a Hurd port for both i386 and amd64.
I tried Arch and what astounded me the most is that the docs didn't seem as good as Gentoo's. That surprised me because I end up looking at Arch's docs all the time and it's all of a very high quality.
But the Gentoo Handbook is really a masterpiece. I've never read a clearer explanation of how to go from unformatted disks to a working system.
I then moved to debian/ubuntu and recently switched my main server to Arch. And you are right - I got back this feeling of having all my 10 fingers in the system and living on the bleeding edge.
Now: this was probably not the brightest choice, as this server rund my docker containers and basically nothing more so it should have been Debian(a fire-and-forget OS)
I'm going to install Solus OS / Solus Linux soon, had a good first impression with it's package manager, which claims to be reproducible but not like nix or guix are.
If you do systemd (which is what I'm using), then you might look at systemd.boot for UEFI. That's currently what I'm using.
I ask, because one issue I ran into was messing up the kernel config. Pulling the livecd config in and using that as the base config worked for me.
Is this referring only to ports (Portage) or does this mean enjoy compiling kernel and userland.
This development will make Gentoo more accessible for a lot of people. But I guess this isn't for me. My build configuration (like CFLAGS) are never going to match the official binaries and so they will never get used.
I finally realized all the tweaking and optimization and bleeding-edge software wasn't worth it once I discovered my Slackware boxes ran as fast as the Gentoo ones. Maybe there's a few very specific applications out there that benefit from all the tweaking and custom compiles; perhaps a render farm or crypto miner? But my games got the same FPS on either distro.
Then AMD Opteron came out and got everyone on a new baseline: if you compiled for amd64 then that meant a specific CPU again, there were no newer instructions yet. Now AMD64 has several levels[1] which can start to matter for certain kinds of operations, such as SIMD. A more mundane one I often run into is that v2 added popcnt which is great for things like bitsets in isolation, but in overall program performance I measure almost no difference on any of my projects between v1 and v3.
When it comes to games, it's more than likely your games were binary-only and already compiled for the lowest common denominator and maybe used runtime feature selection, and even then, they were probably GPU-bound anyway.
[1] https://en.wikipedia.org/wiki/X86-64#Microarchitecture_level...
What was interesting about the USE flags was learning that a given package even HAD a particular integration with some other library / package. Realizing that the SQLite3 binary doesn't work the same when you don't have readline support linked to it lead me to understand what readline was as a whole. That happened over and over again for a lot of the "invisible" libraries that are always included on every other Linux system.
Absolutely invaluable learning tool at the right time in my life for sure.
A lot of the comments are saying that they tried Gentoo or used to use it.
And here I am, using it as my daily driver and server workhorse.
I wonder what makes me different such that Gentoo is the best for me.
And I am not going to enable binary packages.
One of the reasons I moved from Gentoo 15+ years ago to FreeBSD was that it was mandatory to compile everything while FreeBSD provided binary packages.
It may be not that important today - but it was a game changer with single CPU core and 1GB RAM.
I finally met someone at the GSoC reunion that wanted to get me maintainer status, but I never got them to follow through. He had already warned me that it would be a complicated task to accomplish. I kept mentioning prefix needing binaries as well. Imagine if gentoo prefix had been as easy to install packages as homebrew on a mac.
It's sad, but gentoo is a good example of why an open source project that is technically superior, cannot survive inferior solutions without good stewardship if they disregard some basic end user quality of life features. I would argue that that is also what killed opensolaris/illumos(which is basically on life support), because the people in charge could never get past their elitism and decide that for community engagement the kernel build needs something more simple that 100 layers of nested incomprehensible makefile/shell spaghetti.
[1] https://github.com/fishman/timebomb-gentoo-osx-overlay/tree/...
Upstream binary packages are just another extension of that freedom. You already had binary versions available of a few major projects (or could roll your own build server), but making more of them easily available allows a lot more people to reap those benefits without having to worry about the huge time sink of building every little thing. If you need more flexibility (patches, use flags, ...) for a given package, that's still available and easy to maintain. This is a huge win.
Now that there is an officially supported binhost, you do not have to compile anything if you don't want to. You can use a desktop profile with zero customization and have a system that works "out of the box". You do have the options to customize and compile but it's not required.
Gentoo's benefits for me include the tooling around portage and the PMS (package manager spec). Gentoo's software packaging tooling is (IMO) superior to what exists in Debian and other conventional (not nix) distros. The most similar would be Arch's PKGBUILDs, which are also pretty nice.
Packaging software for Debian, trying to create a .deb package is a fairly arcane process and the documentation was difficult to find and digest when I attempted this. Gentoo has a wiki section called "ebuild writing guide" that describes everything in great detail.
There are also benefits like being able to select on a per-package-basis whether you want "stable" or "unstable" versions of software. Gentoo is a rolling release distro, but requires packages to meet a certain criteria before being marked as "stable". You are not forced to use "stable" packages if you want the most recent releases from upstream (basically what Arch does) but still have access to them if you'd like.
Gentoo's community is the most important feature for me though. Gentoo feels like a proper open source project. You don't have to be a Gentoo developer to contribute, and you can interact directly with Gentoo developers when you need guidance or have questions. Gentoo's community seems to have a lot less elitism compared to other distros also which is very important to me.
I don't personally believe in the CFLAGS "performance" micro-optimization though so that's not really something that matters to me. Security is pretty hardened by default on Nix: https://nixos.org/manual/nixpkgs/stable/#sec-hardening-flags...
I'm pretty sure nixos can do that, though?
There's this for CFLAGs on a single package:
nix-shell -p 'hello.overrideDerivation (old: { NIX_CFLAGS_COMPILE = "-Ofoo"; })' --run "hello --version"
And this page seems to talk about overriding settings for all of nixpkgs, and even something kind of like USE flags (although I agree that it's way less powerful and generic than USE flags; that's one place Gentoo wins): https://nixos.org/guides/nix-pills/nixpkgs-overriding-packag...Purity has to do with whether you let those builds depend on things that found lying around on the system versus things that are explicitly in the derivation (i.e. a pure build can tolerate missing files by building them, an impure one may get stuck for lack of a dependency or because a dependency was not as expected).
It seems like it would be cool for an SBC, but the compilation (or setting up cross-compilation) was always too much; now maybe it’s feasible again? But I’m too old to have the time to try!
Back when I used to mess around with this more, I never noticed much speed advantage from compiling my software vs installing binaries. What did help was understanding what was running and cutting out the things I didn't need. I'd be surprised if Gentoo offered any advantages over Arch, Slackware, etc. for that.
Back in the day I had a few relatively slow machines and used to compile my kernels using distcc to offload the tasks to them. I never used cross compilation but I see it is supported so it may be a possibility for small SBCs.
Would it be hard to set up a build server on another machine? What if that other machine was running Arch or some other system?
I remember when running Gentoo ~20 years ago, it was quite often that package compilation failed and I had to go fix some package settings or something, don't even remember well except how disappointing it was seeing a failed compilation again after waiting a long time - is this still common occurrence?
edit: at least the build server doesn't look too bad and the running other arch could be solved with a WM / container.. Feeling really like wanting to give it a try, still remember the good times I had with Gentoo way back (even with the compilation problems)
(I'm also one of those who left Gentoo for Ubuntu, both because compilation made it needlessly slow to wait for a tool I needed, and because emerge was just so slow compared to apt. Ebuilds were awesome at a time when dpkg build tooling seemed to change completely once a year.)
I haven't done it since Slackware came on floppies and you mostly had to recompile your kernel to get the right drivers in.
Even did a linux from scratch once, later, to see how it goes. Then went along with my business.
Then I had to re-emerge a software package to change my timezone and I was just done. Thats way more complicated then it should be or needs to be.
A friend of mine got us access to one at the work place of a relative of his and we spent nights fiddling with Slackware. We even made a serial cable so I could log in via serial from the other computer in the office, which was only a 286.
Not sure how long this has been true for, but the Gentoo Wiki (which includes the Gentoo Handbook[0]) is an absolute goldmine of information, and is probably what you were looking at if I had to guess.
But it just so happens I set up a virtual machine running Gentoo but a few days ago, with no clear idea of why or what for. What a remarkable coincidence.
Gentoo requires the user/admin to put in a lot more work than mainstream distros like Debian, but in return you get such a high degree of control and choice that the system, once it's up and running, feels more like a pet than a piece of software.
I'm curious, did you ran benchmarks? What kind of performance gains did you get, if you got any?
so.. they are basically never going to be used then? It has been a while since I run Gentoo, but I remeber USE flags to be the most useful and fun features of Gentoo, giving it the power other distributions cannot hope to match. I cannot imaging running Gentoo with default USE flags, might as well switch to debian in this case.
That being said we've always had a build host dedicated to producing binaries, but the actual support for binaries in Gentoo hasn't been great. Unsigned serving over HTTP or NFS of compiled artifacts is about all you get. I'm really pumped to see that the new package format adds in cryptographic verification that really should have been there all along even for internal only serving.
That's one of the most compelling cases I've heard for running something like Gentoo in prod.
There are so many plugins, connectors, protocols, and often the old neglected ones turn into attack vectors.
I have used Gentoo in this way on many small computers with various kinds of Atom CPUs and with a small DRAM memory and small and slow SSD/HDD.
With multiple computers of a compatible kind, the files from such a chrooted installation compiled on a powerful computer can be copied over all of them and everything will work fine. If the chrooted installation is preserved, it can be updated later with other software packages and all the changes can be propagated with rsync on all other computers.
Linux is not like Windows, which will complain when run on a different computer than that on which it was installed initially.
But to be honest, I haven't looked at binrepos so far. Perhaps your reply is a good reason to.
You should check out what ChromeOS is doing. They are using bazel to execute ebuilds inside an ephemeral chroot: https://chromium.googlesource.com/chromiumos/bazel/+/refs/he...
This way it's guaranteed that no undeclared dependencies get used.
Thanks for suggestion though. I'll take a look at it.
All of us who at one point compiled our own kernels and now no longer do, are the killers that we are partly because we did things like that at least for a bit. It only makes sense not to now, after having done it.
It's not true to suggest (or to read these stories as a new bystander and come away with the idea that) "if I were smarter I never would have wasted time on that"
However, I think that the statement below might be better with a bit of nuance.
> It's not true to suggest (or to read these stories as a new bystander and come away with the idea that) "if I were smarter I never would have wasted time on that"
I would say its "not true always," in some cases doing the action really wasn't worth the time.
Related to this, I believe the sentiment people have about regretting wasting time on some endevour, is a misalignment of what their intention was to begin with.
For example, if someone wanted to compile their own kernal because they wanted to learn and understand more about their computer its unlikely that they would walk away from that experience with regret. However if they wanted to compile their own kernal because they believed that in doing so they would make 10x more money in the long run (through learning so much), and that goal failed to materialize. They would likely tell others to not waste their time learning to compile their own kernal.
Not trying to be pedantic, or argumentative, I aggree with your point deeply, however I wanted to discuss it a bit further. Let me know your thoughts.
If you can, try to get access to OpenVMS or Cisco IOS, it's an entirely different world in terms of user experience.
At best, we are at least a bit confused about it all.
The flags were just icing on that cake.
The only cool thing about it is that it’s declarative: nix-darwin everything and a fully working and customized machine is up in 10 minutes with one command
Nowadays most people are swimming in CPU cores and gigabytes of ram and terabytes of solid-state memory, so fine-tuning is a waste of time (unless you play bleeding-edge games). But it wasn't always such.
Unless you run javascript 'applications'. Games are already optimized.
For a single machine home install, the biggest value Gentoo has to offer is the learning experience. I ran it for about a year like 4 years ago, and I definitely learned a lot in that time. Hopped around a bit and I've since landed on GNU Guix, and I'm probably set for life now in the GNU world.
I used to believe that and was a huge Gentoo user for years back when it was initially released. Then one day I benchmarked Gentoo and a default RedHat install on every work load I cared about, and everything was within the margin of error.
A full day compiling stuff only for the base install, let alone everything else I would eventually need.
On my case, I decided to become another Scientific Linux tester.
But computing power is much higher now. The same compilation now would probably take 1-2 hours, max. Updates would be super fast.
Gentoo itself is considered generally stable and a pretty solid distribution, or it used to be.
I wonder if these days the flexibility and the engineering behind Gentoo might be worth taking another go at it.
I've installed Gentoo literally two times. Once per PC. Been using it for years. It's not like you have to keep tweaking it. It does help if you run a basic system like me, though (no DE, simple tiling WM, don't use much apart from Emacs and Firefox).
But yea, now-a-days I'm on Ubuntu LTS.
1. Best documentation I have ever used.
2. Infinite amount of customization. Your system can be as minimalist or maximalist as you’d like.
3. Portage overlays > AUR any day of the week.
4. Choose your own init system. Want SystemD? Fine. Want OpenRC? Go right ahead!
5. It’s hard to understate the power of a good community with well-described values. I feel safe and at home with Gentoo because I know that it will always value the #1 thing I care about on Linux: freedom. Gentoo is like a choose your own adventure. Want to run SystemD + Gnome + PulseAudio + binary packages? You can do that. Want to run OpenRC + Hyprland + Pipewire + NetworkManager instead of netifrc? Go for it!
Gentoo isn’t about compiling everything, it’s about choosing everything. Today’s announcement (although irrelevant to me) gives users more choices.
Ok, I'll bite: why is Gentoo best for you? (I'm not going to try to refute any of your statements should you reply, I promise. I'm genuinely curious.)
I'll offer my own experience why Gentoo is not for me: I don't run my own server, and at work I use servers in the cloud (Ubuntu based, I guess? Or AWS-flavored). No compiling any kernels or whatnot.
For the desktop, a friend convinced me to try Gentoo 10+ years ago ("it's compiled for your specific hardware, it'll be faster!"), I gave it a try, wasted lots of time getting it running, then saw it wasn't really noticeably faster for any task I did than regular Ubuntu, and took longer to get set up. So I ditched it.
Another common claim I found to be false (in my case): "I learned so much configuring Gentoo!". Well, no. I mostly followed the recipes like almost everybody else, setting flags and touching config files I didn't really understand, so I can safely say I learned nothing -- I just went through the motions.
But that's just my experience.
I can understand that you didn't learn anything from installing Gentoo. I did, but in my case, I was not like most new Linux users; instead of immediately trying to learn the details when I started, I just wanted to install Ubuntu and get working.
It was only six years later that I installed Arch, then Linux from Scratch, then Gentoo, and in the process, I had many lightbulbs trigger. "Oh, that's why it's like that!"
As much as I love Gentoo, I agree with you: the "faster" argument is a myth.
I hope you can tell I'm not trying to evangelize. :) You said you weren't going to refute that Gentoo is best for me; well, I'll go the other way and not refute that Gentoo is really bad for nearly everybody!
Anyway, I'll take a stab at why Gentoo is best for me: extreme customization. See, there's another way I'm not like most people; others start out with extreme customization and ricing, and they back off of it over time. I started with little and have only grown my customization over time.
Maybe it's because I'm on the spectrum, but computers are annoying to use for me by default. On Gentoo, however, I can make my setup fit me more than any other distro.
Another thing that might contribute is that I like lean setups. Just checked with `ps --ppid 2 -p 2 --deselect | wc -l`, and subtracting the terminal, shell, ps, and wc, there were only 30 processes. And that includes niceties like redshift and picom.
Because I do heavy fuzzing, that matters to me. Also, it is responsive; slow responses bother me more than they do others.
But to be clear, that doesn't refute your experience that Gentoo isn't faster; it took a lot of work to get Gentoo to this point, and it isn't default.
So I am weird.
> Another common claim I found to be false (in my case): "I learned so much configuring Gentoo!"
This isn't true for everyone. My general plan with anything is to follow the script exactly at the beginning. If that works out, start making incremental changes until something breaks or until you're satisfied. Gentoo taught me a lot of things that way - especially the kernel compilation (which is important to me anyway, due to my profession). Before this, it was Arch. And a regular Linux distro before that. All of them taught me something with the same strategy during the initial phase. Eventually the struggle gives way to familiarity and learning rate starts to fade.
> Well, no. I mostly followed the recipes like almost everybody else, setting flags and touching config files I didn't really understand
I don't know about anyone else, but Gentoo config files were the easiest for me to understand. I feel very much in control with them. The Gentoo wiki doesn't just give you recipes - they always tell you the exact reason for a configuration or flag (This is true for Arch as well). I have also created packages for myself - so I have a reasonable understanding of USE flags. I've been thinking about migrating away from Gentoo - but I like USE flags so much. Sometimes they allow you to access application features that are not available on other distros (because they have to choose build flags that suit the majority).
Something that helps me with this level of control over the configuration is that I maintain them as literate org-mode files with explanations and even diagrams at times. This might seem like too much work for a desktop system. And often that is true. But this workflow suits my interests and profession really well. In fact, at least 3 custom programs are part of my desktop - configuring Gentoo to my liking is the least difficult part in it.
> Ok, I'll bite: why is Gentoo best for you?
Finally. I said this in another comment. The most attractive part of Gentoo for me isn't the custom compiled kernel or software (I use flatpaks for most desktop apps). It's the package management system. Portage is by far the best system I've experienced for creating system packages.
It has zero opinions about how my system should be configured or what options the installed software should have. It lets me build precisely what I want to build without any hassle or compromise.
> I mostly followed the recipes like almost everybody else
The thing I really like about gentoo is I have a virtual/akira package. It brings up any system precisely the way I want it. If I have a new system I can just install that virtual from my overlay repo and be in business within a few minutes.
I wrote this virtual 10 years ago. It still works perfectly. Ironically, I guess I could say, I choose gentoo because I want to spend _less_ time managing my system, and it enables that in a way that no other distribution has for me ever.
It's a rolling release so it never has a "major blow up day" - at worst I have to spend 5-10 minutes on a "breaking" change.
My desktop is just a Mac, but my Gentoo server provides the Linux I need.
(Work servers are Ubuntu because work software wants something well-known.)
Persistence like a Saint? Hard to say. I've been using it for 20 years too.
I stopped using Gentoo when I got my made my first "production" system: I made it, people started using it, and it was "done" - as in, there were no more any reasons to log into it daily, or even weekly. I'd still want my security updates and very very rarely there would be a new feature that required new package, but otherwise I wanted system to be steady. And Gentoo is a horrible fit for this usecase - even on my personal desktop where I updated weekly I had emerge build failures practically every time; and a system which might not be updated for months would be even worse. So I went to Debian, and it was good (especially with unattended upgrades), and I eventually switched all my machines to it.
If you use Gentoo, do you have any machines that you don't tinker with weekly? How often do you update them, and how often do you need manual intervention to finish the update?
Leaving a Gentoo system is, as you say, not something you should do. I'm lucky that I don't have that.
Anyway, the best OS is the one you already know how to use.
given the behavior one can only think that software people generally don't care unless it bothers a user metric like 'battery life'.
(microsoft's anti-virus)
I don't cool my home, though.
In the first pass, my mind decided that "state" was a verb, and, therefore, there should be a subject appearing before it. But I only found "any", instead of "anybody" or "anyone". Then there is "was ever in be" which, by itself, is a weird construction. It does makes sense in the sentence, because it is "[the] state that Gentoo was ever in" + "be reflected upon". But since I was (unconsciously) dividing the sentence in smaller parts trying to identify the subject, the predicate, the verb, the object, or whatever would make sense for me, cutting the sentence like that only confused me even more. I kept going back and forth trying to imagine which word was missing, and only after pushing through until the quotation, the whole sentence finally made sense.
Although I can't think of any example right now, I know that it is common to use sentences with structure similar to this one, and I see them almost daily, probably multiple times a day. However, as a non-native speaker, this one was an actual struggle, and I feel so good for having overcome it that I am willing comment on it.
For closure, if I was the one writing this sentence, I would probably use the active voice with an indefinite pronoun, which is also probably what my mind was expecting:
Only on HN would anyone reflect upon any state that Gentoo was ever in as "just worked like a breeze".
And I ask: were there native speakers that also couldn't understand it in a single reading?So at least once upon a time (10+ years ago) there was this option of just using it as almost another regular distribution.
Slackware on the other hand... (I say this is in a bad way, and I think it's changed since; for Slackware for anything more complex you had to manage the entire dependency tree yourself, and it was a pain in the neck for anything not part of the not-that-many-regular-packages; nota bene: for the "beaten path" Slackware was more or less just another Linux distro, but the "beaten path" was quite narrow).
Then you haven't read their own docs but are providing lessons online for it :/
I used quotes because it is their term for that procedure.
Is this even after disabling drivers and other code that is not needed for the x60.
Practically speaking this is probably true but theoretically a distribution's job should be to somehow guarantee that a specific package built their way gets the security fixes for the way they built it.
This is anyway tangential to the fact that in security "less is more".
I used first Xenix in 1993-1994, and naturally wasn't compiling it from scratch.
Do change root installs still work? I would probably give it a try again.
But, the biggest Java user in term of number of devices is Android. And every time you install an app, you compile it. Including every time you update it (which nowadays is... everyday?). Also it'll recompile in background to use pgo. Nowadays [1] Google could pretty much compile it server-side for most devices, and save a lot of battery wear (batteries wear when getting hot, and compiling, weirdly, heats), in addition to power consumption.
While I was untangling update dependencies one day I had it uninstall libc. There was a big warning advising me not to do that, but it was allowed.
Everything broke immediately, of course, but I recovered the system and the dependency problem really had been fixed, too!
This gave me a permanent positive impression of Gentoo. It's better to be allowed to do things than not.
Idr how this is handled on RPM-based distros, but on Debian it is part of the standard procedure for crossgrades.
(More impressive than this sort of flexibility, imo, is how NixOS and GuixSD sidestep this problem altogether.)
From the outside it looks like the Gentoo community is happy and stable being small. And that’s good.
I’m not sure Google copying some of their software and putting it on Chromebooks is a huge win for the community, although I bet some of the Gentoo devs are proud.
Sounds like they are just using parts of it and not Gentoo itself.
And that's been much more important to me than cflags, which I set once and ignore, ever since trying to install a command-line MP3 player on an ancient RedHat brought in an entire X install.
I can count at least 6 linux computers in my household (this includes stuff like work laptop(s), fileserver, my family member's PCs, and that raspberry pi which only acts as a camera server for my 3D printer). And the life is just easier if all of them run the same, or at least very similar, systems.
What's weird to me is that it works for me. And it's weird because I see how Gentoo is just not a good fit for most things, so fitting it feels weird.
[only on HN] could [any state [that Gentoo was ever in]] be [reflected upon [as "just worked like a breeze"] unironically]_,_ and [I] mean [that] [in a fond, loving way]
We do that in Debian, too. FWIW, I am the one that eventually greenlit the removal of the ia64 port in the kernel because I was actually the one who took care of most of the issues in the ia64 port.
I also regularly debug and report (and sometimes fix) regressions in various upstream projects regarding targets such as 32-bit PowerPC. It's not enough to solely focus on downstream work, upstream work is as important if not even more important.
> https://buildd.debian.org/status/package.php?p=base-files&su...
> https://cdimage.debian.org/cdimage/ports/snapshots/
Installer images for LoongArch are in the works as well.
Why would you use 4 package managers to do 1 thing ? Most people who use arch use 1 and it does the job. All of them are built around pacman + smth for AUR packages. Personally I use pacui. Why would you convert package from other distro, if another distro has it then it most certainly exists in the AUR, never once had to touch another distro's packaging.
I don't know about the "the modder's distro" part but I personally had much less headaches with it than I had with Ubuntu,fedora,debian, and CentOS.
The only thing that sucks for me (regardless of distro) is Nvidia updates.
AFAIK you can use any POSIX shell as `/bin/sh` on Arch Linux. By running `sudo ln -rsf /bin/dash /bin/sh`, dash works well.
Chrome, git, ssh, docker, netbeans
I know it's not mainstream to use NetBeans these days, but I don't care, I'm just used to it and it gets the job done. Maybe I'm just getting old.
Yeah, I'm calling bullshit on this one. At least, it doesn't line up with my experience. In my experience, games are optimized _just enough_ for a decent playing experience (and not always then). Games devs, as a whole, are the worst offenders of expecting their users to just throw more money (hardware) at the software to achieve usable/enjoyable experiences. There are, of course, exceptions. But, for every Carmack, there's 10s of thousands of developers scrambling to make their deadline, doing just enough to ship.
The games themselves though are a different story. Outside of open sources games (which are usually less demanding than commercial ones), you don't have the source code to rebuild it. Even if you did, enabling optimizations beyond what the developer used risks breakage so you will have to do your own testing. Even then, simply rebuilding the software wouldn't address the quality of the code created by those developers who are scrambling to meet a deadline with as little effort as possible.
Back in the day, I spent a fair amount of time working on gutting the DLL because frankly, it was atrocious. My memory is a little fuzzy as it's been +10 years since I've looked at it, but things I remember seeing:
* over use of C/C++ preprocessor macros where an inline function would have been more appropriate to say, get the array/list of CvPlots (tiles) that needed to be iterated over all the time. * lack of hoisting loop invariants out of loops. It is common to see usages of the non-trivial macros above in the bodies of tight loops, often tight nested loops. Optimizing compilers are great, but they're not _that_ great. * the exposure of the C++ types to Python was done...poorly. It was done using Boost Python (which, while a great library for its day had a _huge_ learning curve). For every Cv type in the C++ DLL, there was a corresponding Cy type to expose it to Python. Collection types were _copied_ every call into Python code, which was quite frequent. The collections should have been done as proxies into the underlying C++ collections, instead of as copies.
Most of the changes I made were quite small, but over the course of a month of part-time hacking on it, I'd gotten late game turns down to a couple of minutes from 30-minutes and memory usage was extremely reduced; and I never did get around to fixing the Python wrapper as it would have too intrusive to fix it properly. I could have made more aggressive changes if I had full access to the source, but being constrained by DLL boundaries and C++ types being exported limited what could be done w/o breaking the ABI (had to be extremely careful about not changing object sizes, affecting vtable layout, etc).
Frankly, I doubt the developers spent very much time at all, if any, with a profiler during the course of development with the game.
What AAA titles have you played around launch in the last 5 or so years?
It's really not much different than working with Arch in terms of complexity. Initial setup takes a bit, but if you've installed arch you are pretty familiar with everything you need (in fact, arch docs are helpful for a gentoo setup :D).
The docs are VERY good and easy to google.
Compilation time can be nasty depending on what you install but not terribly bad. I just rebuilt the world because a GCC update broke lto that I'm running. With about 2k packages that took about 6 hours to complete on a Ryzen 7950.
General updates take almost no time at all (especially using git for syncing). Usually less than 10 minutes often less than 1. As I write this, I'm currently rebuilding kde (if you are using your computer, rebuilding doesn't really get in the way. Especially if you are already working with a multicore system).
I’m not so sure. A lot of the power comes from multiple cores. Years ago I had one core, now I have eight. A lot of the compiles don’t use all the cores.
Software has also gotten bigger. rustc is huge, for example. It didn’t even exist when I used Gentoo years ago.
These days I’m on the Mac and I just switched to Homebrew after using Macports for years. It was for one of the same reasons I stopped using Gentoo: compiling takes too long. Whenever I upgraded Mac OS versions, Macports required me to recompile everything. This was no problem at all for, say, tree. But something was pulling in gcc (emacs needed it for some reason??) and this took ages to compile.
At least Macports worked though. When I used Gentoo, it took so long to compile things that I would leave it overnight, and of course often in the morning I would see that the compilation stopped halfway through because something was broken. Hopefully that’s improved. Or of course maybe the binary packages will help with this.
But if I wanted a build-your-own, rolling-release binary system, I don’t see why I wouldn’t just use Arch.
I rather use programming languages ecosystems that favour binary libraries for a reason.
I was working with a 486 around 1995. Compiling your own software was the norm and compiling your own kernel could have significant performance benefits (even if it was just to conserve the limited memory supported by machines of the day, to head off some of the swapping). By the time I learned of Gentoo, that was not really the case: most of the software one could obtain was provided in binary form and compiler optimizations were much less relevant (unless you had a special workload).
The tooling provided is important too. I was using NetBSD for a while. For the most part you just started the compilation process and walked away until it was done. (I imagine Portage is similar.) You didn't get the instant gratification, but it was not time intensive in the sense that you had to attend to the process. That was very much unlike my earlier experiences in compiling software for Linux, stuff that isn't in the repos, since it did have to be attended to.
Later on, to take advantage of my Pentium based computer, I would get Mandrake, with its i585 optimized packages.
Most of my Linux based software would be sourced via Linux magazines CD-ROMs, or Walnut Creek CD-ROM collections.
It's just an unwieldy amount of extra overhead, disk space, and time, which I'd rather avoid, especially for devices I'm not fully committed to maintaining over a long period. I've tried what you mention, it's just never convenient enough to be worth the pain.
My point is that you do not need to setup a binrepo or any other complication like this.
You can install easily Gentoo on a very weak computer, by performing the installation on a typical desktop computer, which may run a different Linux distribution, not necessarily also Gentoo, and then just copying the files.
The Gentoo manual has always included information on how to install Gentoo inside a chrooted environment.
Right, I am sure they intended it to be absurd in an amusing way.
Same!
Starting with a Stage 1 install was what got me (with some guidance of a friend and the perfect Gentoo Wiki) into Linux circa 2004 (IIRC).
Now, some 20 years later, i much prefer to have not to deal with something as... dare i say.. fragile... anymore.
Yes, much of the breakage i dealt with was probably self-inflicted but always a good learning experience - but most of the time not at the most convenient time :(
I did Stage 1's as well around the same time but eventually got tired of doing that every so often or fighting Portage and switched to Arch.
Then I got tired of dealing with Arch... and ended up on Fedora.
I always liked Gentoo and Arch, but I don't have the energy to put up maintaining them anymore.
I dunno, there's a fair amount to be said for having an up-to-date kernel, systemd, and Docker. :)
The main problem is that if I provide a specific repo for docker (to keep a fresh version) it can request some dependencies and bam! I have a Debian-Turend-Arch system to maintain :)
Civ had been a 2d game until then, it was their first 3d title.
Not to mention that it was turn based strategy, and the main performance problem was AI turn length in the endgame.
Although, I do somewhat think that working out good optimization flags for cross-platform compiles is a moderately unusual skill, even among people who compile things regularly. Hopefully I caveated that sufficiently, I’m not saying it is a hyper-advanced dark art or anything.
I have in the past set up code on a cluster to just compile on one node for the first run with -mtune=native because I’m lazy!
It's not really clear how long the Linux kernel itself will continue supporting such CPUs. The architecture certainly isn't something anyone really cares about (e.g. Meltdown wasn't patched for several months after it went public and 64-bit x86 got fixed).
That's not a good thing though, perhaps aggressively depreciating 32 bit will light a fire under their asses
If one were to rephrase it in today's language, Linux serve(d) to reduce e-waste.
So, yeah, it kind of is the distro's problem if they are moving away and against that mantra now.
Last I heard, even the last BlockBuster in the US is still using old PC's to run their DOS software. They harvest parts from old computers sold on e-bay. So, if you have any old computers laying around, they might be worth something these days.
Outside of the enterprise crowd, Linux's next biggest audience are the tinkerers and hobbyists with too much free time and ancient hardware well past their Use By date. What a time it is that we can legitimately say it's better to run some version of Windows instead of Linux on them now.
A lot of software packages I've been using lately don't exist in the AUR. My tastes might be more niche than yours, I don't know.
> Why would you use 4 package managers to do 1 thing ?
Because all the software I'm trying to install has documentation like "install with pacman" or "install with pamac" or "install with yay" or "install from source" or "install from AUR" or... I think you get where this is going.
> Your experience sounds weird. Reading it remind me of people who come from programming paradigm X try paradigm Y and only use methods from X only to conclude that Y sucks.
Reading your rebuttal to my experience reminds me of people who answer questions on Stackoverflow like, "why would you do it this way? Your question isn't valid, your question _should have been_..." That is to say, rather than attempt to understand where I'm coming from, you thought to overwrite my experience with your own, as if yours is the truer experience to be had. My time using Arch and Arch-variant distros led me to having a seemingly fragmented experience over where to find software. That's got nothing to do with X being better than Y, it has more to do with X being mostly one or two overall places to find software, and Y being fragmented between 4-5 + conversions between apt/yum packages and PKGBUILD scripts. I'm not saying Y is inherently worse, I'm saying it's a fragmented and confusing user experience, in my humble opinion. My main dev machine still runs Manjaro because I've come to enjoy its opinionated handling of Arch, though if I were to re-image that computer I'd probably go back to either Fedora or Ubuntu.
> but I personally had much less headaches with it than I had with Ubuntu,fedora,debian, and CentOS.
Personally, I'm fine with using Ubuntu, Fedora, Debian, or even Arch. I'm not saying any one of them are bad or worse than the other. I'm just saying that, to me, Arch came with some additional challenges that I don't experience from other distros, mostly revolving around how software packages are found and installed.
I understand that a newcomer at the beginning can be confused about the relationship between pacman, pamac, AUR, yay, etc
similar cli programs exist in other distros though are not as encouraged.
That is how I read it, but it's all good. Sorry for misreading your tone.
> I understand that a newcomer at the beginning can be confused about the relationship between pacman, pamac, AUR, yay, etc
Perhaps that's the source of my confusion. So with:
Red Hat-like distros the tools are usually dnf or yum, which are evolutions over rpm.
Debian-like distros the tools are usually apt or apt-get (which are more or less the exact same thing), which are evolutions over dpkg.
With Arch, I kind of assumed that pamac and pacman are similar things, no idea if yay is related to anything else though. And I think pamac actually can install things from the AUR. My confusion definitely stems from loading up documentation from every different piece of software I tend to install, and each one of them listing a different utility for installing their package. If these are all the same thing with different UIs, installing packages from the same repositories, then that's definitely where I got lost.
And then I'd often be further annoyed to find out that the software vendor doesn't have a package for Arch, and nobody put one in the AUR yet, so I'd take the deb pkg and run it through debtap to get a PKGBUILD script. Doing which has netted me varied results.
Point of sale or industrial control computers are kind of just an offshoot of "embedded"; not something you need (or want) to run a browser or a modern GUI[0] on. You stick it in a cabinet or a kiosk and hopefully you don't have to think about it again.
[0] sadly also a browser
Around 2004, I was building Gentoo up from stage1 just like many other commenters.
For 2024 and personal stuff I’m back on Debian and it’s safe enough I pull security updates daily - entirely automated and no review on my part. It essentially never causes a problem. Updating once a year sounds terrifying to me given the rate of vulnerability discoveries of late.
As ever your mileage may vary and your systems aren’t my systems, but Debian truly is a wonderful OSS project and as of August 2023 it celebrated its 30th anniversary!
Gentoo going binary feels weird :) I’ve still got a soft spot for Gentoo and what it enabled me to do 15 years ago when I had more time for personal hacks.
Now I'm in the process of moving my desktop computers to Archlinux, to enjoy better control and up-to-date software.
Servers I keep in Debian for the same reasons you mention: stability and safe automated updates.