Skip to main content

Tips and Tricks - Arch Linux Installation

A month ago, I had embarked on this remarkable challenge of installing Arch Linux, and truth be told, it was worth every bit.
Any CS Engineer should be aware of the nuances of the Linux Kernel, Distro, Display Manager and how all of these work together. The installation process of this Linux distro will make sure that you learn all of this, the right way.

Here are some tips to begin with:

1. Always try installation on Virtualbox first 

You don't know about the enormous struggle you will be facing with the installation and running Arch Linux on your machine. If you're not a Linux expert, please do not single boot this Linux on your first try. 
Only when you have finished installing Arch Linux on a Virtualbox, should you try dual/single booting Linux on your actual system. I took 3 attempts to get Arch Linux running properly (up till installing a DE) on my Virtualbox before installing it in my system.

2. Refer a tutorial for your first time

"But I might not learn anything then!"
You will, if you understand what every command is doing. 
But it's important to not have too much on your plate.
Once you follow a basic simple installation process, you can start questioning the reason behind each step the next time.
I would recommend a tutorial for first time installers because the Arch Linux Installation Guide is not a cakewalk. Following the official installation guide involves branching out onto several newer links, understanding what each and everything is, and one might not be really sure of what exactly they're supposed to do during the installation process. 

3. Always know your options

Whether its Virtualbox or a system dual boot, understand that whatever error you might run into, you have the following options:
However bad you screwed up, the Arch Linux forum experts will solve your problem.
But make sure you have exhausted all your options, because it's a pretty nasty place for Linux noobs.

4. Update the pacman mirrors (important!)

This is perhaps the most important tip you need. Just like you have `apt-get` in Ubuntu, you have `pacman`, short for package-manager in Arch. Now pacman uses a set of mirrors (download links, to put simply) to download the packages that you want it to. 
It has a list of mirrors stored in a file. Pacman fetches the package from the first link, and if it doesn't respond, it moves on to fetch from the next mirror. However, this does not mean that you will automatically be fetching from the fastest mirror. 
Before you proceed to run the command:
pacstrap /mnt base ..., do the following:
  • Open the file /etc/pacman.d/mirrorlist
  • Find the mirror links under India or China.
  • Cut & Copy the links to the top of the file.
 Your download speed will be 100 times faster than the original.

5. Learn about UEFI and the booting process

Once you have successfully installed Arch Linux on your Virtual Machine, the only challenge is to not crash your bootloader or do anything to jeopardize the existing systems. Learning about UEFI is not exactly learning about Linux, but it will give you an edge to understand whatever is going on, and probably prevent a system catastrophe.

Why you should be doing this?

Installing Arch Linux is stepping out of the comfort zone to explore the very platform you work on - Linux.
The process will not be a cakewalk, and Arch is not an extremely beautiful distro either, it's just like your normal Ubuntu/Mint/Zorin OS, just with lesser packages.
But the entire struggle will make you come out as a person with much much better knowledge about your OS than before, making you thankful for reading this blog.
I trust you to realize the additional benefits by the time you start using Arch.
Arch Linux is not cool, but installing it definitely is!

Source: Twitter @archlinuxmemes

Where to now?

 All the best!


Popular posts from this blog

Namaste JavaScript Quick Notes

Note:  Akshay Saini's Namaste JavaScript is probably the best course for JavaScript developers out there. These are my personal notes that I made while watching the course; they serve more of as an online quick reference for my understanding and revision, and I hope it benefits anyone reading it too! Everything in JS happens inside an Execution Context. Before a JS code is run, memory is allocated and variables are set as undefined   , and functions are set as their exact code in the scope within the Execution Context. The global execution context hosts all the global variables and function definitions. An Execution Context has 2 components: Memory, that stores variables and functions; and Code, that reads and executes the code. Call Stack maintains the order of execution contexts. Since JS is single threaded and asynchronous, at one point of time, only one function is executed which is at the top of the call stack. For each function, an execution context is created before executi

An introduction to APIs

API is an acronym for Application Programming Interface. Let's start with first defining some basic terms: Browser: These are browsers. To visit any website on the internet, you need a browser. Server: Hmm, this is tough. In simple words, server is a computer. Yes, just like the laptop, or PC at your home. The only difference is that it does not have a screen. Of course, there are other differences in technical specifications, but at its core, the server is just, simply, a computer. That's it. So why is it called a server? Because it serves . When you go to a website like , your computer connects to the internet and gets you your search result. But your computer's internet connection has to get that result from somewhere, right? If the google search result is giving you some answers, the answers have to come from somewhere. What is that place? The answer to that some place is: a server. When you click on the search button on google, or hit enter after typing, &q

Review: Nestjs - Finally a scalable way to build APIs

I have been thinking about this for a long time. There HAS to be a defined way to build APIs in a scalable way.  If you have used Node, Express, etc in your side projects, you might have felt that after a point in development, debugging truly becomes a pain. Sure, enterprise-level API codes are great. But a lot of times, these configurations are too much, and probably not even needed in other projects. To be honest, I haven't seen a lot of Open-Source API codes either to make a judgement on how experienced developers build their APIs. Anyway, I came across an amazing framework recently, and I think if you are coding a complex API, this should be your way to go. Nest.js Nest.js is a framework for building efficient, reliable and scalable server-side applications.  You essentially break your APIs into controllers, services, and modules, which allow you to modularize the smallest of functionalities in your endpoints or the API as a whole. Why is modularizing important? As I have talk