Home » Uncategorized » Manjaro, Arch, and Debian

Manjaro, Arch, and Debian

I’ve been running Debian-based distros for my first 8 years with Linux, but I decided to try Arch for my new Lenovo Yoga 2 Pro. Most recently, I was running Mint-Debian aka LMDE, but with this new hardware, I wanted to be more up to date with the latest software. For example, LMDE is currently using Gnome 3.4, whereas the latest is 3.10. LMDE also isn’t really rolling in the sense that Debian-Testing or Arch is, as new things only arrive about 3 times per year. Therefore, between the time to get into Debian, and the time to get the new batch of updates from LMDE means it can be many months after I’d read a news article about the new LibreOffice features before those bits would actually arrive on your computer. In fact, by then I might have forgotten why I was excited about their work in the new release.

I installed Arch but considered Manjaro also. The big benefit is a graphical installer:

manjaro

Not everyone is comfortable in a command-line, but I believe everyone should be. Today, however, many people, especially those who came from Windows or the Mac, have not yet learned it, and so Manjaro is doing a valuable service to improve the initial out of box experience. There is plenty of time to learn more about how your computer works once it is installed and configured. It is surely possible to take the necessary steps, and the best practices in the wiki, and put them together into a friendly and beautiful installer.

I haven’t tried Manjaro so I can’t say how it would have worked for me. However, given the hardware problems I ran into such as needing to use rfkill, setting the acpi_backlight kernel command-line, needing to tweak the Synaptics configuration to make the mouse close to usable, etc., it would have been almost as difficult for me even with the work they are doing to lower the barrier to installation on this new hardware.

I had to know how to tweak GRUB, systemd, and other configuration files, so I may as well set it up. I hope Linux one day doesn’t require anything tricky to get it working out of the box, but that is not today.

Manjaro has taken the mature Ubuntu installer and ported it over to the Arch system. This is valuable to help new people getting into Linux, but assuming it works, the benefits over running Arch on a daily basis drop to near zero. In fact, running it is possibly less useful than Arch, a topic I’ll discuss later. Note that you can’t switch to the Arch repos after you install Manjaro because your computer might not boot.

Manjaro does provide benefits after installation, but they are of much less value. For example, they have added graphical notification of new updates:

Manjaro 0.8.5 Pamac Update Alert

Arch by default handles updates only on the command line, and has no GUI to prompt users when new updates are available. This is a nice but very optional feature as the alternative is just running the trivial command pacman -Syu.

Some things I disagree with about Manjaro. I don’t understand why they have their own repositories with a copy of all the packages when they are mostly focused on the problem of installation. Shipping a different installer entry point into the Arch world doesn’t require making a copy of everything. Manjaro might claim to gain benefits from having having separate repositories, but they are changing only a few packages so the improvements are tiny.

Arch is a bigger team, and so I trust them more to have the latest versions available with important security fixes, etc. Keeping up to date with the latest and best software is an ongoing and time-consuming process. It is the lifeblood of a rolling release. I don’t want to run something that isn’t a part of Arch in that important way. Manjaro should enable users running out of the Arch repository to not lock people in.

Manjaro takes released versions from Arch and runs additional tests on them. By doing this, they can claim to be more stable. However, if the underlying problem is that Arch is sometimes unstable, doesn’t that mean it just needs more people running the test builds? Why is waiting to start further testing a good idea?

Even consider the case that sometimes useful features don’t get enabled in the Arch packages. For example, if Manjaro wanted to offer x86 kernels with PAE support for machines with more than 4 gigabytes of RAM, they can setup their own respository with just that package. The cost to mirror and distribute a few packages is much smaller.

Or, people interested in doing the PAE work could just help out the Arch kernel developer who is probably very busy. It is easy to see problems as a reason to create something better and new. But a fork is social engineering and to be taken with care. I also don’t understand why Manjaro have their own wiki. It seems like it should just be a a few pages on the Arch wiki. The wiki is one of the best features of Arch, why would you start over rather than improve what is already there?

As a side note, Antergos is another (top-30) Arch-based distro with its own simple graphical installer but at the end points to the Arch repositories. For some reason, this team and community is less well-known than Manjaro. I don’t understand why so many small groups of people think they should make an OS. At Microsoft, a team of 4 developers would be maintaining a codec.

Phil and Marlene

