In these first few sections, I will try to cover some of the general concepts and ideas behind GNU/Linux. This is good if you’re making the switch from microsuck, because things just work differently in GNU/Linux. I found that lots of times, the ‘GNU/Linux way’ isn’t a very hard concept, but if you’re used to doing things one way – it just doesn’t seem to make sense unless you see it for yourself or someone can tell you in plain english. I am attempting plain english here (no jokes plz)
Another GNU/Linux concept that is hard for a lot of windowz users, is how to install or download more software. In windows, when you want a new program, you can go to a store to buy it, or maybe you go online and download it. Either way, you put the software on the computer, then you proceed to double-click on the installation wizard.
This is not at all how GNU/Linux works. When a GNU/Linux programmer makes new software, he doesn’t try to sell it, or put it on his website for you to download. Instead, he submits it to a place called a ‘software repository’. A repository is a place on the internet where they put ALL of the GNU/Linux software. Before they let anyone have it, they extensively test the software and figure out which versions and distrobutions it will be compatible with. Sometimes they have to make a few changes so that another version of GNU/Linux can use it.
Each distribution has it’s own repository, and will probably have more than one, since many distrobutions use the same stuff, so they share repositories. These repo’s are where you go to get software. It’s great because you know that all the software in the repo’s has been tested for your system, and checked for viruses, spyware etc!
How do you get to the repositories and get some software? You don’t visit them with your web browser and download them. Well you can, but this is harder, as your system already will have a special program on your computer for installing software. This program is called a ‘package manager’ and it obviously, manages the packages on your system.
Ok, so what the heck are packages?!? A package is a bunch of files that contain everything required for that piece of software. So say some programmer makes some program, and submits it to the GNU/Linux repositories. Well when the repository people get it, they’re going to put it into a package for you, with all the other files you’ll need.
Ubuntu has their ‘Software Center’, and many distributions use Synaptic Package Manager. Aptitude is a very popular package manager.
You can also use the terminal to install software and manage your packages. (More on command line interfaces and the terminal in later posts)
Within your package manager, you’ll be able to search for, install and remove packages. From this program, you simply choose ‘install’, and the package manager will download the package, install the software, and then delete any temporary files. It’s not like windowz where you download the ZIP or RAR file to your Desktop, then extract it, then run the Setup or Install Wizard, and then HOPE that the software works! With windowz, after installation you still have to find all the temp files, and delete the original ZIP to save space…..
So that is the basic concept of finding and installing software on a GNU/Linux/Unix system. You find out which repositories are best for your current computer and operating system, and tell your package manager which ones they are. Then you use your package manager to find the software you want and install it.
Now, this is where another topic comes up which really threw me for a loop when I started with GNU/Linux: The file system. If you’re used to the ‘Program Files’ directory and having CD-ROM drives and the like automatically mount to ‘My Computer’, then you might find the GNU/Linux file system a little strange at first. Actually, the file system is one of my favorite parts of GNU/Linux – it just makes sense! See my recent post on the Linux file system.