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?
be patient. read thoroughly. be open to a learning experience
Read thoroughly. Can’t agree more.
EndeavorOS if you want to have an easy time. Also be comfortable reading documentation.
Why EndeavorOS over
arch-install
?Mostly BC its low effort. The most intimidating thing about arch for me was the troubleshooting when things go wrong. I’m cool with that in general operation but not during the installation process. Endeavor makes it painless while still being a minimalistic install
What issues were you having with arch-install that you had to troubleshoot?
Manually resizing/replacing the efi partitions for Windows dual boot was where I decided to stop and switch to a graphical installer.
Partitioning is something I don’t mess with on the terminal. Last time I set up a new drive I used SystemRescueCD first just to use gParted before installing arch (manually)
If you don’t mind AI slop wallpapers every time you upgrade your system. I can’t wait to get rid of eOS on my desktop and just use regular Arch
I’ve only seen this on a system I hadn’t changed the wallpaper on. But agreed the stock ones suck
I don’t know why but even if I am setting my own wallpapers I still get to see the stock ones (when booting, etc), it pisses me off because it is clearly AI made and it seems the community around eOS likes them and even make worst ones on their forum
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”
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.
I wish I new how to easily install an AUR package manager when I first started.
Step 1: go to the AUR and choose a package manager. I recommend paru, but there are plenty of others.
Step 2: install git using pacman
sudo pacman -S git
Step 3: copy the git clone URL for paru and pull it
git clone https://aur.archlinux.org/paru.git
Step 4: CD into the new directory
cd paru
Step 5: install paru
makepkg -si
Now when you find a package from the AUR you want, you can easily install it.
paru -S [package]
Also, when you update your system, you only need to run
paru -Syu
. You don’t need to run bothpacman -Syu
andparu -Syu
.Great advice.
Btw you don’t need -S to install a package, just
paru packagename
Works fine
Why paru specifically?
Rust-based and actively developed
Rust based is not a feature it is a slogan. Yay is the defacto standard and also actively developed. That being said use whatever works for you and AUR.
Pacman is the only standard package manager for Arch. Arch recommends against using third party package managers, including Yay.
Sure unless you want to use AUR and now what do they recommend?
Ya. Ok. But pacman does not let you use the AUR. Using the AUR is one did the primary reasons to choose Arch.
So, if you want to use the AUR, you need to use something like yay or paru. And, if you do, you no longer need to use pacman.
To be clear to the newbies, pacman -Syu updates your entire system ( except packages from the AUR ). yay -Syu updates your entire system, including packages from the AUR.
If you just ran yay -Syu, running pacman -Syu will report that there is “nothing to do” since your system will already be up to date.
The same is true if you sub paru for yay above.
You definitely do not need to use any pacman wrappers to build a package from the AUR. Those tools make it easy, yes, but are not required.
Building a package can be as simple as
git clone AURpackagehere
cd AURpackagehere
makepkg -si
Um. Ya, I guess. Ok.
First, how do you keep that package up to date?
Real question though is, do you really think that is better than “yay -S AURpackagehere” or even “paru AURpackagehere”?
Is there a chance that Arch says that so they don’t have to take on the responsibility of endorsing yay while also acknowledging its prevalence?
Like if Nintendo made a statement saying they recommend against third party mods or repairs that deal with joycon stick drift because they don’t want to be held accountable or contacted about issues consumers run into a result of them.
They acknowledge many wrappers, not just yay. However, none are officially supported.
My understanding is this:
It’s just the principle of AUR wrappers. Yes they are very useful, but anyone and their uncle can put a package in AUR name it whatever they want as long as it’s not taken. AUR wrapper makes it easier to install things without knowing much, but manually searching for something, finding it, and installing it involves conscious choices. Arch cannot be responsible for people installing malware from a software they recommended, that’s why it’s kept this way intensionally.
Imagine if yay/paru came with the os, or could be installed from pacman, then people would just recommend doing that to new users and then they might just install whatever and break the system a lot more.
Also, just
paru
is equivalent toparu -Syu
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!
Paru is a yay alternative. You can use either one. Just pointing this out since yay is mentioned in a lot of the other comments. I am not saying not to use paru. I am just pointing out that it is not something different. You can use paru instead of hay in any of the other comments in this thread. Or use yay instead of paru in this one.
-
Make sure you put “by the way I use arch” at the end of all your posts
And the neofetch print out
Stick to the many guides available and you will be fine. One thing which I either missed or was glossed over in most guides is to install the Linux-firmware package. It is considered an “optional” package, but on all the machines I have ever used I have run into issues without it.
- ALWAYS avoid partial upgrades, lest you end up bricking your system: https://wiki.archlinux.org/title/System_maintenance#Partial_upgrades_are_unsupported
- The Arch Wiki is your best friend. You can also use it offline, take a look at
wikiman
: https://github.com/filiparag/wikiman - It doesn’t hurt to have the LTS kernel installed as a backup option (assuming you use the standard kernel as your chosen default) in case you update to a newer kernel version and a driver here or there breaks. It’s happened to me on Arch a few times. One of them completely borked my internet connection, the other one would freeze any game I played via WINE/Proton because I didn’t have resize BAR enabled in the BIOS. Sometimes switching to the LTS kernel can get around these temporary hiccups, at least until the maintainers fix those issues in the next kernel version.
- The AUR is not vetted as much as the main package repositories, as it’s mostly community-made packages. Don’t install AUR packages you don’t 100% trust. Always check the PKGBUILD if you’re paranoid.
It doesn’t hurt to have the LTS kernel installed as a backup option (assuming you use the standard kernel as your chosen default) in case you update to a newer kernel version and a driver here or there breaks.
I had a similar issue that was resolved by swapping to the LTS kernel. Learning about using a bootable Arch USB and chrooting into your install to make repairs would be a good thing for OP to know
The ArchWiki is amazing, probably don’t start by installing nothing but a window manager and adding things you need as you go
Probably don’t start by installing nothing but a window manager
Oops. I ran into a lot of problems by doing this, but boy did I run into a lot of tools too
I have learned so much but everything is so disfunctional because “I’ll get to it later” means never
Don’t?
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.
The archinstaller script is pretty good if you’re just needing a basic setup. Ive been really happy with a btrfs partion from the recommended disk layout, then using btrfs snapshots + grub bootloader to load from snapshots. You can also create a hook on pacman so that you create a snapshot when you upgrade packages.
Since you didn’t mention your experience, id recommend looking at the various desktop environments so you know which one to pick during install. You can ofc change later.
And read the arch docs. They are very good and have a lot of time invested into them. If you find you don’t have the patience to read them then you’re probably going to want to look at a different OS. Good luck!
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.
- 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
archinstall is still unstable as hell. I find that my best bet is to:
- Configure everything exactly like I want through the dialog
- Save the user and system preferences to their respective JSONs
- Mount a USB stick and copy the JSONs there
- Restart the archinstall process by loading from the JSONs, then hit commit
- When the above fails, restart the whole machine and jump to step 4, where it magically works
Ah, good to know. I haven’t really used that save configuration and reuse process, I just do the install directly at the end of configuring everything. But I can see the draw for using that, a shame it doesn’t seem to work that well.
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.