In this section I try to introduce Debian GNU/Linux as the best operating system I know so far. It has been ported to a large list of architectures (See Debian ports ) and gives support to the HURD through Debian GNU/HURD . The HURD is a GNU project which is supposed to replace the Unix/Linux kernel. I acknowledge Debian GNU/HURD to in time, become the best operating system the Earth has ever known.
The great power of debian!!!
Some people think that there are too many linux distros . I think they fail to understand that there is no need to use them all at the same time. Just joking!!!. But sure they ought to appreciate the chance to be able to choose the best suited for them among such a rich variety.
I believe linux is awesome but among all linux distributions, I consider Debian to be out of this world. There are several reasons that make Debian outstanding:
First of all, it is a free (free as in freedom) operating system. This means that it can be freely downloaded, distributed and modified, since its source code is open. See Getting Debian
Second, it is also a universal operating system since it is multi-platform. Implemented in widely used programming languages such as C++, Python, Perl and so on, it has been ported to several different architectures. (See Debian ports )
Third, it uses the linux kernel. This means that it is stable and powerful.
Fourth, it is the biggest linux distribution. It has thousands and thousands of software packages.
Fifth, it has got apt (Advanced Packaging Tool). This library is in charge of handling debian packages or debs.
Debs are precompiled binary packages ready to be installed from different sources. Removable media such as cds, dvds, usb devices or over the internet through the repositories.
Many people may find the concept of repositories strange. I admit it is difficult for users of other operating systems to believe that such things exist. Repositories are URL's where software is located. They are mainly ftp servers but there are also many http mirrors around the world. You can automatically locate, download and install all that software using apt . Sometimes you may want to install packages from several repositories which are not necessarily endorsed by the official versions. This can be done editing etc/apt/sources.list with a text editor. I use nano at the command line.
Using apt is extremely easy once you get used to it. apt interacts through frontend programs. Here I will only refer to the two most widely used. They are apt-get on the CLI (Command Line Interface) and Synaptic on the GUI (Graphical User's Interface). Apt-get CLI basic commands are apt-get update, apt-get install , apt-get remove and apt-get upgrade or (occasionally) dist-upgrade . The first command updates the list of available packages. The second one installs them. The third one uninstalls them and the fourth one upgrades your whole system to the most recent available release.
Debian is reputed to be very difficult to install. It was true some time ago, installing Debian used to be a long hard process. Some people considered Debian installer to be one of the worst installers there were around but justified it arguing that once you succeeded installing it you did not have to go through that difficult process again since a simple command can upgrade your system in a sec. Again, it is hard to believe. But it is true :-D
Nowadays debian-installer works much better since the release of Sarge and especially since Etch. I dare say that installing Debian is quite an easy thing to do for the average user. The installer is text mode by default but the new Stable release codenamed Etch includes a brand new graphical installer that makes installing Debian a blast!!!
Unstable, Testing and Stable releases
Debian can be found in three different Debian releases. The stable release contains all the packages that have overcome a long process of testing and debugging. This process usually takes a long time and many people who like to use newer software versions use the testing version.
Testing includes more up to date packages. Many of them are being tried to become part of the forthcoming stable release.
Both stable and testing releases are closely watched by the security team. The unstable distribution sid (which will never be released) does not get security updates. "Sid" contains cutting edge software packages; it is fantastic to use them to experiment and enjoy novelties. The problem with them is that they may not have all their dependencies resolved and it is a bit complicated to work with them. In theory it is only recommended for developers but anyone can install and use it.
One very curious thing is that the names of the different Debian GNU/Linux releases come from the main characters in the Pixar film TOY STORY. The unstable release is permanently codenamed sid (The naughty boy!!!).
Compiling from source and getting rid of viruses
There are two main ways of installing software on linux systems. The most modern, well-known and used one is to install precompiled binary packages. This way is similar to how other operating systems install packages. It is the fastest but it is not necessarily the best way. The oldest method and probably the best one is building packages from source.
Precompiled binary packages are downloaded and installed automatically with the help of graphical (or text-mode such as dpkg, aptitude or apt-get) package managers. In Debian, one of the best well known ones, is called synaptic.
Source packages are downloaded, uncompressed (since they are usually compressed as a tar.gz archive, similar to .zip) compiled and installed manually. This process is longer and takes much effort but it is very, very effective. More than one can imagine in front of so much work to do. I like compiling packages myself sometimes.
The source code is the text that programmers and developers actually write down. This text is a series of instructions written in a programming language that tell the machines what to do. These texts, which are human readable cannot be understood by machines because they only understand 1's and 0's i.e binary code. The process of translating source code to binary code is called compilation. It is carried out with certain programs called compilers.
To compile a program you need to have the source code, and a good compiler. If you compile at the command line, which is probably the case you need to read and follow the programmers instructions, resolve possible dependencies and proceed with the typical commands (unless stated otherwise).
1 .- pwd This command prints your working directory, usually /home/user's_name
2 .- cd This command changes your current directory to the source code directory
Now you are ready to begin,
3 .- ./configure This command configures the system for installation.
4.- make This command builds the binary. Any user can take these two first steps.
4.- su With this command you become superuser. You need a password.
5 .- make install This command installs the binary into the system.
And that's it! However, you may want to use any of these commands.
6 .- make clean This command is optional. It erases the binary since it is no longer of any use.
7 .- make uninstall This command uninstalls the program.
Linux is a practically 100% virus-free operating system. Let's consider some reasons for that. One of the things that most annoyed me when I started using linux was that I had to continuously type my administrator password to install packages. That turned out to be a blessing in disguise. One important reason why you don't get viruses with linux is that a virus cannot enter the system without a superuser password. No one, not even other users can install anything on a linux system without the administrator's consent.
System administrators are supposed to have enough knowledge and experience not to install any virus. But still, newbie administrators can make mistakes and allow the installation of a virus. It is not easy but it is possible. In that case, the system's package manager will surely prevent the installation of malicious software due to dependencies problems.
I have never used any antivirus program and of course never had any problem with viruses using linux. Let's knock on wood!!! Well, I once installed ClamAV for the sake of taking a look at it. But uninstalled it right away.
But this does not mean that you can leave important information at risk. I recommend you to install an antivirus if you have to protect important data on a machine or a network. In fact many companies which use linux as sole operating system do so.