This is one of four related posts:
Some Linux/Ubuntu related books:
Ubuntu Unleashed 2016 Edition: Covering 15.10 and 16.04 (11th Edition)
Ubuntu 16.04 LTS Desktop: Applications and Administration
The Linux Command Line: A Complete Introduction
Why you should install Linux
Linux is an operating system, as are Windows and Apple’s OSX. It is the operating system that is used on the majority of computing devices. Linux is the basis for the Android operating system, so if you have a smart phone that is not an iPhone, then you are probably already using Linux. The majority of servers, such as computers that run cloud services and internet nodes, etc. run on Linux. Your wireless router probably runs on Linux. Many devices in the “internet of things” use Linux. Supercomputers often run on Linux.
There are a few reasons you might want your desktop (or laptop) to run on Linux. Perhaps you are annoyed with your current operating system. If, for example, you find yourself frequently having to reinstall Windows, you might want to switch to Linux, because reinstalling is almost never a solution to something being broken on a Linux machine. Perhaps you have an older computer and the newer version of Windows runs really slowly for you. Linux runs better on older hardware.
For the most part, for most things most people do, it really doesn’t matter much which operating system you chose among the main players (Windows, Linux, and Apple’s OSX). What matters most is what software you use (applications, apps). If a particular application that you need to use runs only on one operating system, pick that operating system. But first, check to see if you are right about what software runs on what systems.
Indeed, most of the commonly used applications have a version or equivilant that runs on each of the three main operating systems, or at least two of them. Microsoft Office runs on Windows and, somewhat less smoothly, on a Mac. You can also run MS Office software on Linux, but I don’t recommend it for the non-expert user. But all of the applications that make up Office have equivalent software that is designed just for the Mac (and won’t run on anything else) as well as equivalent (and some would say superior) software that is not only designed to run on Linux, but that will run on any computer.
Indeed, from a user’s point of view, getting used to some software on a particular operating system and then being forced by circumstances to switch to another operating system is hardest for Mac users (if you are using, say, Pages, Numbers, and Keynote … you are stuck with the Mac), less hard for Windows users (as noted, Office runs on a Mac but not really on Linux) and trivially easy for a Linux user, since the Libra Office suit, with a word processor, spreadsheet, presentation software, drawing software, etc. runs the same on Linux, Windows, or a Mac.
In the old days it was said that you needed to use Microsoft Office on Windows or you would not be compatible with other people. That was never actually true. The compatibility issue was much more complex. There were instances where two people using Windows, and running Office, could not reliably exchange documents because they were using different versions of Office that did not play well with each other, but one of those individuals could easily exchange documents with someone using Open Office Writer (a word processor) on Linux.
But now, that falsehood is even less true than it ever was, and document formats are much more sensible and interchangeable today than they ever were in the past. So the compatibility issue is largely gone, even if it ever was semi-true but mostly misunderstood.
There are pieces of software that people love that require a particular operating system. The big fancy expensive Adobe products don’t run on Linux. Scrivener, a great writing application, is mainly Mac but will run on Windows and not really (but sort of) on Linux.
But it is also true that most software that most people use has an equivalent version on each of the other operating system. So, it really depends on what you want and need to do with your computer, and how much money you want to spend on hardware and software.
If you have an “extra” computer in your possession, and would like to have it usable for basic functions, such as using Google Chrome or Chromium to access the internet, basic text editing, advanced word processing, advanced spreadsheet and presentation work, etc. then installing Linux on that computer is a really good idea. It is probably an older computer, and as such will run much better with Linux than any other operating system, because Linux is so much more efficient. It will be free to do so. It will be relatively easy. Then, you’ll have a Linux computer that you will use now and then, and over time, you may decide that you like the operating system itself so much that you’ll totally switch to it. Or not. There is no problem with having more than one OS in your life.
Linux History and Background
This section is not really necessary if you are trying to decide whether to try out Linux, and you can skip it, though the background and history of Linux are interesting and may help you understand Linux a bit better. Also, this is a very brief version and there is much left out. Readers are welcome to identify important parts I’ve ignored and put them in the comments! In any event, be warned: I oversimplify here.
Many years ago, an operating system known as “Unix” was developed to address certain growing needs, especially the requirement that many users could hook into one machine and treat that machine as their own, keeping their stuff separate from that of all the other users.
Unix was also designed to run on several different machines. Previously, most operating systems were designed for a specific piece of hardware.
In 1983, Richard Stallman of MIT began a project called “GNU.” GNU stands for “GNU is Not Unix.” GNU was in fact not Unix, but it was meant to work just like UNIX.
At the same time, Stallman and his associates created a licensing system for software called the GNU General Public License, or GPL. This license was designed to guarantee that work carried out on the GNU project would be available for anyone else to use, as long as they followed the rules of the license, which essentially required that any new work based on GPL licensed work also had the GPL license attached to it.
This was the origin of the Open Source movement. The idea of this movement is simple. Instead of creating and selling proprietary operating systems and software, sold for a profit and protected by a user agreement, people would create software that users could obtain and use for free (free as in FREE beer) and this software would be free to modify and apply by anyone anywhere (free as in FREEdom).
The GPL project involved developing a large number of tools that could be used while operating a computer. For example, when using a computer with a command prompt (there were very few computers that used graphical user interfaces at the time) one might enter a command to list the files in the current directory, create a file, create a directory, move a file, search through a file for certain contents, etc. The GNU collection of tools eventually grew to include a large percentage of similar tools ever developed for proprietary computers, and much more, but under the GPL license. There were tools created back in the 80s and developed through the 90s that are still at the heart of many computer operations today.
In 1991, the Finnish computer science graduate student Linus Torvalds started to develop a “kernel” that would interface between certain hardware and the larger operating system. The details are a bit complex, but eventually, Torvald’s kernel and Stallman’s GNU tools were combined into a single operating system that would be called “GNU Linux.” Today we often say just “Linux” but the longer name better reflects what the operating system contains and how it came to be.
All of that history is interesting, but probably more relevant to you, is how Linux is maintained and deployed today.
Linux is maintained and developed by a community of thousands of programmers and other experts, globally. Each part of the project is maintained by a “maintainer” and different programmers send their work to that maintainer for approval. Most of these developers work for a company that is involved in computing somehow, committing part of their time to Linux development. All the work is done in the open and subject to comment and critique by everyone else.
This project makes sense, and is valuable to companies involved in computing, because the operating system itself is free for them (and everyone) to use, and direct involvement (by the larger community) means that the functions the operating system serves, and how this is done, is determined by a large scale very open conversation, rather than the more limited ideas of a smaller group of designers within a corporate and proprietary system.
Even more important is the simple fact that for most of the uses required by these companies, Linux is a superior operating system.
Also, and I’ll expand on this a bit below, the process does not involve marketing. Nobody is directing the work on the basis of perceived value on the market, or in relation to any profit motive. It is all about getting computers to do things effectively and efficiently, with security and usability firmly in mind.
When the first version of this operating system was released in 1991, it included 10,000 lines of computer code. Linux currently has just under 20,000,000 lines of code.
But, here is the important part. The developers of Linux are focused on certain principles. I can characterize those principles from my own observation, but much has been written and spoken about this, and you should seek more expert sources if you want the richest and most detailed story. The operating system needs to be small and efficient, and every aspect of it has to work as flawlessly as possible. The kernel, the deep inside part of the operating system, needs to be very stable and to only contain what is necessary for the kernel to run. There is a great deal of discussion as to what functions should be moved into the kernel vs. left out and treated more as a tool that may or may not be included in a particular installation. This is why the Linux Kernel can sit comfortably inside your cell phone and be amazing, and at the same time, manage a complex super computer with hundreds of processors.
One of the outcomes of this sort of careful curation of Linux is that sometimes changes made in the guts of the operating system require that related changes be propagated outward into other software. Since changes at this level can affect a lot of other things, they are carefully considered and avoided until necessary. But, once they occur, maintainers of the various parts of the operating system, as well as some of the software that runs on it, have to make the appropriate changes. The result is a bit more work than other methods might produce, but continuation of efficiency and stability of the operating system and its parts.
There was a lot of competition and bad feelings between the dominant desktop operating system’s developer, Microsoft, and Linux, several years ago. In my view, Linux has long been a superior operating system, measured in terms of how well it works, how adaptable it is, how quickly development responds to security threats, new application requirements, and so on. Also, by and large, Linux has run on a larger range of hardware. Most importantly, perhaps, as Microsoft’s Windows developed over time, it required more and more advanced hardware to operate. So, keeping your computer updated required not only adopting the newer versions of the operating system (and often paying for that) but also replacing old hardware with newer hardware now and then. Linux, by contrast, runs on most (nearly all) of the older computers.
Eventually the competition and fighting between the Windows and Linux camps died down, and now Microsoft not only uses Linux in many settings, but has become one of the top contributors of code to the Linux project, and supports OpenSource in many ways. For its part, Apple adopted an operating system very similar to Linux as the basis of OSX.
I suspect that eventually Microsoft will also adopt a Linux like underpinning for its own operating system.
The most important differences between Windows and Linux
There are a lot of differences between these operating systems that are internal and often esoteric. As implied above, Windows tends to be bloated (lots of code) and relatively inefficient, requiring fancier and more powerful hardware to run, while Linux is leaner and will run on nearly anything. This also means that installing Linux is usually easier and faster. Linux takes up less space on your hard drive, as do most of the different software applications that run on Linux.
The Windows operating system appears to the average user as a single entity, a whole thing, that runs your computer and peripherals and at the same time interfaces with the user using a fancy and occasionally redesigned graphical user interface. Everybody gets the same user interface.
Linux is distinctly different from Windows in that it can be thought of as having two parts (from the average desktop user’s perspective). The basic system, that runs everything, is the Linux kernel and the GNU tools and a few other things, down under the hood. If just this stuff is installed on your computer, you interface with it using a command line. Computers that are used as web servers or to do certain other work operate this way, since the computer’s work is being done without much direct human involvement except by experts who are comfortable using the command line. This saves resources and makes the computer run very efficiently. Indeed, many of these computers are “headless,” meaning they don’t even have a monitor. Since only the command line is being used, an expert can sign into the computer over a network and mess around with it easily in a terminal program that gives them access to the command line. Such computers, most of the time, run themselves and nobody has to look at what they are doing.
The second part of a desktop Linux system, one that you as a regular person would use, is called the “Desktop.” The word “desktop” is confusing and messy in the computer world. Here, we mean the set of tools and stuff that give you a graphical user interface for the entire system, and that runs your software in windows, like Microsoft Windows and Apple’s operating systems do.
Unlike Microsoft Windows or Apple’s OSX, there are many different desktops that function on Linux. Any individual or group of experts can design a new desktop and make it available for Linux users to use. When you sign on to a Linux computer, there is a moment when you have a choice to pick among the various desktops that are installed on that computer (if there is more than one). Most people have a preferred desktop and use that as the default. Some people like to collect and play around with different desktops.
Then, there is the concept of the “Distribution.” When you “get” Linux, you are actually getting a particular distribution (aka “distro”). The structure, history, and dynamics of distributions is actually very complex, but you don’t need to know any of it . All you really need to know is a simple definition of what a distribution is most of the time, and which distribution you should chose to install.
A distribution is the package of stuff that is needed for Linux to run on your computer. You can think of it simply as a system, like Microsoft gives you Windows, Apple gives you OSX, Linux gives you a particular distribution and that is the thing you install.
A typical Linux distribution of the kind you might install is in some ways similar and in some, very important ways, different from a products from Microsoft or Apple.
Like the other systems, a Linux Distro (short for distribution) includes the installer. So you get a CD, DVD, or thumb drive, boot from it, and the installer takes over, asks you some questions, and installs the Linux operating system on your computer.
A Linux distro has a single desktop that is automatically installed. To the user, this is the most important difference between distros. You pick a distro in part on the basis of what desktop you like. You can install other desktops later, of course. But most likely, you will simply pick a distro with a certain desktop and that will be your desktop.
A Linux distro includes a whole pile of other software and installs that at the same time that it installs your operating system. Typically, you get a web browser; an email program; an office suit with a word processor, spread sheet, presentation software, etc.; a text editor; calculator; music player; some graphics software; etc. This sounds like it might be annoying because it would take forever to install all that software, but software that runs on Linux is very efficient and takes up less space than for, say, Windows, so it does not really take all that long.
A Linux distro has a particular way to install, update, and maintain software. If you use a Mac, you are familiar with the paradigm, because Apple copied the Linux method. There will be one or more user interfaces that you can use to search for, pick out, and install software. Every now and then you can issue an update command and all of the installed software will be inspected and updated. Typically, your distro will install and set up at installation time, a program that initiates this automatically and gives you a message saying that you should update your software. You can opt to have this done in the background automatically, or you can do it yourself. Any of this can be done from the command line if you like.
A modern Mac does this as well. That is because down deep a Mac is running a Linux like operating system. Traditionally, Windows did not do this, though maybe Microsoft has learned to follow the Linux pattern of updating software. I’ve not had to update a Windows computer in a while.
Here’s a key point that distinguishes Linux from both Apple OSX and Windows. The Linux operating system itself is updated a little bit pretty much every week. And, it is updated more or less flawlessly. Your distro will probably be conservative. The basic Linux OS is updated, and that update is tested out and incorporated into a distro. That distro may have two versions, a bleeding edge version and a more stable version. So the change goes into the bleeding edge version then later into the stable version. Chances are your distro will actually be based on one of those distros, and there is yet another level of checking out the changes. Then it comes to your desktop.
When Microsoft updates its system, it test the update internally (maybe using beta testers). When Linux updates the system, it is tested by all those thousands of Linux experts who are involved in the project. This means that Microsoft has to do its updates differently, because an update is a major and costly project, just to test. So a typical Microsoft update (and Apple is similar) has more changes, more fixes, more tweaking, and this is why the first version of those updates is almost always at least a little broken or problematic for a good number of users.
Since Linux updates in smaller increments, and the increments are very widely tested, there is virtually never a problem with such an update. They just happen, everything works, and nothing goes wrong. And, it is lighting fast. The update is just several seconds to a few minutes long.
So, you want to install Linux?
The best way for a noob (a first timer) to try out Linux is to get a hold of that extra computer, make sure there is nothing on the hard drive that you need to save, and do a fresh install of the Ubuntu operating system on that hard drive. Ubuntu is one of many different distros, but it is the most user friendly and the best supported. There are actually several versions of Ubuntu, but you will want to install the standard mainstream version, which uses the “Unity Desktop.”
Click through to THIS POST to see an overview of how you might do this,
About a month ago I put the latest version of Ubuntu on an old 32bit laptop that previously had Win95 on it. It sits in my basement running BOINC for the World Community Grid along with 2 other no longer used laptops. It runs good - I may have to go play with it a bit :) Better than my last stab at Ubuntu fro 4 or 5 years ago, which you may remember.
Be aware that there's a lot of useful things that can be added to Ubuntu (or any Linux), which are not installed by default with Ubuntu...
Some of the reasons involve Canonical being a world-wide distributor of Ubuntu, and subject to licensing issues regarding some of these "extras". YOU can install them perhaps, but Canonical can't put them on their DVD image to help you by installing them by default.
The biggest class of these "extras" is probably multimedia additions, such as codecs. There are many classes of such "restricted" add-ons, however.
This is handled by enabling additional software repositories (disabled by default in the "Test Drive" DVD boot), then running software install apps to install them yourself. (The Ubuntu Software Center has issues in 16.04, but you can install "Synaptic" to use as an alternate.)
The best thing to do is to Google "things to do after you install ubuntu" to get pages such as this one from Greg, as well as others (such as webupd8.org) that will suggest the most common useful add-ons and walk you through the process of installing them.
Without this, unfortunately, someone's first-time experience with Ubuntu may be less than stellar, with them drawing an incorrect conclusion that Ubuntu doesn't measure up -- when it certainly does!
(I have a set of scripts that selects and installs a variety of my favorite add-ons of various types from various sources. It makes "installation phase 2" go quickly and painlessly... When done, my system not only rivals Windows, it surpasses Windows. ...Which I run in VirtualBox as a VM, courtesy of one of my scripts.)
Yeah, very true. I cover some of that in my other post.
I don't think it gets emphasized enough... It's not expected, it's certainly not intuitive, and Canonical doesn't make it clear -- even though it's on their best interests to do so. Experts like me know this and have no problem dealing with it, but someone wanting to try out Ubuntu with an open mind is too likely to get a bad impression. And consequently give up on it and jump back in bed with Microsoft.
On all my machines except one, I run Fedora Linux which is quite similar to Ubuntu. A lone windows machine is for legacy applications and rarely used.
Fedora runs Office applications and all the major browsers very well but by far the best effect of switching to Linux of any flavour is never again having to see or worry about malware and viruses which just steal your time at best, or wreck your business at worst.
However, viruses and worms do exist for Linux, but are very rare and users are unlikely to encounter them as long as they keep their passwords secure and unguessable and use sftp instead of ftp to avoid exposing them to the web.
Andy, as far as I can tell, Fedora is at least as stable and well behaved as Ubuntu, and Ubuntu is possibly a bit better supported for the average user in that the user base for Fedora/Red Hat includes a larger percentage of deeply immersed experts. There are questions that Ubuntu users as of the community that 90% or more of Fedora users would never have because they know the answer already.
To me, the biggest difference is the package management system.
But installing Fedora involves the same basic process: A live DVD or USB installation, pick the defaults, etc.
Also, there may be more KDE-ites using Fedora than Linux, but I'm not sure.
The package management system is also the biggest difference to me, but they also differ significantly in that:
* Fedora/RHEL gather together and organize all the system control and management init & config files in pretty much one place (/etc/sysconfig) better than how Debian-based Linux does it.
* Debian-based Linux (incl. Ubuntu, et al) has a better, friendlier, more powerful set of admin tools, IMHO.
The gathering of settings and tweaks into a single format would be a really nice project for debian based systems. It has gotten better, so now you need the system settings fort the distro plus the tweaker for the distro. Why this has not been done ages ago is a mystery.
It has a long, long history -- with a lot of opinions on how it should be "done right". The latest wrinkle on this is "systemd", which is a big, monolithic daemon that manages all of this. Systemd replaces initd, all the startup scripting, and pretty much incorporates all the system config into one big piece of code.
Which the *nix old-schoolers do NOT like. (I empathize with them -- there are good reasons to keep things as separate entities, each configured/controlled with a text-based config file.)
Canonical (Ubuntu) held out, even making their own superior tool, "upstart", but they eventually knuckled under and adopted systemd, too. (Fedora led the way on systemd.) It was incorporated into Ubuntu in 15.04. Currently it's implemented as sort of a hybrid with upstart and traditional init.d scripts, as we're in a transition period for getting everything on the bandwagon of systemd.
I don't like it... I don't have the visibility and control at low levels that I used to. Even the logs are mostly "gone" now. It's enough to keep me at 14.04 (for a while at least). ::sigh::