How Do I Install Linux (A General Guide)

Today, I will try to answer one of the most common questions asked by the newcomer to Linux; “How do I install Linux” To answer this I have prepared a step-by-step guide of how to install Linux with the minimum of technobabble. So, I hope you will find it simple enough to follow.

This is a guest article by one Brickwizard, who describes himself as thus:

I am Brian the Brickwizard. My interest in modern computers goes back to the days of the 8-bit IBM compatible. As a hobby, I have been repairing, upgrading, and building from-scratch computers for friends and family. I have done so since the late 80s/ early 90s. I have been a Linux user for over 20 years! Brickwizard is an upstanding member of Linux.org. This is my first contribution to Linux Tips.

This is a guide to most distros, a generic guide that’s useful for the most popular distros that have handy GUI installers. This isn’t a guide to things like Arch, Slackware, or Gentoo! It will work for Ubuntu, Debian, Mint, MX-Linux, and many more!

This also serves as a place people can link to, rather than clutter the forum up with long posts that really don’t get much formatting options. This is meant to be a time-saver, among other things. As a living document, it is also subject to change.

How Do I Install Linux:

Depending on the age of your machine you will need an installation medium, this is usually a clean pen-drive of 4 GB minimum (try not to exceed 16 GB), make sure it is of good quality and formatted to FAT32 or exFAT.

On older machines that are not USB boot-able, you will need a clean new DVD-R. You will also need courage, patience, and time. This is just the start of your journey, the step where you learn how to install Linux.

Make your ISO installation medium [pen-drive or DVD-r]

  • Choose your distribution and go to the official download page.

     

  • On the download page you will find an SHA sum, make a note of it.

     

  • Download your chosen distribution.

     

  • Burn a bootable installation medium.

For a USB pen-drive to do this, we recommend Balena Etcher.
Or for optical disc, select “burn as ISO image” in your burning software.

  • Whichever you use, now is the time to check the SHA sum (if you are unsure how, then see this article). 

To Install:

For best results, ensure your computer is either hard-wired to your router, or has a Wi-Fi card installed.

  • Connect the computer to mains power.

     

  • Insert USB into drive (or optical disc into drive).

     

  • Switch the device on and open the temporary boot menu (method will depend on the make and model of your computer).

Look down the list and find USB (or Optical Drive) click on it and enter, after a few seconds (depending on your choice of distribution) it will load a “live” session to RAM.

NOTE: You actually do not need a hard-drive installed at this stage if you only wish to check to see if Linux will work on your machine

NOTE: If you are making a dual boot system with Windows 8, 10 or 11, disable the windows quick-start (in the BIOS) and re-boot before continuing.

For best results, ensure your computer is either hard-wired to your router, or has a Wi-Fi card installed.​

  • Connect the computer to mains power.

  • Insert USB into drive (or optical disc into drive).
  • When the live instance of your chosen distro has loaded, your desktop will appear. Now is the time to ensure everything works okay, such as Wi-Fi, sound, and graphics. The easiest way to do this is click on the wireless icon find your router and enter the password. When you’re connected, go to your favorite music video site and pick something you are familiar with. If the video plays okay, the picture looks good, and the sound works, you can then decide if you wish to continue the installation.

     

  • To start full installation, double-click the installation button on the desktop (this may vary based on the distribution). The installer will then check the components of your machine. This may take several seconds or a couple of minutes, depending on how fast your computer is. If all goes well, the installation will begin shortly, asking you to input certain information – such as your username and password. Watch it install. When it asks about partitioning, this is your final chance to decide if you want to dual boot with your existing system (select installation alongside) or wipe the system and just install Linux.

     

  • During install, most distributions will ask if you wish to install non-free/proprietary drivers, tick the box for yes and enter. Non-free does not mean it will cost money to use. It just means that it’s supplied by the manufacturer and not FOSS (Free Open-Source Software). You can choose to not install proprietary drivers, but that will make your life more difficult and is beyond the scope of this article.

     

  • You may need to continually enter information as it installs, so keep an eye on it. A typical Linux installation can take from 10 to 20 minutes.

     

  • When it has installed you will get a message do you wish to re-start now, accept and enter. When prompted, be sure to remove the installation media.

