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.

  • @[email protected]
    link
    fedilink
    English
    1
    edit-2
    3 months ago

    Might not be a great place to start and not Arch Linux, but gentoo solved allowing for many possible configurations by giving each package several different installation options. This is possible because packages are compiled directly from source so the package can have several possible setting changed during compilation. The combinations of software that work are kept track of by a program (the package manager) which lets you know if any settings do not fit together.

    On the other hand Linux distros like arch that use binary packages (already compiled) have to make a decision on what defaults or combinations of software to support. If installing packages seems straightforward, it’s because the package manager and the distro are designed well. Ideally, a distro has sane defaults and takes care of dependencies so you can focus on broad strokes (like choosing KDE vs Gnome).

    You mentioned that this may be impossible to create for a single person and you would be correct. It took teams of people, years for the linux experience to be as it is (and constantly improving). And yes bugs do come up, which is why picking a well maintained distro is a good idea. Because people do fix bugs and hopefully the original developers of the software also improve their programs. That is one of the beautiful parts of open source software, that it brings together massive collaboration across projects. If for example, the maintainers of Debian find a bug in a package, than when they share it with the package developers and it is fixed, Arch Linux also gets the fix.

    Though I have not done it myself, Linux from scratch is a way of seeing how much a distro puts into making a functioning system (as a fun side project). The Linux kernel might do a lot less than you are expecting.

    When you install windows you expect a graphical interface, drivers pre installed, some basic apps like a web browser or text reader, and etc. on Linux someone had to put together those things. That’s why android and Arch Linux can both use the Linux kernel even if they look different.

    There is a copy pasta about gnu/linux which makes fun of this, as well as endless debates about which user facing systems are better. It’s also why there are so many options to choose from on Linux. For example, Linux does not come with a desktop environment so you can pick which one you want (KDE and gnome as common examples).