I’m planning to install Arch Linux for the first time. Any recommendations on setup, must-have applications, or best practices? Also, what’s something you wish you knew before switching to Arch?
The whole arch advantage (imo) is that you have a full understanding of what’s in your machine and how it works.
As a beginner you won’t understand and that’s okay, but you should try different things (or don’t and just focus on what works for you) as long as the end result is you doing: pacman -Qe and going “hmm that makes sense”, and imo the undesired result is going “hmm what do these all do, why do I have 2000+ packages”
Arch is good for tinkering with to make it your own, but can sometimes require tinkering to do things other distros can do straight away, e.g. adding udev rules to use certain devices or setting up zeroconf to be able to discover printers on the network automatically
If you want to be able to roll back changes easily you could set up your root and home partitions as btrfs subvolumes and use snapper to take snapshots, which can be combined with pacman hooks to automatically take snapshots when updating/installing software and can even be set up to allow booting into the snapshots which could be useful if you break your system
Do yourself a favour and install it on a virtual machine first. Screwing up an install on Arch is frighteningly easy. The Arch Wiki is your friend, use it. Also, read the installation instructions before you begin the installation, not during. If this sounds like too much of a headache (understandably so), then give EndeavourOS a whirl.
Only update your system if you have some time on your hands afterwards, in case something breaks. Happened to me a few times before.
So many tips, let me add mine.
- btop - for monitoring and process management
- pacseek - terminal UI for installing, searching packages (uses yay)
- chaotic aur - repo for prebuilt binaries that are generally ok
When installing use the archinstall the first time, unless you really want to go into the deep end and use the normal install.
- archinstall is one of the better/best distro installs around - it just does what it says it will and is pretty intuitive
- LUKS encryption is easy to set up in archinstall - strongly recommend encrypting your root partition if you have anything remotely sensitive on your system
- If you do use encryption but don’t like typing the unlock password every reboot, you can use tpm to unlock - yes, this is less secure than requiring the unlock password every time you reboot, but LUKS + TPM unlock is still MUCH better than an unencrypted drive just sitting there
- sbctl is a good tool for secure boot - If you want to get more secure, locking down bios with an admin password, turning on secure boot, sbctl works really well and is pretty easy to use. I would suggest reading up to understand what it’s doing before just installing/configuring/using it
- yay is a solid AUR helper / pacman wrapper
Start from the install guide on the wiki. It’ll branch out fast and just follow all the links and read. If something goes wrong, check if you missed something on the wiki. It’s an amazing resource.
Also, look up your hardware on the wiki before you start.
I didn’t read the documentation so I didn’t know you weren’t supposed to use sudo with yay.
-Ss can be added to pacman to search for packages. Pretty useful if you don’t want to DuckDuckGo them every time.
As for applications one neat one I don’t see recommended very often is xkill. You can use it to kill applications kind of like you would with the task manager in Windows. htop is probably a closer comparison to the task manager in general though.
There are a lot of Arch-based distros that are incredibly easy to install if you want a very easy setup process that doesn’t involve a lot of terminal work.
I wish I knew then that debbie does the trick for me
Those who are (wisely) suggesting snapshots, do you guys use a different partitions for data and OS? Because if you do revert to an older snapshot after a while, you’d loose new data, too (unless you recover it from current state)?
archinstall’s default btrfs layout has I think 4-5 separate subvolumes (I’m not running btrfs anymore so can’t check) but at the very least I remember it has:
- /
- /var
- /home
being separate subvolumes and mountpoints, you can just use a previous snapshot from 1 without rolling back others
Related to the snapshotting stuff, timeshift-autosnap is pretty helpful, hooks into pacman and takes a snapshot before installing/updating packages.
Personally I found btrfs and the snapshots helpful when starting to use arch, but now that I know how not to blow things up, it has been stable enough for me I just felt ext4 was easier.
Cool.
Use btrfs with snapshots. Verify you know how to boot into snapshot after a failed update and repair the system. This is the most important thing and lets you experiment much more freely.
Read https://wiki.archlinux.org/title/System_maintenance before you go your first pacman -Syu
And when people tell you that you shouldn’t use aur helpers like yay to blindly install/upgrade aur packages, there’s a reason for it. Read the PKGBUILDs.
I’ve been using Arch off and on for a long time, since it was horrible to install and updates did often break stuff. This is not the case now 🖖, and the Arch wiki is your friend.
-
Consider using btrfs with automated snapshots using yabsnap. It includes a configurable pacman hook in case something goes awry. Also just nice to have snapshots in case you accidentally delete a file or something.
-
Use paru, an AUR helper. Good for random things which may not be officially packaged. Expect to run into failures, and learn to diagnose them. Sometimes it’s just a new dependency the packager missed. For both paru and pacman, clean the cache once in a while or automatically, or things will get out of hand.
-
Do the “manual” setup, at least the first time, so you have an idea what’s going on. Don’t forget to install essential stuff like iwd (if needed) when you do pacstrap, or else you might have to boot from live again to fix it. Once you’re done, take care to follow the important post install steps, like setting up a user with sudo, a firewall, sshd, etc.
As for general setup, I’ve recently embraced systemd-networkd and systemd-resolved. Might be worth giving it a shot, since there is no default network manager like application. You can even convert all your wireguard client configs into networkd interfaces.
Best practice: Keep a personal log of various tweaks and things you’ve configured, and set up automated backups (more of general guidance).
Have fun!
-
Make sure you put “by the way I use arch” at the end of all your posts
And the neofetch print out
Make backups of your important files, or use a separate home partition. When I used arch, more than once I had a bricked install after doing updates. The last straw for me was when after updating my network completely went out. I switched to fedora and haven’t had issues for 2+ years. Also, (this goes for every distro, but more so arch than others) NEVER update if you don’t have at least some time in front of you in case something happens. Arch was definitely a good learning experience and it was fun at first tweaking everything, but the drawbacks in stability got a bit old after a while. The AUR is a godsend and it’s the best thing ever, you should also be using an AUR helper like Yay to make your life easier.