Benscomputer.no-ip.org
Benscomputer.no-ip.org
Home Projects About me Tutorials



Getting Started With Linux Introduction
Why use Linux?



This Article is going to examine some of the reasons for using Linux, however People have many different reasons for doing so, so it should not be considered an exhaustive list. This Article will not be directly comparing Linux to other Operating Systems however, as people have different needs from their systems. I personally do not use Windows at all anymore, but thats my choice to make, in the same way it is your choice which OS you use.
As with any system migration, the change to Linux requires some serious thought, whether you are at home or in the office. The first thing you need to do is look at the benefits of Linux, and evaluate whether they meet your needs. To help you along the way, below is a list of some of the reasons people change to Linux

  • Stability
  • Security
  • Configurability
  • Freedom - liking the open source ethos
  • It's cool

  • Now lets evaluate each point individually.

    Stability

    Linux is by far one of the more stable Operating Systems. All software has bugs, it is an inevitable side of programming, and the larger and more complex the software the more likely it is to have bugs. However in my experience, if a buggy piece of user-land software crashes, it never locks up the Operating system. (User-land software is software that is run by the user, in other words it is not software that is run by the system, but is called by the user. A word processor is a good example of software that runs in user-land, wherehas Cron is a job called by the system.)
    Because of this the resulting system is far more stable, and in fact Linux systems can be left running without a reboot for months or years at a time. This is especially useful on systems that run servers (i.e. Web, Samba, FTP etc) but also applies to the desktop. Although Desktop systems are not likely to be needed to run for vast amounts of time, this ability reflects well upon the stability of Linux. In the 7 years that I have been using Linux I have only ever seen 2 Kernel panics (the Linux equivalent of the Blue Screen of Death) and both of those were due to changes I made, that perhaps I should have thought more about. Both errors were easily recoverable, despite the deep level at which the changes were made. This goes to show how easy errors can be to recover on the rare occassion that they do occur. That experience has taught me one main thing, if you are going to fiddle at Kernel level, then make sure you have a 'failsafe' kernel installed.

    Security

    As any System Admin will tell you, the only 100% secure system is one which is unplugged and locked in a heavily guarded vault
    Guarddog 