Sit back whilst it reboots, then it will take a couple more minutes to clean up the installation and get rid of the installation files. Then if all goes well we will have a working Linux box

When your system has rebooted to your new Linux system, open the update manager and run a full update.

NOTE: When you have successfully installed your Linux distribution, we strongly recommend you install and activate some backup software, such as Timeshift

Being new to Linux, there will be learning curve. As I often say, “Relax, kick off your shoes, grab a beer, and enjoy the ride.”

Closure:

There you have it, it’s another article – and this time it’s a great article from Brickwizard. This one will tell you how to install Linux. It’s a basic guide, which is fine, because it can always be more complex and this is just to get you started. If you have any questions, you can ask below or head over to the Linux.org forum and ask questions there. Even better, it stands as a static page that can be linked to, saving time, effort, and space.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Guest Article: Kickstart Vol. III

Today is the third guest article in a row, and is one more article about Kickstart. There will be more Kickstart articles, but we’ll release those in time. This is the third one in a row, so we’ll try to mix it up a bit.

By now, we should all have at least a little familiarity with Kickstart. Frankly, I’ve still not had a chance to use it – but it does seem like it’d be fun to play around with it. If I were an admin of anything major, I’d definitely look to Kickstart as a solution. Again, if you read this on day one, be sure to check back later as the author may suggest some edits.

See the previous articles here:

Guest Article: Kickstart Vol. I
Guest Article: Kickstart Vol. II

Kickstart Vol. III

Now we need to create a menu for your Kickstart, so you can select which OS you want to install.

Now edit a new file named grub.cfg. It must be named grub.cfg. Here is an example of what it should look like.

The set-default lets you pick which is the default install, it starts at zero, so the options here would be 0, 1 and 2.

Note the IP address of my Kickstart server is here, the path to my extracted iso directory is here, and the location of my boot kernels is here.You can change all of these to fit your needs.

Now we need the actual anaconda-kickstart.cfg files, this is what actually does all the work.The location of these, is set in the grub.cfg file above. You will want these to be in the extracted iso directory, but not in the “dvd” sub-directory.

Here is an example of what one of these would look like. This one is fairly basic.

Again you see the IP address of my kickstart server here, you see the location of my extracted iso files here.Now there are a few things you will need to know in advance.

What I typically do, is install the OS from a USB the first time.In the case of fedora/redhat/CentOS there will be a file at /root/anaconda.cfg. You can copy this file as a starting template for your kickstart of this OS.

(Yes I am re-naming the file here.)

Also you will need the password has strings for your users.

(Or whatever user name you use.)

You will need to know the name of the LAN interface, and you will need to know the size of your hard, and how big the partitions should be.All of these things will be in your anaconda.cfg file

Now change and edit a few things in your fed35srv/fed35.cfg file now.

Change the graphical install to..testskipx This uses a cli interface, not a GUI when installing.

Change the url line to the location of your extracted iso directory in your web server. Note you don’t put the full path, only the path from your webroot.

I like to turn off seLinux, but you can delete that line if you like.

Change your timezone to whatever is appropriate for you.

Using the two example user lines above (those aren’t real hashes, I just typed a bunch of random characters to simulate what it looks like). Edit the user lines to be whatever your values are.

That’s it, you’re don! Now boot your test computer on the kickstart network. A Kickstart menu should appear. Select the appropriate OS.

I’ve found this usually works best with a few settings on the test computer. CSM should be disabled. Network stack should be enabled. Some UEFI settings let you pick PXEboot IPv4 as a boot option. This is preferred. I’ve found it works best with a freshly formatted hard-drive, that way it doesn’t try to boot into the installed OS.

Good luck!

Closure:

And there you have it! You have a guest article, from dos2unix, about Kickstart. There are now three of them and there are a couple of others sitting in the potential queue. We’ll get to them. These few days off have been a very welcomed respite!

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Guest Article: Kickstart Vol. II