Mike Conlon has written papers about forks in software. In short, he said they should happen when people can’t get along. While we celebrate the diversity that comes from freedom, we shouldn’t always consider forks as a sign of something positive. Imagine living in a world that celebrated divorce instead of marriage. The benefits of community come with size and division of labor.

I don’t know much about the community of Arch. I have long respected Debian for its good people, generality, stance for freedom, sense of community, and vast institutional knowledge. The DPL election process itself encourages civil dialog about how things can improve. However, at some point with the kernel, systemd, Firefox, etc. the OS itself is just the tool to compile and distribute all the other components.

How Long Here?

I have run Arch for 6 weeks. I don’t know how long it will last, or whether I will find sufficient reason to leave. My review documented all the problems I ran into, but none are Arch’s fault. Put another way, I found no real problems in their package manager, compile and install scripts.

Some have left Arch and before I installed, I read reviews and articles to understand what the reasons were.

I discovered various different causes but I don’t think any of them will be a problem for me. One of common reasons was that there have been some transitions in the past that were disruptive for users: for example, the switch to systemd broke some systems, but there were others as well. Even if the users can fix the problems, the sum of the inconveniences of the years can leave a mark.

Systemd components

The switch to systemd was cited several times, and some thought it was bad idea being forced on them by a cabal. I personally believe it is important technology modernizing low-level usermode aspects of the OS. The kernel is a great piece of technology, but at the end of initialization, it starts one user-mode process and then waits for work. The kernel doesn’t even write its error messages to disk, just to a memory buffer. Such policy decisions as where to store the files and what format are left to usermode.

There are multiple free init systems out there, and so it is hard for groups to come to consensus about whether to switch and which is the right one. Arch because of its simpler social structures and smaller team, doesn’t have the open debate process like what Debian is currently going through. However, it doesn’t really matter how you came to that realization as long as it was the right result!

In most cases, Arch can provide multiple choices such as whether to run OpenBox, KDE, or Gnome. Supporting multiple init systems was a choice they did not provide, but that was also a good decision. Via the configuration files and command-line utilities, you can tweak a system in innumerable low-level ways. The idea that you gain any further useful customizability via multiple init systems is incorrect.

Arch was relatively late (mid-2011) in supporting package signing. (The benefit of this feature is that you can independently verify that a package came from Arch, no matter whether you download it from their servers, or a mirror, or any other place on the Internet.) Some left Arch, or threatened to, because it didn’t sign packages.

attachment

But at the same time, you need to be the type that wears a tinfoil hat to believe that anyone would secretly disrupt Arch or its mirrors. If the NSA wanted a secret hook, they’d put a gun to Linus’s head. They wouldn’t bother hacking Arch as it would take too long to accomplish anything. It was one of those features that is a good idea because it adds end to end security, but was only ever a theoretical problem for Arch users.

In any case, Arch now has signed packages. It was simply a lack of resources and more people complaining than programming. Arch is run by people who see what other distributions do and can learn from them. You don’t need a formal social organization to be able to learn from the good ideas of others.

Because Arch doesn’t have elections, release parties or yearly conferences, it doesn’t have as much a sense of community. Some people left Arch because they found too much elitism and rudeness. I experienced it personally already from one of the maintainers.

Upon filing a bug, I was told that it would have been easier for me to create the package I wanted than to keep discussing whether it even should be packaged. Of course, making your first package is much harder than installing it, just like making a cake is much harder than eating it. I told him that he should have just added the package like every other distro has, rather than keep coming up with invalid reasons not to, but that wasn’t convincing 😉

reddit logo

On Reddit, Arch users commented of my previous review that it was my fault for expecting it to work like Ubuntu, and that I deserved no “sympathy” for any issues I ran into. One fan of Arch even told me I shouldn’t be running it! I have been running Linux for 8 years and working with the command line since he was in diapers.

Of course, judging a community by individual emails and Reddit comments is scientifically invalid. Insanity in various forms is currently a pre-existing condition of society, and I don’t have reason to believe it is worse in Arch than Washington, DC or Los Angeles.

But the distros that have a mentoring process and such will find that it removes a distinction between users which are to be looked down upon, and contributors who are the masterminds. Every contributor was initially a clueless user and some distros even have a mentoring process.

Arch has a process for moving from user to contributor as well, but it is much more about demonstrating past contributions, and eventually given more upload permissions. It also has a user repository area (AUR) that requires no special rights to become a part of the system.

