This book is about using GNU/Linux as an operating system and various important
server software which comes with it. As an example we will use Mint GNU/Linux
distribution although most of it can be applied to any GNU/Linux
distribution. The reason for choosing Mint GNU/Linux is its popularity and
apt based package management system. It is a well known fact(although
many will/can argue against this fact) that apt based systems are superior to
yum or rpm based systems for package management and default repositories
GNU/Linux is not yet a popular desktop environment if you compare it with the most popular proprietary operating system. However, in server market it is very popular and those of us who are programmers, either in a company or a freelancer, know that it is very important to know about GNU/Linux system. That is because it is in general an accepted fact that GNU/Linux provides superior development experience and its total cost of ownership is much lower than a proprietary operating system. One of the most important points in favor of GNU/Linux operating system is that its resource consumption is quite low as compared to other operating system. Without GUI a GNU/Linux system can provide many facilities even with as little as 128 or 256 MB of RAM. This makes it very favorable when you want to own a server on internet for say a VPS(virtual private server) or a VM(virtual machine) or dedicated servers for hosting a website or mail server or for some other purpose.
Other than that most popular mobile operating system Android is nothing but a GNU/Linux variant with customization. Similarly, companies like Google, Facebook, Twitter, Amazon etc. use GNU/Linux servers to power their massive websites.
1.1. Who this book is for?¶
This book is written for anyone who wants to use GNU/Linux as an operating system whether as a desktop or server. There is no prior experience with computers is necessary although if you have such experience then you will be able to proceed at a faster pace and possibly skip many basics which are mandatory for a person absolutely new to computers.
One document comes to my mind which has very high quality of documentation. It is the coreutils documentation which can be found at https://www.gnu.org/software/coreutils/manual/. However, the first line of the manual itself says that it is not for novices. I will take a lot of information from this document and dilute it enough to make it suitable for beginners.
1.2. Why GNU/Linux is not popular?¶
It is natural to think as a user that if GNU/Linux is such a good operating system which has such a high server market share then why it is not popular operating system for desktops. There are several reasons. One of them and possibly most important is GNU/Linux does not enjoy much commercial backing. Consider you want to buy a desktop/laptop then what choice do you have. You get it with one operating system say X whose manufacturer has a contract with the hardware vendor to sell the hardawre with it. GNU/Linux being a free(as in freedom) has many distributions(speaking loosely we can call them variations) which does not strengthen the popularity of GNU/Linux as one product. Now, few of these distributions have commercial support thus the chances of these being shipped as OEM operating systems is far less. However, situation is improving and we must be always hopeful.
Because GNU/Linux does not come as OEM software people who use computer for the first time become addict to X much like a drug addict gets addicted to drugs. Now X knowing this gives its free(as in free beer) edition to schools to trap more and more young minds.