Today’s guest article is a continuation of the Kickstart theme. The first Kickstart article can be found here. Thanks goes out to dos2unix from the Linux.org forums.

I should mention again that I don’t actually know anything about Kickstart, other than what I’ve read in these articles. I’m extremely grateful, but you may want to check back a few times to ensure all the editing is complete!

Kickstart Vol. II:

Now that we have your web server, dhcp, and tftp server configured, we will need to enable the firewall for them.

On Fedora it looks like this:

Now we need to extract the iso files you have handy (you did already download these, right?) I should have mentioned you will need the “server” version of these iso’s. There is a way to make the workstation iso’s work, but that’s for another more advanced article.

For the example here, I put everything in: 

When that gets done copying, we can add another OS’s iso if you like:

If you have more iso’s repeat the same for CentOS or Redhat or whatever you have.

Again, when it gets done copying, simply umount the iso image. I confess, I’m something of a minimalist. I like short names like pub/fed35srv. If you like long names you could have something like /public/fedora35-server/x86_64/ I’m too lazy to type all of that in all my config files.

Now we will install the boot kernels. This isn’t actually the full kernel yet, just a lite kernel with enough parts to boot the system from the network.

Just about all computers have one of two types of internal configuration systems. Legacy BIOS and UEFI. Most newer computers in the last 8 years or so,are UEFI, but there are still plenty of Legacy BIOS systems around. For the purpose of this article we will set-up for both types.

In your /var/lib/tftpboot directory, we will make two directories. One for BIOS and one for UEFI.

Technically you could rename the efi directory to something else, but the pxelinux for legacy BIOS systems is hardcoded in some files.

Now you will need to download a couple of files. I recommend using the Fedora 35 version, even if you are going to be installing Redhat or CentOS. They are newer, have more features, bug fixes, and support more hardware.

But you can use the CentOS or Rehat versions if you want to. Shim-x64, grub2-efi-x86, and grub2-efi-x64-modules. We will need to extract these rpms. You can do this in /tmp or somewhere safe.

If it says this is already installed, replace install with reinstall. These are the efi files you will need for efi based systems.

This will create 3 directies in /tmp.

You can delete these directories in /tmp if you like, you are done with them. Make sure you don’t put a leading / and actually delete /usr and /etc.

The next part depends on what iso’s you have downloaded and extracted. But hopefully you will get the idea.I am using Fedora 32, Fedora 35, and Redhat 9 as my examples. You can use whatever directory names you like.

That’s enough for this article, will add next part later.

Closure:

And there you have it, another article and this one is a guest article – just like yesterday and probably just like tomorrow. I’m extremely grateful for the respite and wish I knew more about Kickstart. I think, for future reference, I’m gonna ask that folks register and write the draft here. I think it’d streamline it.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Guest Article: Kickstart Vol. I

This is an article about Kickstart written by guest author, dos2unix from the Linux.org Forum. It’s the first of a few articles from them, so let’s give them a warm welcome and enjoy their article!

Kickstart Vol. I

Kickstart is really Redhat/CentOS/Fedora-centric. There are some attempts for parts of this work on Ubuntu and SuSE, but so far there is really little support for this. Kickstart does a lot of the mundane work for you. It sets up the filesystems for you, you control this size and format of them. It creates user accounts for you, sets up your network for you, and installs the packages you want to be installed (or not installed). You can even run a shell script automatically when everything is done.

Now if you only have one computer, and you only install the OS once a year, this isn’t going to save you much time. However if you have quite a few computers, for example a data-center with dozens or hundreds of servers. Or even a few test systems that have to be rebuilt every day or every few days. Then this can save you a lot of time.

The Kickstart computer itself doesn’t have to be anything fancy. In fact, it doesn’t even have to run one of Redhat type OS’s listed above. It can be Debian, Ubuntu, or whatever you like. It’s best if it has two LAN (Ethernet) interfaces. Most computers cannot be Kickstarted over WiFi yet. You can use a single network interface, but it makes things a little more difficult. If you have a lot of computers to Kickstart, I recommend that you get a small un-managed switch. 5 or 8 ports should be plenty, unless you’re at a data-center.I have worked in data-centers, but now I work at a place that writes software, and we test it over and over again, so I have to “rebuild” the OS sometimes several times a day.

