This concise guide to Debian GNU/Linux should hopefully be just enough to get a few people seriously considering dropping Windows, or at least giving Linux a try. I have omitted a number of things such as going through the very simple download/install process due to there already being multitude of info about this on the web. As for reasons why Linux is better than Windows, take a look at http://www.whylinuxisbetter.net/. Instead, I aim to articulate my thoughts on why Debian is preferable to any other distro for new users, and also share some insight into the basic knowledge required to complete pretty much any everyday task with your Debian machine.
Why Debian?
Most new Linux users go for Ubuntu, which is more than nice enough when compared to Windows, but still somewhat bloated, and you don’t really learn much. In my opinion, it also looks pretty bad. Ubuntu and many other of the more user-friendly distros (Mint, Sidux etc.) are based on the “testing” and “unstable/experimental” branches of Debian, and with good reason - Debian is VERY stable and secure, plus dpkg (its package manager) is superb. This is why a lot of web servers use the “stable” branch of Debian (and they literally never have to reboot aside from hardware fixes/upgrades). In a nutshell: it’s easy on the eye, and the software which Debian considers “unstable” is still far superior to Windows.
Package Management
When you want a new app in Windows, you’ll probably hunt around on the web for something suitable. Not only is there a lot of malware around, but even some of the well-written and trustworthy apps might not be fully compatible with your system, causing bugs, slowdowns etc. I’m sure you’ve experienced this.
Using a package manager not only means that everything is fully organised/centralised (you can search for, download and install thousands of great apps right from your desktop), but also that everything has to be fully approved for use by the makers of the OS before it becomes available via their main repository (the area of the Debian site that software is downloaded from).
Debian’s testing and approval process is also extremely thorough, and this is one of the many things which still make it one of the most “pure” operating systems available today. The only downside to this is that new versions of Debian are generally only released every couple of years, so the very latest versions of your favourite apps will not be immediately available via dpkg (Debian’s package manager). This is no real reason to be put off, though - you can make some simple system changes to include searches for software in Debian’s “testing” and/or “unstable/experimental” repositories (the same ones Ubuntu’s are based upon). If you’re desperate to use a specific version of a specific app, it’s also possible to add trusted third-party repositories to the list, and of course you can always download things from the web and install them manually.
File Structure
Aside from the swishy GNOME desktop, the first thing you’ll notice with Debian is that the file system is a little different than in Windows. Drives aren’t labelled “C:”, “D:” and so on, plus you have a “home” directory rather than “My Documents”. The most important areas of most Linux file systems are actually structured like so:
/ - The root directory. Everything starts from here
/bin - System binaries. The core OS files
/etc - System config files
/media - Mounted media. CD drives, USB devices etc.
/usr/bin & /usr/local/bin - User-level applications
/home - Users’ home directories
Anything above /home/*username* requires root access. (When installing Linux you are required to supply a root password as well as the one you wish to use with your user account.)
The Command Line
Most new users notice the command line and assume that it makes things more complicated and difficult. This is simply not true.
When you click icons or move files around in Windows, all you are doing is using a graphical “frontend” to send commands to the OS/apps. With desktops such as GNOME, it really is possible to use Linux without having to use the command line (another frontend) at all, but because you’ve read this far and are therefore clearly not stupid, we’re going to use it anyway. Why? Speed, power and control.
Let’s say we want to install an IRC client. Xchat is a well-established and reliable app, so guaranteed to be in Debian’s main repository. Rather than use “Add/Remove Applications” or the “Synaptic Package Manager” (both perfectly nice GUI frontends), we’re going to go to Applications -> Accessories and open “Terminal” to use APT commands. To install, remove and update things we need to have root access, so we take root by entering
su
then entering the root password when prompted. To download and install (or upgrade to) the latest “stable” version of Xchat, we enter
apt-get install xchat
Wait a moment… Congratulations, you just used APT at the command line to make dpkg download and install a package. We can now run the app by leaving root then entering the name of the packge.
To leave root, type
exit
and to start xchat, enter
xchat
and let the chatting begin. It couldn’t be simpler.
Other APT commands related to this are
apt-get remove *name*
and
apt-get purge *name*
Just remember to take root beforehand and exit root when done (running apps at root is not advised).
Now let’s say we want to download and install something from the web. For Debian, this software might come in the form of .deb packages or .tar.gz archives (a bit like zip/rar files). For this example, we’ll grab the Opera web browser (which is not open-source and therefore not in Debian’s repositories).
.tar.gz
Right-click and extract the file from the tarball just as you would with a zip archive in Windows, then take root and enter the command to change directory to wherever the package is. EG:
cd /home/*username*/opera
You will see the that the command line is pointing at this specific package. Now we need to make sure it’s not going to mess anything up when we compile and install it (highly unlikely).
./configure
All good? Time to compile
make
and install the complied package.
make install
All Done. Now just exit root, run the app and start browsing with Opera. Notice that icons for newly installed apps appear in Taskbar -> Applications -> *category*.
.deb
A .deb file is a package which has already been complied especially for Debian, so this method is even quicker than having to complile it yourself. Take root, change to the relevant directory then enter
dpkg -i *name*.deb
Done. The related remove command here is
dpkg -r *name*
Also, gdebi is a great little tool which allows you to install from a .deb by simply double-clicking. I’m sure you can figure out how to get gdebi by now.
Conclusion
Getting started is not hard, just a little different to what you’re used to, and you don’t even have to use the command line if you don’t want to - I just find it a lot quicker.
Want to give Debian a go? You can download the latest “stable” version for free at http://www.debian.org/distrib/netinst and take look at it using a free Windows app called VirtualBox.
I’ll write about device drivers (”modules”) soon.












