6 ms·
The Arch Way
- alexggordon 11y agoCached version: http://webcache.googleusercontent.com/search?q=cache:http://www.dgeex.de/2015/04/26/the-arch-way/ http://webcache.googleusercontent.com/search?q=cache:http://... I'd actually argue a different point from the author. If you're a beginner at Linux, and want to learn more I would highly recommend Arch to you. Arch was the first *nix system I ever installed by hand (OS X doesn't count), and even as a developer, I learned more spending 3 weeks installing the OS than I'd ever known about linux previously. I'm a big supporter of the mentality that you should know the stack you're working on (regardless of OS), and I've found it's too easy nowadays to ignore all the important frameworks and libraries that the tools you're using are built on. Arch forces you to understand them, because you can't just "guess" your way through. The thing I loved about installing it most was that on my 3rd and 4th attempt I realized how fun it was to just break stuff to figure out how it works. I'd never had the chance to do that to an OS. You learn how to diagnose errors, how to discover them, what to Google, and why it happened in the first place. Understandably, most people might not be in the job situation where they need to do something as time consuming as install Arch as a dev environment, but I think that if you want to learn about operating systems, in a structured and incredibly well documented environment, Arch is unparalleled.
- dgeex 11y agoSorry for the downtime, it's fixed now. Maybe some advanced users could start with Arch, but most of the people I know, will find it too difficult and give up on it. Yes, it's a great way to learn how stuff works, but it's just not for everyone. And in my opinion, beginners should start with something different. I'd never recommend my mom to try Arch for example.
- enoch_r 11y agoI started with Arch too, and am still with it several years later (typing this comment on a Pixel 2 running Arch). I agree that Arch isn't for everyone, but I think a sufficiently curious and motivated beginner will be fine. Mostly because of Arch's incredible wiki.
- agumonkey 11y agoArch's wiki + the lack of accidental complexity in their tools. Everything is very very tiny. It forces you to know the basic tools (grub,...) , and a few concepts (chroot, etc...). That said it took me years, even after CS college to be at ease with most things.
- nextos 11y agoOh, can you report what works and what doesn't on a Pixel 2 hardware-wise?
- enoch_r 11y agoSure! On install, a few things didn't work: trackpad, keyboard backlight, touchscreen, and I think screen brightness. However, https://github.com/tsowell/linux-samus https://github.com/tsowell/linux-samus solved all these problems. There are a few details to iron out (as described in the README) but at this point it's fully functional for me.
- nextos 11y agoGreat, thanks! If you monitor hardware using powertop, do all devices enter into sleep modes when appropriate? Does the Pixel overheat?
- enoch_r 11y agoNo problems with overheating, so far it's never even gotten uncomfortably warm. Battery life is good enough relative to my old laptop that I haven't bothered checking power usage carefully yet, but here's powertop's output: https://jds.objects.dreamhost.com/powertop.html https://jds.objects.dreamhost.com/powertop.html
- nextos 11y agoThanks, very valuable info!
- alexggordon 11y agoThanks for the article! I will agree that my mom should not try and install Arch. However, if you work in the development community, want to learn more, and have an environment that encourages learning and experimenting, Arch is really an unparalleled option. I'm of the opinion that just because it's difficult, doesn't mean it shouldn't be recommended. I think even the ones that fail, might learn a ton from it, and having seen where the beginners that made it through an Arch installation ended up, I'm not sure what else I could recommend that would put a beginner in a better place.
- anonbanker 11y agoGirlfriend's first linux install was Arch. Made her install it herself, and now she has a full KDE desktop. It was pretty much the sign she was a keeper. :)
- vezzy-fnord 11y agoIf your goal is to learn without totally assembling something from scratch, I'd honestly recommend Gentoo, CRUX or Slackware, instead. Latter is what I use daily, and it's the closest to vanilla that you'll get while being suitable for daily tasks. Arch is a rather odd duck in that it has long cultivated this cult image of being a "hardcore" distro, but I never understood much of the appeal myself. It seems to attract a lot of unjustified smug users, and the so-called "Arch Way" (https://wiki.archlinux.org/index.php/The_Arch_Way https://wiki.archlinux.org/index.php/The_Arch_Way) seems to be rather tarnished in light of more recent decisions.
- dgeex 11y agoWhat kind of recent decisions do you mean? I've heard good things about Gentoo, I'd definitely give it a try someday. How would you compare it to Arch? Can you make a brief explanation what you like/dislike about them?
- barnacs 11y agonot parent but I have some experience with both: Gentoo was the first distro I ever tried, then I switched to arch and I've been using it ever since. I found gentoo to be way more of a hands-on distro. I configured the kernel by hand, checked the USE flags of all packages, looked up what each option was for and recompiled a shitload of things when I made a mistake. All these options are right there in your face and it's really tempting to mess around with them. Eventually, I found that it just took up too much of my time to do so. Arch is still a rather flexible system but it hides some of this low level stuff from the user. I just accept the default kernel, I live with whatever dependencies the package manager tells me are needed and the system doesn't tempt me to do otherwise. However, most of the time I still get to choose what and how I want. Lately though, sometimes I feel Arch crosses the line: eg. systemd pretty much being forced on users, removing the makepkg option to build packages as root.
- dgeex 11y agoEven if I'm not against systemd (it has its downsides, but it's not that bad as everybody thinks), I still think the user should be given a choice. So yeah, they probably crossed the line in this case.
- deelowe 11y agoI'm not a huge fan of recommending yaourt. Users should really learn more about the AUR before just letting yaourt automate it all. I recommend cower until you get the hang of things (or maybe just use cower full time). Cower automates only the downloads and updates without completely abstracting everything away with regards to the build and install process.
- dgeex 11y agoI didn't know about cower. Probably should give it a try. Thanks for the idea.
- zanny 11y agoUnless you use Antergos you need to at least manually build yaourt and its AUR dependencies once. also, you can imitate yaourt with literally wget <pkgbuild> makepkg pacman -U <pkg>. There isn't a lot of secret sauce to take out of your life by automating those steps after you do it once or twice.
- semi-extrinsic 11y agoOne word: dependencies. Of AUR packages on other AUR packages, in an unbalanced tree three-four levels deep. That's why most people use AUR helpers.
- FreeFull 11y agoSome AUR packages won't build with yaourt for some reason too, in which case you still have to use cower or download them from the website, and run makepkg yourself.
- GutenYe 11y agoIn case you haven't tried pacaur, you should give pacuar a try. From my experience, pacaur is better than yaourt. pacaur: https://wiki.archlinux.org/index.php/Pacaur https://wiki.archlinux.org/index.php/Pacaur
- capt8bit 11y ago"I've seen good documentations, but nothing beats the Arch Wiki. It's the most comprehensive Wiki you could imagine." I have heard this a number of times from Arch Fans, but I think I disagree. While I have referenced their wonderful Wiki often for "cook book" style answers (like how to fix URXVT+Tmux interactions), I do not view it the same as good documentation. I would also not really call it "comprehensive". To me, good documentation is as comprehensive as possible of the entire subject, and not just a "how to" on configuring it to look or behave like another user's installation. Compare the Arch wiki to The OpenBSD FAQ [1], the FreeBSD Handbook [2], or good man pages [3]. The FAQ and Handbook have thousands of pages of comprehensive documentation and examples. A well written man page should be capable of answering most of your questions and allowing you to determine what actions you want to take. I prefer the comprehensive documentation, or thorough man pages. Although, I definitely appreciate the usefulness of the "cook book" style Arch wiki. [1] http://www.openbsd.org/faq/ http://www.openbsd.org/faq/ [2] https://www.freebsd.org/doc/handbook/ https://www.freebsd.org/doc/handbook/ [3] http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/trunk.4?query=trunk http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/...
- dgeex 11y agoI completely agree that we need comprehensive documentations. That's irreplaceable when you need to properly configure something. Good manuals are mostly used as a reference. The Arch Wiki is something different. It guides you step by step how to reach your destination, and that's what most of the users need.
- brudgers 11y agoThe documentation ethic comes, for better or worse, with somewhat of an RTFM ethos. While I am considering Arch for my enroute ThinkPad, Ubuntu is still a consideration because of AskUbuntu on StackExchange. QandA offers an alternative set of community standards in regard to support.
- deleted 11y ago[deleted]
- zackelan 11y agoI'd call the Arch wiki comprehensive, but not cohesive. A prerequisite for cohesive documentation is that the system it's documenting is cohesive. The BSDs, as you noted, have cohesiveness down to a science, and their documentation reflects that. Take as an example the network configuration for FreeBSD [1] and Arch [2]. FreeBSD, because it's a cohesive system, is able to document the One Correct Way of configuring the network. The Arch instructions are much more "choose your own adventure", but that reflects the array of actual choices that you have in Linux for network config. Should you use systemd-networkd, dhcpcd, netctl, ifplugd, etc? Or maybe some combination? If you need wireless networking [3] which connection manager do you want to use? How is it going to interact with the thing managing your wired networking? Linux, for better or worse, gives you a very fragmented set of options compared to more cohesive systems like the BSDs. The Arch wiki does a good job of documenting those fragmented options. [1] https://www.freebsd.org/doc/handbook/config-network-setup.html https://www.freebsd.org/doc/handbook/config-network-setup.ht... [2] https://wiki.archlinux.org/index.php/Network_configuration https://wiki.archlinux.org/index.php/Network_configuration [3] https://wiki.archlinux.org/index.php/Wireless_network_configuration https://wiki.archlinux.org/index.php/Wireless_network_config...
- nextos 11y agoI think the Arch Way really shines if you stick to small applications that do one thing and do it well. This is the essence of Unix. There are periodic surveys among Arch users, and it's pretty interesting to see a majority of them sticks to this ethos: https://docs.google.com/forms/d/1_LisP8224B2yahtZTYB-pnIt0aPck39XhWJRMFsur5k/viewanalytics?formkey=dFFyLTNZNGhpNUVOdTQ4dF9sMEtlUWc6MQ https://docs.google.com/forms/d/1_LisP8224B2yahtZTYB-pnIt0aP... Such a choice would be considered hardcore in some more mainstream distros. I began transitioning to this setup more than 5 years ago and I couldn't be happier. A simple system configured in a few text files is very rewarding: * xmonad+dmenu (no login manager, other tiling WMs like dwm or i3 are worth considering) --- * zsh * urxvt (completely keyboard-driven with https://github.com/muennich/urxvt-perls https://github.com/muennich/urxvt-perls) * emacs (nox version) * remind (a great DSL for events https://www.roaringpenguin.com/products/remind https://www.roaringpenguin.com/products/remind) --- * firefox+vimperator * mutt+isync+notmuch (fast Gmail-like index and address book) * zathura * irssi (consider switching to https://github.com/WhisperSystems https://github.com/WhisperSystems when implemented for CLI Linux) --- * git * rsync+btrfs-progs (incremental time stamped backups) * openssh+sshfs * gnupg --- * powertop+thermald * connman --- * arch-init-scripts (for systemd lightweight containers, all my development happens there) * texlive
- dgeex 11y agoThat's a really nice survey. Thanks for sharing!
- semi-extrinsic 11y agoWhy emacs and then vimperator? And why not pentadactyl?
- nextos 11y agoI prefer emacs for editing text, but modal vim-like interfaces for simple tasks such as browsing a document (zathura) or the web (vimperator). I switched back and forth between vimperator and pentadactyl many times. Pentadactyl is a bit more complex, and used to break often. Perhaps it is no longer the case?
- MrBuddyCasino 11y agoA bit OT, but: > http://www.dgeex.de/2015/04/17/why-i-dont-like-java/ http://www.dgeex.de/2015/04/17/why-i-dont-like-java/ About halfway through, when it got to the "No preprocessor" section, at first I wasn't sure if it was serious or ironic.
- davidddavidson 11y agoYou missed some more good reasons after that like: "It's not suitable for big projects" "No global variables" My takeaway from the article is "I [the author] don't like Java because it is not C/C++"
- wz1000 11y agoI use Arch because its the only distro that "Just Works" for me. I like to use the latest version of every software I use, and this is almost impossible on non-rolling-release distros. Installing from source almost always ends up breaking something on distros like Ubuntu. Also, Arch is predictable. There are no weird quirks and distro-specific patches. Almost everything that is on the system is something that you consciously put there, not something that was decided by the distro-makers. Finally, the AUR and the Arch wiki are simply amazing. Much has already been said about them and I have nothing to add.
- deleted 11y ago[deleted]
- zxcvcxz 11y ago>Installing from source almost always ends up breaking something on distros like Ubuntu. Example? I've never once "broken" something by installing a program from source.
- cosarara97 11y agoI haven't either, but I've had trouble trying to uninstall them later.
- hobarrera 11y agoIf you install form source, you lose all the advantages of a package manager (updating, clean uninstallation, dependency management, etc). pacman (and makepkg) make creating your own package stupidly simple. (not to mention that the official repos + AUR have an immense amount of packages present already).
- yawniek 11y agoi am using arch mostly as a server os and it works very well. if you want to quickly setup a working desktop i can recommend antergos.com, its essentially arch with a nice installer.
- hobarrera 11y agoI love Arch, but bleeding-edge always intimidates me a bit for a production server. Plus, I've been using OpenBSD for servers since before I knew Arch, so I already have that flexibility (and makepkg is really based on BSD ports). OTOH, I can't recommend Arch as a desktop OS enough!
- tines 11y agoI have to give it to Arch, The Wiki is the single most helpful and well-written wiki I have ever seen. I wish Debian had a similarly exhaustive collection of information. I don't ever recall having to go off hunting for additional resources; the info was either on or linked to from the Wiki. Like others have mentioned, I too greatly appreciate the AUR and the ease with which one can put a package up for others to use. The thing that turned me away from Arch is that, after having installed it four or five times, I really got tired of having to do things like manually modify configuration files for everything I install, manually configure every service I want to start at boot, and look up instructions for support for my specific hardware (not which packages are needed, but how to configure those packages to work at all), whereas with Debian, I can just run through the Debian installer and the basic system is good to go, networking and all, even for some of my obscure-branded wifi cards. I could make a script to do this, but it's been different for every machine I have, so there'd be a script for every machine. I like Debian because it has sensible defaults (at least for my definition of "sensible"), and the "testing" release is extremely stable in my experience but also has pretty recent software in the standard repositories (g++ 4.9.1, etc), which is one of my strict requirements for a Linux distribution. Also, if you're using Arch, reading the news announcements on their website is not optional. You're just one `pacman -Syu` from a(n) [nigh-]unbootable system at all times, and you may have to run some commands by hand to upgrade smoothly. This kind of breakage happened twice or thrice to me when I was using Arch, and at least once it was very difficult to apply a fix after the fact. Linus help you if you happen to upgrade before a fix for the issue (which probably happened because of your specific configuration and so was not caught by the developers in testing) is widely disseminated. Debian, at least for me, has never become difficult to use from an `apt-get [dist-]upgrade`. In short, I respect and admire Arch and the people who make it happen, but it was just too time-consuming (for me) to administer and upgrading has too much potential to knock out the system I depend on for daily work. It was great for learning "how to Linux" because the system does relatively little for you, but for a work-machine that needs to keep on trucking without much upkeep while still giving great performance (sorry, but -- bad ubuntu! bad!), I personally prefer another, specifically Debian. Arch is a really important distro that fills a certain niche for people that need it, but I don't think everyone fits in that niche (but is there any niche that fits everyone?).
- placeybordeaux 11y agoI love arch. I stopped running it as my main OS when after updating it rebooted and couldn't reach the internet, even with an ethernet cord. Didn't feel like diagnosing the problem without easy access to google so I switched away. I want to switch back, never before was it so easy to install any piece of software or as simple to have the exact set up I wanted. I am fairly sure this could have been avoided by signing up for the arch-announce mailing and watching for "manual intervention needed". If anyone wants to make the jump I would recommend following that mailing list.
- raziel2p 11y agoIf someone made an Arch installer that automatically set up networking and persisted the setup, as well as partitioning/mounting, I would be on board. The argument I've heard against this is, "but it's simple, it's only like 10 commands to set these up". The problem is, it takes like an hour to read through the entire wiki page (and you need to read it all in case there's an important detail that may screw your system over). It may be simple, but it's still massively tedious. Maybe if you're a full-time sysadmin you're familiar enough with ifconfig, fstab etc. to do it without instructions, but I'm fairly sure that's a very low percentage of linux users. Even if you do learn how to use them, for most people it's useless information until you reinstall. I consider myself quite the power user, and Arch is appealing to me (and I've tried installing it a couple of times when the temptation is there), but until it can have a working system out of the box, I think I'll stick to Debian.
- dattl 11y agoWhat about Antergos or Manjaro?
- crdoconnor 11y ago"Manjaro forgot to upgrade their SSL certificate, suggest users get around it by changing their system clocks." https://www.reddit.com/r/linux/comments/31yayt/manjaro_forgot_to_upgrade_their_ssl_certificate/ https://www.reddit.com/r/linux/comments/31yayt/manjaro_forgo...
- dattl 11y agoOkay, this is nasty.
- oAlbe 11y agoOr Evo/Lution.
- raziel2p 11y agoAntergos looks promising, I'll try that next time.
- crdoconnor 11y ago>Unlike other distributions, on Arch you’re not forced to use a specific Window Manager, a Desktop Environment, a File Manager, and so on. Excuse me?
- tormeh 11y agoIt's like the people complaining about Unity, not realizing that all the major WMs, DEs and FMs are a single apt-get command away...
- dgeex 11y agoRight. MAJOR. For example I use awesome 3.5 as my WM. It's a pain in the ass to install it on Debian. Wheezy libraries aren't compatible with the latest version of awesome. If you want to upgrade libc, you'll break the whole system.
- hobarrera 11y agoIt's not that simple. Ubuntu has a lot of patches to make stuff interact nicely, and installing a diferent DE/WM is not as trivial as you'd think. The opposite is true in Arch: it's extremely simple to change de WM, and chances of breaking anything else are minimal. This is especially due to the fact that you build the system yourself, so you know exactly what changing the WM affects.
- crdoconnor 11y agoapt-get install xubuntu-desktop apt-get install kubuntu-desktop it is as trivial as you'd think.
- tormeh 11y agoI second this. I have both KDE and GNOME Shell installed and working on Ubuntu. They really are one-liners.
- forlorn 11y agoI'm choosing between Arch and Debian Sid - what would you suggest?
- dgeex 11y agoBoth are good. It depends on your needs
- hobarrera 11y agoIf you like learning about how stuff works: Arch If you want the latest version of everything: Arch If you value flexibility: Arch If you value simplicity to get this running ASAP: Debian If you're not comfortable configuring stuff yourself: Debian If you want something that won't mutate much over time: Debian
- chpatrick 11y agoI used Slackware, Gentoo and Arch for ten years but in the end I'm on Ubuntu. I liked feeling in control on those systems and it was great to have everything available immediately on Portage or AUR, but after a while I just got tired of having to read a wiki page for doing something as simple as setting up Bluetooth and ending up with a less convenient end result. I find there's almost always a PPA for an obscure package I need, so I found Ubuntu pretty convenient for actually getting stuff done.
- noriak 11y agoArch is my workstation and it works very well (for maybe 5 years) You just have to check the arch website for important updates (filesystem, etc) which may broke your system. I had ubuntu before and it was impossible to upgrade to the new version after 6 months. I was obliged to reinstall my system ... It was difficult t first to install Arch but like the article said, it makes you undesrtand Linux and your computer. A very good way to improve your skills
- al2o3cr 11y agoNot an Arch user, but I'm glad it exists. It's incredibly helpful to know which devs love tedium, boilerplate and hand-rolling; makes it easier to avoid them...
- GmeSalazar 11y agoI had been using Debian-based distros since 2010 -- Debian itself and the Ubuntu. Switched to Arch a few weeks ago and it's been a quite nice experience. While installing, I wrote a brief installation outline (based off of Arch Wiki); if someone is interested, it's available at [1]. [1] https://drive.google.com/file/d/0ByEPyxMys7A6T19Qc25JWTNKRE0/view?usp=sharing https://drive.google.com/file/d/0ByEPyxMys7A6T19Qc25JWTNKRE0...
- GutenYe 11y agoGreat Post, Thanks.
- yantis 11y agoThis isn't really the Arch Way but... If you have a Mac or MacBook and want to give Arch Linux a shot: https://github.com/yantis/instant-archlinux-on-mac https://github.com/yantis/instant-archlinux-on-mac Just run one line in Mac OSX and ten minutes later (depending on bandwidth) you will have a fully usable dual boot Arch Linux system.
- bitwize 11y agoThe Arch Way was kicked to the curb when they transitioned to systemd. It's one of those things -- like "the Unix Philosophy" -- that's nice on paper but has nothing to do with the way Linux is actually run in the real world now.