Difference between revisions of "Why use Linux"
| Line 87: | Line 87: | ||
You can run Linux on almost any CPU. Linux is the OS of choice on ARM cpu's at this very moment. | You can run Linux on almost any CPU. Linux is the OS of choice on ARM cpu's at this very moment. | ||
| − | ==Networking Orientated== | + | ===Networking Orientated=== |
This is hard to explain but Linux was built with networking in mind. Linux has very advanced networking capabilities , with IPV6 support as early as 1996 included in Linux by default. Windows only had IPV6 ready for commercial deployment in 2002. http://en.wikipedia.org/wiki/IPv6_deployment | This is hard to explain but Linux was built with networking in mind. Linux has very advanced networking capabilities , with IPV6 support as early as 1996 included in Linux by default. Windows only had IPV6 ready for commercial deployment in 2002. http://en.wikipedia.org/wiki/IPv6_deployment | ||
Most modern routers run some form of Linux. You can do all kinds of interesting things with linux such as: | Most modern routers run some form of Linux. You can do all kinds of interesting things with linux such as: | ||
Revision as of 12:46, 2 July 2013
Contents
Licensing
Understanding the licenses related to Linux can be a bit of a headache. The Linux kernel is licensed as GPL. The userland is licensed as GNU. What this all comes down to though, is a free to use, distribute and freedom to modify the source code of the userland and operating system. You don't have to pay to use Linux in other words.
Security
Modern unix variants are built with security in mind, with very advanced security features and software available, both for offense and defense. OpenBSD is considered the most secure operating system although some Gentoo enthiusiasts will say that Linux's Gentoo Hardened is far more secure. The world's most secure systems will either be running Linux or some BSD variant. Here are some security features that Linux offers:
Linux has very regular security updates both to the kernel and also to the userland's software. Regulary updating your system will mean that you are not affected by new security vunerabilities. Because software is installed using a package manager on most Linux distro's, it also means(most of the time), that updating your system will update all of the software on your system, as the package manager keeps track of what software you have installed and what version of the software you are running. On windows, updating software is not as simple, and any software that “automatically” updates itself (without asking your permission) should be considered malicious to some extent. Chrome browser is an example of such software which has received much criticism for “updating” flash automatically. If you are not consenting to updating software on your system, then you could potentially be installing malicious software (as the vendor can make changes to the given software and install them to your computer without you noticing.)
Windows has an enormous amount of unpatched vunerabilities. Just watch a few videos from the Defcon, Blackhat conferences. Most ATM's run windows. This might inspire some paranoia.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-4669 “The Neighbor Discovery (ND) protocol implementation in the IPv6 stack in Microsoft Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, and Windows 7 allows remote attackers to cause a denial of service (CPU consumption and system hang) by sending many Router Advertisement (RA) messages with different source addresses, as demonstrated by the flood_router6 program in the thc-ipv6 package.: You can kill all the windows machine's on a network with this attack and Microsoft has not patched this yet or thought it useful to do so.
Not affected by malware. Although Windows very much is affected by Malware. Malware (viruses,trojans,botnets etc) are a multi billion dollar industry, and there is far more money to make if you are working for the “bad guys”. Unfortunately you can't make your bank switch to a non-windows OS on their ATM's. Most if not all ATM's in South Africa are running some version of Windows. Here is a scary photo I took in the Neelsie: http://i.imgur.com/SApgi4B.jpg
"The antivirus industry has a dirty little secret: its products are often not very good at stopping viruses." I recently heard that 40% of desktop computers worldwide are still running windows xp, this statistic could be wrong but the bottom line is that most malware/viruses/botnets are aimed at Windows. If you are on Linux, for any malware to do any damage, it run it has to be installed/run as root, there are not very few viruses/malware intended for Linux, chances are you are very very lucky if you ever incounter one of these. Think I've got one or two of these on my computer and they can't do anything unless I try and run them as root and even then I doubt they would do much.
If you do regular updates on Linux, which can be done with a click on Ubuntu you won't have to worry about anything.
This part can be excluded, just added for interest's sake.
Things like the Finfisher makes claims to work on Linux . http://us.generation-nt.com/answer/finfisher-works-linux-help-211187022.html but there has been no significant proof of such claims. It also spreads via phising emails, so if you alert, then you won't have anything to worry about. If you are someone that governments plan to spy on then they would try and do hardware level keylogging, (this is done it airports from what I've heard , not sure how but this is how rumour goes, some companies do not allow any laptops on the network that have crossed borders recently). What this comes down to is you have nothing to worry about linux has Linux Package Signing to work around this problem. Don't add repo's to your /etc/apt/sources.list that you don't trust.
The new information leaked by Eric Snowden should be enough to make you realise that Windows is not a good idea. The FBI has software that when installed can be used to spy on you by using your webcam. This kind of malware is pretty amateur “skidddy” stuff and is easy to obtain. http://www.wired.co.uk/news/archive/2013-04/26/texas-judge-malware-spying
Software
Software for any purpose imaginable available free of charge,that either form part of the base system(the default install components/programms) and is thus already installed or can be downloaded and installed with very little effort. If you are a basic Windows user who does not feel a very big need to play games all the time, you will enjoy a user friendly Linux such as Ubuntu or Linux Mint Mate.
Linux Mint comes with following software (installed by default): To write to cd's/dvd's (equivalent to what you would use Nero or ImageBurn for on Windows). Mount ISO's (equivalent to CloneDrive on Windows or Daemon Tools) Codecs for (AVI,mp4,mp3,aac,wma,wav , then list goes on.) Java (OpenJDK) installed, if you would like to install Sun's Java, it would take very little effort. Flash ( You can disable it in your browser if you like) Torrent client (Most Linux distro's can be downloaded via torrent) Email client Browser IRC Client To install software, for example, if I have an Ipod and would like to add music to the device: $ sudo apt-cache search ipod A whole list of programs will appear. To install one of them: $ sudo apt-get install <program_name> $ sudo apt-get install clementine
Community
The Linux and FOSS (Free and Open Source Software) community in general is very helpful and always there to help. If you are struggling with something related to your Linux distro, just hop onto IRC and ask your fellow Linux users. The Freenode network (irc.freenode.net) has a channel for every Linux distribution e.g (#gentoo,#ubuntu,#debian) with countless users who at any point in time can answer your linux related questions within minutes, sometimes seconds.
Freenode has channels for any software project related to Linux. There is a channel for example called #debian, if I had a debian related question I could just ask on IRC and I would have an answer within seconds.
If you have trouble installing anything in Wine for example there will be a channel #wine on Freenode.
Even if you have questions related to programming languages and even windows programming languages such as C#, you will be able to ask questions
related to the given topic on #mono and #c# on Freenode.
On Linux Mint by default you will have Xchat installed, with a few clicks you will be connected to Freenode and you can ask for help instantly.
There are also countless forums, and user created websites with guides and tutorials. In any situation the best google keywords for a linux related search would be to use either the word “gentoo” or “ubuntu” in your search. For example: “postfix dovecot install howto gentoo” or “postfix dovecot install howto ubuntu”. These two distros have the largest communities in the Linux world in my opinion, with Gentoo having a very large amount of users on IRC at any given time.
Linux By Design
In my opinion Linux by design has the following objectives in mind, or turned out to be aimed at aiding in these objectives.
Using very little hardware resources , especially memory/RAM usage.
Networking friendly
Secure
Programmer friendly
Automation
Runs on Any Hardware
Linux uses very little memory, can run on very old hardware. Works on almost any hardware. Your computer never "becomes slower" like with Windows. Linux has drivers for all commercial hardware , opensource and closed source drivers are available. You can run Linux from a flashdrive,hardrive or livecd. You can even run Linux is read only. If you have an ancient hardrive you can run a really tiny linux such as Slitaz, have a look at: http://www.slitaz.org/en/about/ You can run Linux on almost any CPU. Linux is the OS of choice on ARM cpu's at this very moment.
Networking Orientated
This is hard to explain but Linux was built with networking in mind. Linux has very advanced networking capabilities , with IPV6 support as early as 1996 included in Linux by default. Windows only had IPV6 ready for commercial deployment in 2002. http://en.wikipedia.org/wiki/IPv6_deployment Most modern routers run some form of Linux. You can do all kinds of interesting things with linux such as: $ python -m SimpleHTTPServer
$ ssh me@machine.com -D9090 (Then configure firefox to use socks5 proxy and bind to localhost 9090) You will now assume the IP of your server. This is a nice way to seem like you are overseas according to the IP you are using. Netflix for example is only available in the USA and UK. Using SSH tunneling, you can easily have access to netflix.
Linux can be used to setup all of the following:(All using free software) Windows PPTP tunnel OpenVPN VPN Samba Server (Windows files sharing server) DNS Server Email Server Web Server
Unix Uptimes
Linux is very stable and reliable. Linux is used in High Availibility in the server environment , where anything more than 5mins of downtime per year is a serious issue. Linux is also the number 1 choice currently to be used on Super computers. The same kernel used by Desktop Linux distributions is also used in Linux servers. Your computer will never(well hardly ever) crash, unless you: Run software in Wine that are known to cause issues. (Check to see if other users would recommend using a given software application in Wine before running it appdb.winehq.org/) If you are running flash, you're bound to crash. For youtube, try something like http://flavio.tordini.org/minitube or youtube's html5 version Java in your browser. Just not a good idea unless you are running a version not affected by the recent Java 0-day exploit. Don't open too many tabs.
Programmer Friendly
Linux is very programmer friendly and was built with programming in mind. After all the open source community relies on volunteers to submit and improve code. Windows users who are computer science students will know how much time is wasted installing IDE + compiler just to get started with programming. Linux comes with gcc (c compiler), g++ (C++ Compiler), perl,python and more installed by default. On windows to do any python programming , you would have to first install the python interpreter. Linux has python installed by default. Even if Linux does not have something installed by default it would be very quick to install, for example the ruby interpreter. $ sudo apt-get install ruby Although Windows is more widely used in the Electronic Engineering industry Linux has lots of software for software development on Microcontrollers. Settting up the dev environment for the arduino is extremely easy on Ubuntu almost more easy than on Windows. The only software that I'd rather use on Windows than on Linux us Altium. Web development is very easy on Linux and getting apache+php+mysql installed and working can happen in no time. On Windows it is a very tedious process and can be rather time consuming. Doing web dev on Linux is a good idea even if you are using Windows and using a Linux virtual machine with Ubuntu server, it would make your life much easier.
In the development environment it is becoming more and more important to make use of Virtualization of Operating systems. Linux offers several virtualization platforms, of which the two most notable are Xen and KVM, both very easy to install and configure. Have a look at http://en.wikipedia.org/wiki/Libvirt
Automation: Linux makes it very easy to automate almost any task. If you have to do something often, but feel too lazy to do it, then automate the process. For example, imagine you browse http://reddit.com/r/wallpapers daily, changing your wallpaper to the number one up voted wallpaper as soon as a new picture is voted to number one. This can become a rather repititive process to go online, check if the number one rated wallpaper has changed to a now new wallpaper. To download this wallpaper, and then set this newly downloaded wallpaper to your new wallpaper. Well with Linux you can automate this process very easily.
Aesthetically Pleasing
Linux offers many different desktop environments. If you are a more experienced Linux user, you might even choose to run only a window manager. Linux has beautiful code but also beautiful desktops. With desktop Linux you can create a custom built desktop.
Some screenshots:
http://i.imgur.com/aKiQpdD.png
http://i.imgur.com/SNN4JlT.jpg
http://www.gentoo.org/main/en/shots.xml
Run Forever
No re-installs:
If you don't like doing reinstalls, a cool feature that Linux has if you remove a hardrive from a Linux computer and plug it into another computer, it will boot as if it was in the same computer. Thus if your motherboard stops working but not your hardrive, you can continue using your OS. Windows does not like to be moved around, it stops working if it notices that you are using a different hardrive controller. Linux offers software RAID if your motherboard does not have RAID. (RAID is not a replacement for backups though.) You can configure your machine to run mirrored RAID (RAID 1), and if one hardrive fails, you can stil use your computer.
Major version Updates without reinstall:
Ubuntu LTS offers anything from 5-10 years support. Centos has "“In general every release receives bugfixes, feature enhancements and new hardware support until 4 years after general availability. And security fixes until 7 years after general availability (beginning with CentOS-5, this period has been extended from 4 to approx. 7 and from 7 to 10 years {assuming the upstream sources remain available for ten years}).”
http://wiki.centos.org/Download (End of Life)
Do seemingly arbitrary things
@home:
You can easily use your computer either to help find aliens with seti@home http://setiathome.berkeley.edu/ or do research on protein folding with http://en.wikipedia.org/wiki/Folding@home. Ofcourse you can do most of these on windows, but you'd have to download the installers, and also the seti@home installer will show up as a false positive on AVG.
Cryptocurrencies:
With new malware aimed at stealing your crypto bitcoins stored on your computer and in some cases even using your computer to mine for them, Windows would not be a good choice for mining for Bitcoin or Litecoin. With Linux ,mining for Litecoins or Bitcoins is very easy to setup, and also easy to secure.