Obviously you’ll need a computer to do this. If possible you’ll want a second computer to test on. One that will be the computer that’s being “Kickstarted”. You’ll need about 20 GB of free space on your Kickstart server to install .ISO images of the OS(es) you want to install.

Your Kickstart server will need three items installed. There are multiple ways to do this. We will discuss a couple of the most common ones. Perhaps a follow-up article will offer more options if there is enough interest.

First you need a web server like Apache httpd, or NGINX, you could even use the simple Python web-server, it doesn’t matter that much.

Second you’ll need a DHCP server, again you could use either BIND or dnsmasq, we will discuss both ways. Finally you’ll need a tftp server. If you use dnsmasq,it has a tftp server of sorts built-in.

It’s beyond the scope of this article to teach you how to install these items, it is assumed you already know how to install software.Note that this will have to be on a different network that your normal home/work/datacenter network.

You don’t want Kickstart erasing, wiping out, and re-installing the OS’s on your every day driver. This is why I recommend one with two interfaces. Otherwise, you’ll have to re-configure your network to download packages, install updates,and add more packages if necessary, and then re-configure it back to your Kickstart network. That gets old in a hurry, trust me.

I’m using Fedora as my Kickstart server. I currently have configurations to install Redhat 8, Redhat 9, CentOS 8, Fedora 33, Fedora 34, and Fedora 35. I install all of these on 3 different computer hardware types. You don’t have to install the same OS that your Kickstart server is running. For this first example, I’m going to use NGINX as my web server, dhcpd (BIND) as my DHCP server, and tftp-server, as well… My tftp server. My Kickstart has two LAN interfaces, it doesn’t really matter too much how you have the first interface configured.

Again, it’s beyond the scope of this article to tell you how to configure your network interfaces, it is assumed you already know how to do this. You’ll want a static IP on your second interface.A gateway isn’t required, for this article, we can just 192.168.7.227, try to pick something obscure that no one else will use in the environment you are in. I will go ahead a use a /24 subnet or 255.255.255.0 for those who aren’t familiar with CIDR subnet masks.

Remember this IP address, it will be used in quite a configuration files. Again you can use any IP you like,but remember what it is, because you’ll need it several times.

So for Fedora, it’s a simple dnf install -y nginx dhcpd-server tftp-server, other OS’es may vary.

Once they are installed we will need to configure them.

