Linux is a 32 bit open source operating system. It is based on the very popular Unix operating system and it’s code is freely available (thus explaining the “open source” label as opposed to closed source where the code is not available freely). Linux is often referred to as being a “gathering of very cool software”. While this is not a bad description, a more precise definition would reveal that Linux refers to a specific part of the “gathering”. Linux points to it’s most basic element: the kernel. Everything else that is bundled with the Linux you get is an application.
The Linux kernel is the operating system itself. There are different versions and they are released by a non-profit organization using a version number system. Each time something is added to the kernel, a new beta or experimental version is released. Generally, there can be up to 11 latest versions of the kernel available.
The main ones being:
- The latest beta version: containing all the new features. This version may contain bugs or unstable code. Ex: 2.5.44
- The latest stable version: this version is recognized as stable and its code is presumed without bug. Ex: 2.4.19
- The latest prepatched versions: these are Linux alpha version and are being tested before released. Ex: the latest prepatched version for the beta version could be 2.5.8-pre3
- The latest patched version: Finally, these are the patched versions for different major releases. They contain corrections to different bug reports and are being tested.
The last thing to know about kernel versions is the way the numbers are being assigned. For a X.Y.ZZ version, X would represent a major release version. Y is a minor release version and Z is a patch version number. In other words, when a bug is found and a patch released, only the Z number will change. When a bunch of new features are implemented and the need to do an upgrade is done, the Y number is changed and finally, when a collection of upgrades have been done, when a major improvement or code revision has been done, the X number will be revised. To learn more about kernel versions, make sure to visit www.kernel.org.
Here are some examples (at the time of this writing):
|The latest stable Linux kernel tree is:||2.4.19|
|The latest prepatch for the stable Linux kernel tree is:||2.4.20-pre11|
|The latest beta version of the Linux kernel is:||2.5.44|
|The latest prepatch for the beta Linux kernel tree is:||2.5.8-pre3|
|The latest 2.2 version of the Linux kernel is:||2.2.22|
|The latest prepatch for the 2.2 Linux kernel tree is:||2.2.22-rc3|
|The latest -ac patch to the stable Linux kernels is:||2.4.20-pre10-ac2|
|The latest -ac patch to the beta Linux kernels is:||2.5.44-ac3|
|The latest -dj patch to the beta Linux kernels is:||2.5.39-dj2|
As mentioned before, Linux is often distributed in different formats; there exists many like it, each of them being bundled with loads of software by different companies or non-profit organizations. These formats are called distributions. They include a kernel and a collection of applications, software, wizards and specific tools.
Originally, open source software like Linux was provided as source code. While this had interesting features, only hardcore developers could handle, compile and play with the necessary files. Soon, binary files were available and usually shipped with easy to follow instructions to compile them. Such instruction are usually found in a Makefile which is generally a simple set of scripts and instructions.
Even though source code is always available, binary files are now the most current way to handle program installation in Linux. By using special applications, it is possible to handle the installation of binaries without hard user intervention. However, the format in which they are provided can differ from one to another. Especially since some popular distributions have developed their own proprietary systems to resolve packaging problems. For the exam, you should know the major packaging solutions and some of their specific attributes. Here are some examples:
- Tarball: This is the equivalent of a windows .zip file. Tarball refers to the TAR utility used to build the packages.
- RPM: (Red hat Package Manager) This package manager was developed by Red Hat and is now being used by a lot of other distributions. The RPMs carry information about the files dependencies. This means that this system keeps information on what files belong to which package. It simplifies the installation of programs because whenever you need to install a file, it will tell you what other packages should be installed.
- DEB: (Debian Package handling solution) This solution from Debian is much like the rpm’s except it handles the file dependencies in a more efficient way, simplifying the installation of patches and upgrades.
Licensing in the Linux world is quite easy to understand. The software, applications and even the kernel will fall under one of the following license mode:
- GPL: Gnu Public License (www.gnu.org). Basically, when a programmer decides to place his work under the GNU license, he has an obligation to freely give his software, without charges and to publish all the source code. Only shipping, handling and media can be billed. Whenever the author makes updates to his software, he has to publish it and publish the updated code to the public. Most of Linux falls in this category.
- BSD: Berkeley software Distribution. BSD is basically the same as GPL except that it is less restrictive as to the distribution and the and modifications.
- Freeware: The author of the software is under no obligation to release his code but will let his software go for free.
- Commercial software: This kind of licensing is rare in the Linux community. Basically this is when you need to buy the right to use a software, just like any Windows OS.
Linux Command Prompt
The Linux command Prompt is called the Shell. Just as the DOS shell is identified by a group of characters (C:\), the Linux shell is identified by its own set of characters. Many different shells exist. The most commonly used is probably Bash (Bourne Again Shell), but there are many others. Shells will vary with distributions or users’ taste.
To find out what your shell is type the echo $SHELL command.
A daemon is more or less the Linux equivalent of a windows service. It is an automated process that manages resources, processes, etc.
The man command is a small command utility that outputs information about a Linux command. This information is generally known as a “man page”. To learn more about the man command, simply type man man.
For many reasons including security reasons, Linux is a highly case sensitive operating system. New users often encounter frustration when typing in commands because they tend to forget this little detail!
To Become Certified For CompTIA Linux+ Please Visit This Link ;
Also published on Medium.