cross-posted from: https://lemm.ee/post/40063668

As a Linux newbie, all I know about Arch Linux is that it is a DIY distro where you assemble the entirely of the OS by scratch. Somehow it feels like it is too easy than it needs to be, even if it is primarily meant for experienced users. I imagine it to be less like building your PC from parts bought from the market and more like building each and every component of the PC by scratch along with building the PC, which I assume to be much harder for the average consumer. It seems absurd how it is possible for a single person to incorporate the innumerable components required for functionality in a personal system that does not crash 100% of the time due to countless incompatibility errors that come with doing something like this.

I would like someone to elaborate on how it feels to ‘build’ a system software by yourself with Arch and how it is reasonable to actually do so in a simple language. I do have some experience in programming, mainly in webdev, so it’s not like I need a baby-like explanation in how this works but it would be nice to get to know about this from someone who could understand where this confusion/curiosity is coming from.

  • j4k3@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    1
    ·
    1 month ago

    Arch is not really a DIY distro and certainly not for noobies. Those saying so are either naive or a troll. Arch is an excellent resource and it has its uses. Arch assumes you have a full understanding of a POSIX operating system and all components. Arch has an encyclopedic wealth of great information. What Arch is not, is beginner friendly, or remotely tutorial. If you try to use Arch to learn how a POSIX system works, you are going to have a very bad experience. This is about like me handing you the encyclopedia and telling you to go learn physics.

    For a beginner, start with Fedora or Ubuntu because they won’t wreck your system. Fedora is on the cutting edge while Ubuntu is stable — which only means that most packages are frozen and will not stay updated in the latest version. It means many things are old and outdated, but you can write a high level script that will never be broken by some change that happens in a software library in a random update. Windows is also a stable (outdated) operating system so that companies can write software that will not get broken because they fail to maintain it regularly.

    Gentoo is a tutorial distro. It is the compile everything yourself and learn how everything works distro. Gentoo must be kept up to date, but if the Portage package manager needs input from the user, the Gentoo packagers layout the details in a very approachable way, assuming you are competent enough to make it through a Gentoo installation in the first place. Most people take days to weeks to make it through their first full Gentoo installation and configuration. This is guided, but there is an enormous amount to take in and figure out. You’ll be compiling and configuring everything from the bootloader and kernel all the way up. If you are at this level of competence and understanding, where you can run Gentoo, THAT is when you should consider running Arch. Arch is basically Gentoo, but without the compiling and configurations. All the components are easily accessible in binary form.

    If you run Gentoo for awhile and you really want to understand what the packagers are doing on an even deeper level, then do a Linux From Scratch build (LFS) this is a thing too.

    If you want to learn in situ and actually use a system, use Fedora, get The Linux Bible if you want to learn sysadmin, and leverage the RHEL documentation for more advanced stuff because REHL is the original distro, and where a lot of the core kernel devs come from. RHEL is down stream of Fedora.

    Every distro has a distinct reason it exists. It is foolish to turn them into team sports like brands. A key part of the learning curve is figuring out why each distro exists and leveraging that knowledge. I use them all for various reasons and know which to use for documentation. I may use Fedora as my base, but I have Arch, Ubuntu, and Gentoo that run in containers on my host machine, and have run all three as my base system in the past.