The oldest and "hardest" method of installing software in linux is to compile from source code, sometimes you'll hear people talk about "make" and it's the same thing. I think compiling has got a bad rap in recent years, there is something pretty cool about compiling the exact versions of software you want for your exact machine architecture. Gentoo as created a loyal user base by this exact approach.
To overcome some of the pain of compiling and the associate dependency requirements, big distros setup packages you could install without compiling from source. Debian started using .deb packages and came up with a system for package distribution and installation. This system has become the home of 20,000 programs you can fetch and install anytime you like. The current version of the system is called the Advanced Package Tool or APT and there are several ways to access it from your Debian box.
Currently the most common ways to install software from APT is via the GUI front ends like:
- Add/Remove in Gnome
- KPackage in KDE (some old references to Adept are still lingering)
- Synaptic which can be used in any Window Manager
From the command line you'll typically see people use either apt-get and aptitude in their examples, any older methods should be completely avoided. Since we have not installed any graphical environment on our test install let's chat about these options.
- Apt-get has been the standard for a LONG time, like the better part of ten years! If you search on installing software in Debian you will find lots of examples listing apt-get as the command to use.
- Aptitude is the new command to use in the latest versions of Debian, but that doesn't mean it's the best one to use on the old Debian box.
Here is the trick to managing your packages in Debian, pick ONE package manager and use it exclusively. If you have an old install that has had packages installed via apt-get you should continue to use it or google around and use aptitude to bring in all apt-get information then never use apt-get again.
Since we're running a current version on a fresh install we should use aptitude exclusively! This will let aptitide track all package dependencies when we install, and remove all supporting packages we don't need when we remove a program later.
First thing, let's think of something we want our Debian box to do, how about surf the web? We'll need a browser for that, and since we can't click the icon to launch Firefox we'll need something else, like "links" to run in text mode. First thing lets make sure we don't already have it with this command:
thom@test:~$ links slashdot.org
-bash: links: command not found
Yeah, that don't look good. Let's fix that:
thom@test:~$ aptitude install links
Hmmm, bunch of errors ending with "are you root?" dang, but we know how to fix that with "su" notice the prompt change:
debian:/home/thom# aptitude install links
There we go. Once we have the package installed we can leave root with a single "exit" then try to hit the interwebs again:
thom@test:~$ links slashdot.org
you can now see our console has turned into a text based web browser. Control + Z to exit.
Now that we can install and run software from the command line we're ready to start setting up our box. Next time we'll get a lightweight Window Manager up and running!












