I’ve been daily driving Linux for 17 months now (currently on Linux Mint). I have got very comfortable with basic commands and many just works distros (such as Linux Mint, or Pop!_OS) with apt as the package manager. I’ve tried Debian as a distro to try to challenge myself, but have always ran into issues. On my PC, I could never get wifi to work, which made it difficult to install properly. I’ve used it on my daily driver laptop, but ran into some issues. I thought a more advanced distro, that is still stable, would be good overall. However, not getting new software for a long time sounds quite annoying.
I’m wanting to challenge myself to get much better with Linux, partitioning, CLI, CLI tools, understanding the components of my system, trying tiling window managers, etc. I’ve been considering installing Arch the traditional way, on my X220, as a way to force myself to improve. Is this a good way to learn more about Linux and a Linux system in general? I always hear good things about the Arch Wiki. Is there any other tips someone can give me, to sharpen my Linux skills? I was even considering trying out Gentoo on my X220, but the compiling times sound painful. I wouldn’t daily drive Gentoo or Arch, just yet, but I would try to use them as much as possible for general use.
I thought a more advanced distro, that is still stable, would be good overall. However, not getting new software for a long time sounds quite annoying.
Arch is actually not as bad as many say. It’s pretty stable nowadays, I even run Arch on some servers and I never had any issues. It gives you the benefits that you can basically find any package in the AUR and everything is up-to-date. Try it out, if you don’t like it, you can still switch to something else.
I’m wanting to challenge myself to get much better with Linux, partitioning, CLI, CLI tools
The best way to learn the CLI is to use it. Try not to use your graphical file manager for a while and only interact with the file system through the terminal, that teaches you a lot.
I’ve been considering installing Arch the traditional way, on my X220, as a way to force myself to improve. Is this a good way to learn more about Linux and a Linux system in general?
Yes.
I always hear good things about the Arch Wiki.
It is truly fantastic.
Is there any other tips someone can give me, to sharpen my Linux skills?
Use the system, don’t be shy, try different things out. If you are scared that you might break something, try it out in a VM. Break your VM and try to fix it. That teaches you a lot.
I was even considering trying out Gentoo on my X220, but the compiling times sound painful.
I would not recommend that, updating packages will take ages, it’s not a great experience.
Thanks for this, I think I will give Arch Linux a go, and avoid GUI file management. My plan is to daily drive my X220 for more lightweight tasks as it’s a nice laptop to use. So using Arch on it may just force me to have to use Arch as a daily driver if I want to use a nice laptop keyboard.
Another thing that helped me: Get comfortable in the Terminal. Obviously you have to learn some commands and how they work, but just configure your shell and commonly used CLI tools. It makes the experience so much more pleasant. Install a nice shell prompt, set up some aliases for frequently used commands, learn the basics of shell scripting and write your own useful little scripts for things you often have to do, maybe start using Vim and configure it the way you like it. Also explore other shells. Bash is the default shell, but there are better options like zsh or fish. You can watch this video to get some inspiration: https://youtube.com/watch?v=KKxhf50FIPI. This is actually pretty close to my shell setup. If you want to start customizing bash, check this out: https://youtube.com/watch?v=b3W7Ky_aaaY.
To continue learning, maybe subscribe to some Linux-oriented YouTube channels. DistroTube makes great videos about Linux, tiling window managers, how to use various commands, how to configure your shell environment, etc. He also reviews many Linux distros or explains why free software is important. If you search any Linux-related topic on YouTube, chances are that DT already made a great video about it.
Try installing Gentoo. Follow their installation instructions. I was able to install it, but failed to install a DE. So, got a console going and couldn’t go further. That was about 2 years ago. I have an extra laptop that I always install stuff on to learn.
As an alternative idea…
A using a spare desktop as a headless VM server would be a good way to practice your CLI skills. Don’t install a GUI, or web admin tool, and only use SSH to admin it.
From there, setup a couple of VMs for Arch or Gentoo testing. Eventually, a Linux From Scratch attempt would provide a lot of learning opportunities.
Sounds interesting, I’ll give this project idea a go
“I’ve been considering installing Arch the traditional way, on my X220, as a way to force myself to improve.”
I use Arch and so does my wife (she has no idea). The wiki is legendary because it is well used (I’ve written a few bits myself). I’ve used Gentoo for quite a while too but you will find compilation times a bit of a bore.
I own an IT company - I am the MD. I use Arch actually! (and so does my wife)
Haha I’m stealing that. Btw I use Arch (and so does my wife)
I really do recommend doing a Gentoo install at some point, because I think you would learn a lot from it. It’s a really nice experience and a well put together distro. The compiling is potentially not as bad as you think, but there are a couple of packages that are notoriously painful to compile (there are prebuilt binaries available for some of the painful ones if desired too). You’d probably get a decent amount out of an Arch install too. Arch isn’t my cup of tea, but lots of people like it and it’d be quicker to get started than Gentoo. I’m not sure I’d recommend it for you at this stage but eventually you should check out NixOS too! You can even try the package manager out on any distro you want. NixOS is really interesting, but it does things a bit different from other distros, and if you’ve done an Arch / Gentoo install it’ll be interesting to see what NixOS does in contrast.
Other things to mess with… You mention partitioning, so make sure to check out LVM, and also consider reading a bit about filesystems. Maybe give btrfs a go :).
I wouldn’t worry about daily driving either Gentoo or Arch. Once you have them set up you’ll probably be fine.
Not a joke:
Write your own device driver.
Preferably for some kind of esoteric hardware that you own but no-one else has, but it’d also be a valuable experience to do it for some commonly used piece of hardware for which good Linux drivers already exist.
For any moderately talented programmer this should be a reasonably difficult exercise, which will teach you very valuable lessons about Linux (and be quite fun at the same time).
Debugging a kernel panic is not what most people consider “fun”. Especially with a non-zero chance of bricking your machine on bare metal if you mess up somewhere. I’ve done driver development for both Windows and Linux in both hobbyist and professional capacities and it’s not a fun experience to say the least.
I’ve been considering installing Arch the traditional way, on my X220, as a way to force myself to improve. Is this a good way to learn more about Linux and a Linux system in general?
Oh yes, that’s exactly how I learnt. Also I have 1000+ edits in Arch Wiki, but stopped contributing to it (as well as AUR) few years ago.
Arch is pretty painless on the long run, almost everything is available when you combine AUR and official. I’ve had some package manager issues after not using my laptop for like 6 months but I believe it more a lack for arch knowledge rather than a problem for intermediate / advanced user.
What was frustrating, like in every single imperative distro it that I feel like the system isn’t clean anymore after a while and I end up reinstalling or hoping for another distro.
What I found to daily drive everything rock solid but in a funny way is NixOS, which is declarative. If you have some time and curiosity I would recommend checking how it works. No more distro hoping / installs for me
Linux Bible 10th edition. Yes, it’s for Fedora but use whatever distro you just prefer. It’ll teach everything about Linux you need to know.
Thank you
I’ve found that using GitHub Copilot CLI is a neat way go improve my CLI skills.
I ask and it explains commands to me.
What is meant by “daily driving”?
That it’s the OS they’ve been using daily for whatever they need to accomplish on a computer, as opposed to just using it occasionally.
Is this an ESL thing or something? Why not just say “using daily”?
I think it’s a bleedover from car culture - you keep your fun car in the garage and have a second car that you’re okay with driving daily. Especially so during winter.
That’d include someone’s side ossie, something you might drop if it ever got too lippy, or ‘not fun’. This is their ride or die.
I agree with what other people have said about using the command line more and the gui less, that will make you have to learn about utils like find, grep, sed, and maybe awk.
Try learning vim (or emacs). Use some command like tools for stuff you’d do in the gui. Try some basic scripting for common tasks. Maybe write some short python/ruby scripts if you need them. I’ve found that writing code has given me a need for learning more about how the command line works, and other “power user” features.
I first tried KDE Plasma 5 but tbh I thought it was just a worse experience than Win7, it was really close but all the tiny little annoyances got in the way and it felt like I couldn’t do everything I needed through GUI so I still had to use terminal but it was awkward having to switch between using the keyboard and mouse and I would navigate through the GUI to get to directories then open terminal…
After a month or two of that I finally tried a tiling WM (i3wm) and it’s just a way way better user experience than any DE.
I will note though that I’m using
Fish
for my interactive shell and seeing anything in the tinydmenu
was just way too hard until I usedRofi
for drun.Without Fish and Rofi I might’ve tried more DEs or even gone back to Win7.
I recently used Linux Mint with Cinnamon on a relative’s PC and using Bash and the apt package manager sucks so bad. I even prefer Arch KDE, although I think Nemo is a bit better than Dolphin.
Anyway it’s been about 2 years of daily driving Arch with i3wm for me and I haven’t really gone out of my way to learn things but you naturally pick stuff up along the way just by using it.
Just make sure you’ve got another device with an internet connection in case something happens. I basically haven’t had any issues after I got better but I made a lot of user errors at the start. Nothing that can’t be fixed but finding out how to do the fixing without internet is a million times harder.