And in the AUR, they have a mechanism which allows people to vote on packages, and the most popular can be included in the main repository. These feedback loops are great forcing functions to make sure the developers listen to users. Bugs can also be voted on, to help developers prioritize and make the system more democratic. Even though Arch is missing some of more refined social structures, it has its own.

I’ve also read about how some people left Arch because they had multiple breakages over time and lost trust. However, there are wiki pages that explain how to handle the situation and best practices for system stability. Almost always the problem is a mis-configured system, or a bug in the upstream code. I have two kernels installed, the mainline (3.12.3) and the LTS (3.10.22) version. So if a kernel upgrade breaks, I can always boot to a known-good one. Because Arch doesn’t have the resources of the big vendors to debug kernel problems, it can be nice to have an extra as backup.

That doesn’t solve many other ways the system can break before it finishes booting, but it is nice to have. It is a fact of life that it is very easy to break an OS. Death is the norm in this world. I’ve read stories of people who accidentally configured their computer to sleep in response to the system start event.

The community of Arch is large enough that users run into all kinds of problems that more slowly moving distros would never see. Of course, Arch isn’t large enough to debug every problem but they have the resources to fix the bugs that “everyone” runs into very quickly. There is safety in numbers.

Many of the hardest transitions in Arch are in the past. I expect it to be smooth sailing now. I can think of little ways to improve it, but given that it is running all the latest software, I have no reason to install anything else right now.

Arch is under the radar compared to Ubuntu, Fedora, Mint, Debian, Suse, etc. It gets less than 1% of the news that those others get. It doesn’t have benevolent dictators making hardware deals and memorable pronouncements. It doesn’t have billion-dollar companies supporting them. Somehow, they’ve managed to survive.

The free software community is still surprising to me. 50% of computer users know of Linux. 10% of them know Ubuntu. 10% of them know Debian. 10% of them run Arch. 1% of them contribute to Arch. There are many good distributions and working on them. When you consider it is only on 1% of desktops, it is astounding how many solid choices there already are. Arch is the secret anarchic distro that works perfectly.