The first one here is NGINX. On most Linux’s I have used, the nginx.conf file is located in /etc/nginx/nginx.conf. You have a “server section” in this file.It’ll say server with a { after it. Replace the contents of your server section with the content below. This assumes your web content will be at /usr/share/nginx/html you can adjust this accordingly. This will be where your extracted .iso images will live. So make sure you have space here (or do a soft link to another directory that has space). You can use SSL/HTTPS, but again that’s beyond the scope of this article.

I also recommend adding these two lines, below your access_log section. The other lines will likely already be there.

access_log /var/log/nginx/access.log main;

Now enable and start your web server. For Fedora it’s 
systemctl enable nginx
systemctl start nginx

Now we need to configure your DHCP server. For BIND (dhcpd) the conf file is usually located at /etc/dhcp/dhcpd.conf (not to be confused with dhcpd6.conf )

Just mv the dhcpd.conf to something like dhcpd.conf-original or whatever you like, just make sure it doesn’t end with “.conf”. Now make a new files and copy the following to it.

I’m using the entire 192.168.7.x subnet here. The IP address of my Kickstart server is 192.168.7.227.Edit this file and replace the values of your server/network accordingly. The range tells my DHCP server to only give out IP addresses between 10 and 120.

Now you may be wondering about that last line, what is the “next-server” and why does it have the same IP address as my Kickstart/DHCP server? The “next server” after I receive a DHCP address is the tftp server, it’s located at the same IP address. You could run it on a different server, but most people run it on the same server.

Again just like NGINX, let us enable and start the service.
systemctl enable dhcpdsystemctl start dhcpd

For the tftp server, you really don’t have to do much, by default tftp wants tftpboot to be at /var/lib , so…

Note this is a listening socket, not really a server per se.If you want to make sure that your tftp server if pointing to /var/lib/tftpboot you can run..
systemctl cat tftp.service

You should see a line like this somewhere:

ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot

I would recommend not changing this, as several configuration files will like in this directory.

Closure:

Honestly, I edited the above the best that I could – given that I know nothing about the subject. I appreciate the articles, but it means trusting dos2unix – and I’m perfectly willing to do that. If you have any questions, you can post them here or you can post them on the linux.org forum where I share this article (as that’s where dos2unix lives).

Either way, stay tuned – as this is just the first part of a series of articles handily written on this subject. I, for one, am going to probably use the break to get a few articles ahead so that the new year starts off right.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Let’s Determine The Number of RAM Slots Without Opening The Case

Today’s article is going to show you how to determine the number of RAM slots without actually opening up your case. It’s actually a pretty easy task, consisting of just a single command. 

But, wait! There’s more! You may want to know than how many RAM slots you have, you may want to know a lot more about the RAM you have already installed, how many slots are filled, if your RAM has ECC (error correction), the speed, the quantity of RAM per stick, etc…

Well, you can do all that and you can do it all with just a single command. The command in question is dmidecode. While dmidecode isn’t guaranteed to be 100% accurate, it’s usually pretty close. It pulls its data from tables in the DMI (SMBIOS) and presents them to you. Hardware manufacturers aren’t always as nice to Linux users as they could be, so there’s some risk of bad information – or wrongly interpreted information.

While dmidecode has partially been covered previously, it defines itself as:

dmidecode – DMI table decoder

And dmidecode is a pretty handy tool. In a previous article we used it with some success, and we’ll be using it again today, this time to determine the number of RAM slots available to you. On a scale of 1 to 10, I’d say this is a solid 2 – meaning even a rank beginner can follow along.

Determine The Number of RAM Slots:

This article requires an open terminal. If you don’t know how to open the terminal, you can do so with your keyboard – just press CTRL + ALT + T and your default terminal should open.

With your terminal open, enter the following command:

The line that is important is, “Number of Devices”. On my laptop, the output looks like this:

using dmidecode to determine the number of RAM slots available
The answer is two. Two slots. Ah ah ah ah! Oh how I love to count things!

So, from that, we can determine the number of RAM slots is equal to two. If you want, you can then scroll down and it will show you what RAM is installed. You can see if you have the same number of devices as you have slots. You can even see the size, number of slots, location, vendor. You can use it to learn a great deal about your RAM. 

As I mentioned above, it’s not necessarily going to be 100% accurate. With bleeding edge of hardware, you’ll find it may be less accurate. If your hardware has been around for a bit, you can be pretty sure of the accuracy.

One of the things I notice is the “Maximum Capacity”. That may mean OEM suggested max capacity. I’ve sure seen more RAM than the claimed maximum. On the system, I see a max capacity of 8 GB of RAM. The box has 16 GB of RAM. I’ve seen it claim a maximum of 4 GB of RAM but had 16 GB of RAM in that box. 

Otherwise, it is usually pretty accurate. In the above, I suspect some OEMs are less than honest and would rather you not know that you can add as much RAM as you can. They’d rather you buy a more expensive device, so report the maximum RAM as less than it really supports. However, that’s just a guess and I have zero evidence to support it. It does seem pretty common, however.

Closure:

And there you have it, another article said and done. This one will help you determine the number of RAM slots that you have available. It’s a pretty easy article and a good tool to have in your toolbox. 

As you may have surmised, the antibiotics are kicking in. I’m feeling quite a bit better. Hopefully the articles reflect that. For the past few, I’ve kinda been phoning it in. My goal is to get ahead again. I can probably do that over the coming weekend. 

… Also, anyone reading this out of sequence probably has no idea what half of these closure comments are about. Then again, how many of those folks keep reading after the important bits? Probably not a whole lot. I could write darned near gibberish down here and nobody would be the wiser.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Linux Tips
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.