What is Linux?
Linux is a UNIX® clone OS
based on MINIX,
created in 1991 by Linus Torvalds from the University of
Helsinki. Torvalds controls all changes and releases of the
Linux kernel.
For close to three decades, Linux has been one of the most
commonly used and most reliable OSs for servers in the market,
no matter what paid third-party reports that are plaguing the
internet indicate.
Most Linux distributions include a collection of programs
that run on the Linux kernel like X, KDE, GNOME, Cinnamon,
Xfce, LXQt, Mate or other desktop environments as well as
LibreOffice and other office or home utilities. Under the Linux
name, you can get RHEL (paid subscription, enterprise
licensing), Fedora (originally based on RHEL), Oracle (based on
RHEL), Debian, Ubuntu (based on Debian), Mint (based on
Ubuntu), openSUSE (forked from SUSE), Slackware (based on the
now-defunct Softlanding Linux System), Arch Linux (inspired by
Slackware) and many others. For more information on
distros and how popular they are, visit the DisroWatch
website.
When Linux became popular (c. 1995-99), you could buy disks
for any distribution (distro) from the developers or
third-party vendors. Nowadays you would most likely download
the distro of your choice as an .ISO and copy
(dd) it to USB drive (/dev/sdb1) making sure
you have selected the correct sdbx.
dd if=linux_image.iso of=/dev/sdb1
Installing Linux:
Before trying to install Linux, get a full inventory of what
your hardware. In the past, you might have had to help the
installer recognize the hardware and/or fully rewrite the
configuration (config) files. Nowadays installer
shipped with the distro takes care of most the
configuration.
Boot from the USB drive and sit back. The only thing you
would have to decide is if you want to format the whole drive
or share it with another OS as well as entering your
credentials (root access) and network information
(802.11 if needed).
Depending on the distro, you might need to update
your installation right away. If the distro is based
on Debian and it has apt as in the case of Ubuntu and
its derivatives like Xubuntu (my current installation), you
might want to run the following commands on the console as
superuser (sudo -i) for root access.
apt-get update && # to update repository list
apt-get upgrade -y && # to upgrade local packages
apt-get autoclean -y && # to clean leftover packages
apt-get autoremove -y && # to remove leftover packages
apt-get purge -y && # to purge old packages
reboot now # to reboot machine
The latter runs multiple commands — one after another using
the && (and) operator and then reboot without
confirmation using the -y attribute. Of course if you
do not need to reboot exclude the last && operator
and the reboot now command. I would recommend doing
the latter on a daily basis to make sure your system has the
most up-to-date packages and to avoid security risks.
You can also install packages using apt-get calling
the correct package name.
apt-get install <package_name>
apt-get install build-essential # compiler collection from GNU
apt-get install ddgr # DuckDuckGo via command line
apt-get install git # version control system
apt-get install lynx # text-only web browser
apt-get install nano # command line text editor
apt-get install nasm # assembly language
apt-get install neofetch # system information tool
apt-get install pip # package installer for Python
apt-get install python3 # language that we must all learn
apt-get install sqlite3 # relational database with no GUI
apt-get install tidy # utility to tidy up HTML code
apt-get install whois # access to the `whois` database (domain registration)
If you do not want the system to ask you for confirmation,
you can include -y attribute before the name of the
package.
apt-get install -y <package_name>
apt-get install -y build-essential
If you are interested in installing multiple packages at the
same time, you would also need to use the double ampersand
operator (&&) after each call. Note the latter can
be written in one line.
apt-get install -y build-essential &&
apt-get install -y ddgr &&
apt-get install -y git &&
apt-get install -y lynx &&
apt-get install -y nano &&
apt-get install -y nasm &&
apt-get install -y neofetch &&
apt-get install -y pip &&
apt-get install -y python3 &&
apt-get install -y sqlite3 &&
apt-get install -y tidy &&
apt-get install -y whois