17 Comments

  1. This is a well-balanced review; it’s nice to see that you have looked at a number of aspects and considered them thoughtfully.

    There is one concept I take issue with:

    Manjaro is doing a valuable service to improve the initial out of box experience.

    No, its not. Manjaro “helps” people that don’t have the technical skill (or, worse, the desire to learn) to install and operating system that requires a pretty high level of attention and, from time to time, some intervention during updates. This, and the other spin off distros, is where you get most of the complaints about breakage: people who have installed a system they don’t understand and aren’t in a position to effectively manage.

    Additionally, Manjaro contributes nothing back “upstream” to Arch, other than the aforementioned users suffering from learned helplessness.

    Not every Linux distro is part of the crusade to convert users to Linux. Assuming that Manjaro is helping in that regard just displays a lack of understanding about Arch, not any insight into Manjaro, or Antegros, Arch Bang et al.

    • I understand the perspective that improving the initial out of box experience could create helplessness. As I wrote, I wish that everyone was comfortable with the command line.

      However, I believe there is plenty of time to learn how your system works after it is setup. I know a lot more about systemd, pacman, etc. since after I installed it! So even if you see a lot of clueless Manjaro users, the problem is something else than the installer.

      Of course Arch is part of the crusade to convert Linux users. It just wants them all to be comfortable with the command line 😉

      Furthermore, who cares whether something is part of a “crusade”? I don’t even really know what word means. Would I like more than 1% of computer users to be running Linux on the desktop today? Yes.

    • This is the typical short sighted view that generally comes from young people. I have been running Linux and installing via floppy and tape since the SLS days, Linux kernel 0.98ish. I do like to live on the leading edge of Linux and other software and think Manjaro is providing that service. Some of us have moved on to learn other parts of the Linux ecosystem. You could relate it to the advances in calculators, sure we can figure out how to do square and cube roots but who wants to when you just require the answer to move forward on your project.

      • If I remember correctly, the Manjaro graphical installer was ported from Mint.

        I have one computer running Manjaro, it was installed with their older text mode installer.

        Not related to the installer:

        Manjaro works, sort of: icons in gtk3 applications were broken twice, and I’ve had to recover from a very badly broken update one time. It seems there’s some kind of bug in pacman that makes it misbehave when there’s something wrong with a mirror. That pacman problem has caused trouble when I used Arch, too. When I have some time, Manjaro will be replaced by Debian stable (which already runs on my other computers).

        In my opinion updates should always be safe, I want my security problems fixed even when I’m very busy doing actual work. This makes Arch and Manjaro unsuitable for me.

        Rolling releases mean you sometimes have to spend a lot of time making changes to a running system. It typically takes at least as much time as installing a new release, but you don’t get much flexibility in when you have to do it. In other words, rolling releases are bull.

        Updating Arch or Manjaro: check the website for problems; check the forums for problems; check for panicking users on IRC; check whether your mirror is properly synced; pray; update; watch the output of the update for problems; usually discover that your system still works, occasionally waste time on the command line.
        Updating Debian or Ubuntu: click the button or run the command. Done.

        I really do like Arch. Pacman has a great command line interface. Building packages is super easy. There are no configuration files that start with a “generated by foo, please do not edit” line. It’s simple. It’s fast. You’re allowed from the start to configure things in ways the maintainers didn’t imagine. It has great documentation. Everything is up to date. It has all the software I actually want.

        I like it so much that I’ve kept it through the initramdisk of all installed kernels breaking in a big update I forgot to pay attention to, pacman breaking itself, various smaller problems caused by updates, and of course the systemd change. I switched to Manjaro hoping the delay and additional testing would prevent all breakage. I think the switch did help, but not enough.

  2. I like your review, i also use Arch and i have also found elitist users that wouldn’t help me but I’ve found much more people willing to help than not.
    And as you mentioned most problems i had were easily fixed and the ones that weren’t my fault weren’t Arch fault either.

  3. Thank you for your time and energy Keith to write about one of the best distros in our linux community, i.e. Arch.

    Just want to share with you my feelings about two aspects: installer and updates/upgrades.

    Is it really a gain to have this crucial procedures of every OS just “out-of-the-box”?
    Would you’ve been happier with an installer that just adds packages, without understanding what a certain package does and how it can boost or, on the contrary penalize, the overall experience of interacting with your machine?

    The same goes with updates and upgrades. Think about Gnome 2 → 3 or, as you’ve mentioned upgrading to systemd from system V.
    Ending up with a system that might be “unusable” (the way you expect) for a couple of days and afterwards resurrect like Phoenix will certainly make you brighter that just wait for the developers/maintainers to “deliver”…

    They are, and should remain, time & brain consuming steps.

    Arch is the quintessence of linux IMHO: freedom of choice, flexibility, creativity, speed.
    It’s about empowering users and make them sooner or later become an active player in the community.

    Please, do not get me wrong. Every distribution is important, and addresses a certain audience.
    E.g: I’ve started with Ubuntu, the naturally moved to Debian and after reaching its limits too, switched to Arch. And I must say, after being on Arch for a couple of years I cannot see myself back in the “heavily patched” distros loop.

    Probably will switch to source-based distros sooner or later… although ABS is here 🙂

  4. The main reason I don’t use Arch Linux any more is that it broke and got into a such state that it didn’t managed to start systemd at boot up after a system upgrade.
    I spent weeks to try to fix this, tried multiple suggestions on changing grub configuration, but still systemd wasn’t found, I even asked the systemd developers at freenode about help, but there it was quite of a cold hand just pointing at the Arch Linux documentation, which I had already tried more than once. The only way was to boot the install media, chroot, but that kind of could have worked for me, but not for my other half. From this chrooted environment I had reinstalled everything regarding systemd/udev/kernel, still not able to start systemd at bootup.

    As I wasn’t keen on having a meta distribution on the laptop, I decided to go with Sabayon and got rid of Arch Linux. For a few weeks everything worked as they should, I even went for Sabayon at work and then disaster struck after system update and reboot, the same issue as with Arch Linux, impossible to load systemd at bootup, I didn’t even bother to try to fix it for more than one day without success.

    It’s not that long ago I installed Calculate on the laptop, I have to live with building some packages from scratch while others are binary, but at least openrc never broke like this and frankly for me systemd don’t give me any improvement, I think I’ll stick with openrc till there is something better.

  5. There are some things that need to be cleared up. Why does Manjaro have their own repositories? Because the software in the Arch repos are bleeding edge and might have some issues that could break things. Manjaro is a few weeks behind so that if some software in the Arch repos is buggy, the developers will have some time to iron those things out. The Manjaro user would not have to worry so much about reading Arch News before updating. If a Manjaro user ever feels “locked in”, then they are not the audience for Manjaro. Same with iOS. It depends on how much you want to “bother with something” or not. In reference to forks, I get that some people say it is “duplication of Work” but don’t you think people are happier getting exactly what they want instead of having to put up with something that isn’t exactly what they want? Sure, you can go to the store and buy bread and beef and make your own hamburger, but some people don’t want to bother with it. They go to McDonald’s. But ya know, not everybody that likes hamburgers likes McDonald’s, so amazingly there is a “fork” called Burger King. Why does Manjaro have their own wiki? Imagine the audience member of Manjaro going to the Arch wiki and then bothering Arch users about their Manjaro distro? If your thing was Debian, would you want Ubuntu users asking you about Ubuntu stuff? NO! Also, you have to read the Arch Way and decide then if Arch is for you before jumping in. If you had read the Arch Way and remembered that their philosophy is for the Arch users to create fixes and share them rather than report bugs, you would have understood why the maintainer didn’t treat you the way you would have liked.

  6. So, here is why I am moving away from Manjaro back to Debian Testing…

    .. (in)stability.
    over course of 3 Months with Manjaro(aka Arch), I had 4 system freezes, 2 Kernel panics. 1 happened during compilation of Icecat.
    Thinking KDE must be not really stable, I switched to Enlightment (E19) to have 3 EFL crashes, with e19 still able to recover and work.

    .. package management
    while core software is binary, most interesting software in Arch is in AUR.
    and they like to update core pretty often. Even with Manjaro, prepare for monthly update packs.
    So I built that Icecat – it took me just 3 hours on my notebook. To find, it does not start after update.
    Okay, I can recompile it – and had a system freeze. Regardless, system libraries that are needed by user applications are updated and updated without ability to freeze over stable version – known to Gentoo, or recieve full binaries for everything – like Debian does it.
    There is huge chance with every system update, my AUR applications will not start.
    Thats right “will not start”, because there is no method to detect which apps actually need to be recompiled due to runtime deps changed. Revdep-rebuild, anyone?

    While Manjaro boasts nice tools and relaxed update cycle, the Arch model itself seems not good for a workstation machine – rig with lots of fresh software and minimum fuzz to make it run.
    Thats the moments I remembered positively Gentoo and Calculate Linux, but .. I think Sparky Linux or plain Debian Testing beat it anyway.

  7. Have had Manjaro for over 6 months. Runs great with only a couple minor bugs. It is a great system and has come a long ways. But a fork is a fork. I originally wanted Arch, but its not easy to learn without time. The AUR is awesome and I received experience thru Manjaro. But it is true, Arch is for the ones who want to have pride? Or be a scientist? That is what many feel. But I will be taking more time to learn something new. As far as Grumpy container maintainers? Well, there is always a butt weasle in every crowd isn’t there. They are the problem. Instead of helping, they think they are God. Butt Nuggets.

  8. >> The idea that you gain any further useful customizability via multiple init systems is incorrect.

    It’s not necessarily about further useful customizations, it’s about being able (or unable) to pick your preferred init program and process manager. (Although if one has to tell you about the importance of free choice, I’m not sure your 8 years in the Linux world was valuable time.)

    >> It was one of those features that is a good idea because it adds end to end security, but was only ever a theoretical problem for Arch users.

    I don’t know the Arch users’ opinion, but I would bet it was a practical and important problem for at least a part of them. It’s evident that you have no idea about the importance of integrity checking (that’s why you can only throw out a few words about “thinfoil-hattery”), but saying it’s only a theoretical problem for Arch users is downright insulting their intelligence.

    • Of course I care about free choice, but not in some places. We all don’t have to have the same priorities. Don’t assume that yours are the ones others also care about. I personally don’t want any more office suites, I want better ones, with more features, which gives me more freedom to do things.

      I feel the same with systemd. There are a lot of people contributing to it, and so I trust it will be good. I’ve been running it for more than a year and it has worked fine. I look forward to Arch and other distros adding new features based on what systemd enables.

      As for code signing, it is one way to do integrity checking, but there are others. Code signing gives additional security, but if you trust the Arch mirrors, it is unnecessary. It is nice to have locks on doors, but if no one ever breaks in, it is unnecessary.

Leave a comment

Your email address will not be published. Required fields are marked *