screenshot
    deep below the ground. If you are connected to the Internet, there is always a possible security risk, though it can be made smaller. Linux comes with a built in firewall called IPTables, in its pure form it can be quite daunting to configure, however many Distro's ship with their own tools for configuring your firewall. If your Distro does not come with such a tool, then a simple tool to use is KGuarddog. For the more advanced users there is also Shorewall. Both of these utilites simply manage IPTables. Do not mistake of thinking that Linux's built in Firewall is akin to that of Windows XP, the Linux firewall is fully configurable with zones, rules and packet logging. It is worth mentioning that Kguarddog does have some useful default settings, though careful configuration is always recommended. Sadly no Operating System can prevent someone from breaking into your house and stealing your computer, but they can make it harder for the theif to access your data. Through use of the Fuse module, and several other utilities it is possible to encrypt your filesystem. This will mean that the thief is less likely to be able to boot from another OS and access your data that way (thus bypassing your password for log in.) Obviously passwords on user accounts should really be considered a neccessity, a practice sadly not observed by many. However Linux is all about choice, so if you so wish it can be configured to automatically log a user in upon boot up.
    Many of us have read about the server for N being cracked, and the free (as in beer) software they have available for download being patched with Trojans, Viruses and worms. Sensible Linux users do not need to worry about this quite so much, Linux implements checksumming. Simply put when the author creates the software (i.e. after he has compiled it) he creates a checksum (most use the MD5 algorithm), when you download the software, you can also download a copy of the checksum. When both are downloaded you tell your system to check the packages integrity against the checksum. If the checksum does not match the system will warn you, and so you will be aware that the package has either been maliciously altered, or that it has been corrupted during download.
    Although Linux is not prone to Malware, there are applications to cover you if and when the onslaught begins. Clamav is a very popular and powerful CLI based Antivirus scanner. For those not in love with the Command Line Interface there is also a Graphical Frontend available called Klamav. The main purpose of Virus scanning on Linux (currently) is to ensure that there are no Windows viruses hiding on network shares or in your e-mail. They can do no harm to your system, however they could infect other Windows machines on your network, or if they are hiding on your webserver potentially anyone connected to the internet.




    Configurability

    Linux is highly configurable, many routers run it as their firmware. Tivo use Linux in their product (although they have come in for some stick about some of their questionable actions.)Nearly every configuration file on Linux is a text file, so if you wish to configure it by hand, that is more than possible. Of course there are graphical interfaces that will allow you to configure your system as well, many Distros ship with their own 'control centres.' There is very little that you cannot make Linux do, with a little bit of knowledge and experience the possibilities are endless. For example when I come up the stairs I come within Bluetooth range of my computer, it detects my phone, Opens my emails, plays a random playlist and switches the screen on. This is a relatively trivial task to do, there are many more complex tasks possible (Such as my dream of building my own 'Smart House'). Another example is that thanks to Festival and a bit of tweaking, my Server can read out its current resources at the touch of a button.
    Linux is arguably the most configurable Operating System available (although BSD does run on a toaster) and it is undeniable that Free (as in speech) Software does allow far more configurability, this is because it does not contain any proprietary code. This means that if you need to you can alter the source code of the program/module/library you wish to change.

    Freedom

    You may have noticed that already in this article I have used the word Free in two connotations - Free (as in beer) and Free (as in speech) - The difference between these two is very important. Free (as in beer) describes something that is given to you for free, but you cannot modify or redistribute. You cannot modify the way the beer was made, nor can you do so with the software that this type of free describes. Free (as in beer) describes something that was free financially. Free (as in speech) describes software that you are free to modify/redistribute. This type of Free is at the very heart of the GPL. The GPL defines that your software should grant the following freedoms to both you and others.
  • To run for any purpose
  • To study and adapt to your needs
  • To redistribute, so you can help others
  • To release improvements, so everyone benefits

  • These basic freedoms allow you to enjoy the work of likeminded people, and for likeminded people to enjoy the work that you do. The GPL aims to protect both users and software authors, this is a stark contrast to the licenses used by many commercial software companies, they can be very easy to break accidentally.
    Linux is not the only Operating System released under the GPL, there are others although of the ones I am aware of Linux is the best established (at time of writing). FreeBSD is also well established, however that is released under a different license (also a free license though.) With Free Software you are guaranteed the rights set out above, and providing you comply to the terms of the GPL (i.e. Don't try to sell someone else's work) then these rights can never be revoked.

    If you are interested in learning a bit more about the GPL then I wrote an article a while back on the subject (sorry about the colour scheme) "A word about the GPL"

    Its cool!

    Admittedly this reasoning is only usually used by the Geeks amongst us, but the fact remains is Linux is very cool. Aside from the reasons laid out above, it has a great many uses that attract a great many users. As a programming platform it is excellent, there are a great many utilities available for programming in a great many languages.
    Many have seen the screenshots of Windows Vista with its Aero interface, that is nothing new, Linux has XGL which if configured correctly is far far more impressive. Linux is behind no-one when it comes to eye-candy development, some would argue that the Mac is the leader in this area, but in my opinion Linux equals if not surpasses it. Eye candy does not of course make a good system, but it does help make it more enjoyable to use. For those stunned by the feature set of Windows Vista, take a look at the Linux equivalents which are for the most part well established, mature projects.


    In conclusion, there are a great many reasons to use Linux, I have simply covered a very small sampling. However despite it's benefits be warned that there is a small learning curve involved in learning to use Linux. I suggest if you intend to try and learn you may want to read some more of the articles in this series.

    Articles:

    Articles Also Available

    Getting Started with Linux Introduction Part 2 - Hardware

    Getting Started With Linux

    Getting Started With Linux - Installing Software