Sharpen your Linux Vocabulary

Linux Vocabulary

Photo by Thoenieva

Brush up your Vocabulary It’ll always pay off.

We have seen a large number of mundane, how-to articles on Linux in the past few days on this website. Having a strong belief that it would have helped the geeks and pro’s to brush up their skills and the newbies to dirty their hands with at least a few Linux distro’s, let’s move on to a different stage today where we shall learn and remember some basic terminologies which we would probably come across in day-to-day Linux world.

Remember, there is no limit to this list. Henceforth, I’ll try to add whatever I can at this point of time. I wish this article was a Wiki page so that all you Linux lovers can update it to keep it fresh, forever! However, you may append any new words you come across as a comment to this post.

Here we go in an alphabetical order:

  • APT: Advanced Packaging Tool.This tool is responsible for simplification of process which involves managing packages on Linux by automating the retrieval, configuration and installation. Generally, you’ll find APT on a Debian based distro.
  • Bash: Bourne Again Shell is generally known to be the default shell in most Linux distributions. When someone refers to a shell or the command line it is the Bash shell what they are usually referring to.
  • CLI: The CLI is known as the Command Line Interface. When you open a terminal, or if you do not use a Window Manager, or X11, you are operating on what is often abbreviated as the CLI.
  • Dependency: A application, library, or development set that a package depends upon to work.
  • Distro: A short form of – Distribution, a distro is a set of programs combined with the Linux kernel which together creates an Operating System.
  • GNOME: It is one of the few available desktop environment for Linux. Gnome is the default desktop on the popular Ubuntu distribution, which we have referred to in our previous articles.
  • GRUB: It is a boot loader for Linux. Allows users to have several different Operating Systems on their system at once, and choose which one to run when the computer boots.
  • KDE: KDE or the K Desktop Environment, is desktop environment for Linux workstations, something similar to GNOME but different visualization and default set of applications and tools.
  • Kernel: The core, or the brain of a Linux operating system. The kernel is what controls the hardware and makes them interact with the software. It is what every Linux distro is built upon.
  • LILO: Linux Loader is pretty similar to Grub in its functionality. However, different in terms of its fabrication. LILO is again a boot loader for Linux. LILO usually writes to the Master Boot Record (MBR) on your device.
  • Linus Torvalds: I doubt you’ll need this! But the letter “L” reminds me his name before anything else. The man who wrote the first Linux kernel in 1991.
  • Man: Short form for manual. If you need some help about an available command on the terminal, just type – man (command name).
  • Root: The superuser account on all Linux systems.
  • RPM: A package manager, which can be used to build, install, verify, update, and remove individual software packages. RPM is used by default on the Red Hat and Fedora distributions.
  • Sudo: Stands for Super User DO and allows a user to have a temporary root access without logging in as root.
  • Tux: The name of the Linux mascot – A Penguin.
  • YAST: Stands for Yet Another Setup Tool. Typically used on the SuSE distro. Yast is a setup and configuration tool.
  • YUM: An automated update program which can be used for maintaining systems using rpm. Yum is also used on Red Hat and Fedora by default.
  • X / X11: Also known as the X Window System, X is a windowing system that provides the standard toolkit and protocol with which to build graphical user interfaces (GUIs). KDE and GNOME are built upon X11.

The list is endless, keep pouring in your comments and suggestions. Remember, more than actually being difficult, Linux has been taught to be so. We would like to adhere to a new statement saying, Linux is different and not necessarily difficult.

Shoot a terminal and install a ball

Music on Tux

Photo by Pilax

Music on tuxInstalling a software was never so easy.

In our last article — Software installation woes on Linux — we proved that installing a software package was as easy as it was rumored otherwise. We saw two pretty common and of course easy ways of software installation.

As promised, we shall now put our eyes down for the third and by far the most scaring way. Trust me, it is not at all as geeky as you have always figured it out to be. Following some easy steps by understanding what is each one of them doing shall help us master this art in sometime. Once you’ve learned, this would be a cakewalk just like the other two, previously described ways.

Before we move on, we should know the forms in which a source code package is available. Generally, a source code comes as a bundle which is a compressed file having an extension — .tar, .tar.gz, .tgz, et al. They are often known as tar balls! Something similar to the zip or rar files you would have possibly come across on a MS Windows installation. But there is a difference in their composition, which we shall not bother to understand for now.

The source package often contains un-compiled source code. But trust me, you need not be a programmer to know how to proceed with compilation and installation of a package with the source code. Decades ago, with *nix systems, this was the sole way to install a software or a tool. Even today, this is one of the standard ways of installing packages on a Linux machine. Remember, this may not work in every case, but it will in most, provided you have the right dependencies installed.

Let’s proceed to get things done or what we better term as GTD today! Before moving on, you must have the compiler tools installed. They all come with the package – build-essential. Install it using Synaptic for now. When you’re sure you have the compiler tools installed, locate the software source on the the website (Quite normally, a software built for Linux has its source code available on it’s own website in one of the compressed file formats.) and download it on your system. There after you need to extract it somewhere.

  • It is advisable to to move it to the directory /usr/local/src (if the directory is not present, your may create one by using mkdir /usr/local/src or by a right click of your mouse!).
  • Now again, there are two ways of extracting the contents of the file.
    • One, simply right-click on the package and select Extract Here.
    • Secondly, shoot a terminal and navigate to /usr/local/src/ using the cd /usr/local/src/ command. For the files ending in .tar.gz, use tar -zxvf <filename> to get the content. Similarly, the files ending in .tar.bz2 can be decompressed using tar -jxvf <filename>.
  • You would see a new directory in your present working directory. Use the command ls to see this directory name. Use the cd <directory-name> to navigate to this newly extracted directory. Remember, all this could have been done just with a few clicks of your mighty mouse! But here, we are trying to explain how things get done on a terminal. Believe me, it looks so fascinating while it’s been done on a terminal!
  • Moving on to the final stages, there are 3 prime tasks we do on a terminal while installation:
    • Configuring the installation
    • Compiling the software
    • Installing the binaries

Configuring the installation

The pre-installation configuration is done by executing a ./configure while you are in the correct directory. The aim of the configure script is to check for the dependencies and then create a makefile. In case, the script fails for some reason and tells you to install certain packages (which may happen quite often than not!), try to locate those names in Synaptic and install them (even if the name comes with an added -dev extension, install it as well. They are the development packages needed for compiling). There may be prompts like – there is no configure script. Do not worry, several packages do not come with one.

Compiling the software

Compilation is a process of turning the source code into an executable binary. When we type and run make. It reads the instructions in the Makefile and builds the application binaries.

Installing the binaries

Wait, we’re almost there. To install, just type sudo make install and voila! It’s all done. To remove the temporary files you can run make clean. To uninstall the program you run sudo make uninstall after navigating to the same directory whenever needed. Remember, the make clean and make uninstall commands shall only work if the programmer would have enabled them to.

You may now try your hands on a couple of tar balls to have an expertize. More from me, very soon. Stay connected!