There are a lot of new people who want to check out Debian. Most are people with some Linux experience who hear that Debian is stable, free (libre), and has a large and dedicated user base. That sounds good, and people think that it's a kind of community in which they'd like to participate. This is true, but there are some pitfalls that can present hazards for the unwary.
Debian users, by and large started out with another distro and came to Debian having a basic grasp of Linux and its idiosyncrasies. That is a good plan. Refugees from Windows, and other new Linux users who have never gotten any distro to work properly are probably going to be in deeper water than they can imagine very quickly. Debian users are more likely to assume that you have a basic working knowledge of Linux, and you are more likely to get RTFM and, "Try an easier distro," responses to questions than you would from one of the more newbie friendly Linux communities.
That's not to say Debian is too difficult for new users. It's not. But you should realize that we expect you to do your own homework, and persevere under sometimes difficult circumstances. If you can live with that, you will find the Debian experience to be as positive as we all do. Debian is approachable by Linux newbies, but they had best approach it respectfully. Bottom line is this ... Debian is a distro for people who love it, and if you don't, you're better off elsewhere.
If you think you're ready, the rest of this dissertation is aimed at providing you with some basic information that will provide you with enough background to do it right. "Right," in this case, being the way I think it should be done.
Intro to the Debian OS
The first step is to understand how Debian is organized. There are three branches you will see discussed; Stable, Testing, and Unstable. Each of these has a code-name, currently; Etch, Lenny, and Sid. Periodically, Testing will reach a point at which it is ready to become the new Stable. When that happens, Testing will get a new code-name, but Unstable always remains Sid. Each has it's own repositories which are identified on your system in a file named /etc/apt/sources.list, and depending on your personal needs, you will choose which of those branches you want to use.
Stable is intended for servers and production working environments. It gets no official upgrades, except those which are security related. There is an organization named backports.org which provides some updated applications specifically designed for the Stable release. This ensures that Stable will be as absolutely rock solid as an OS can be, but it also means that by the latter half of it's life span, many of the programs will be out of date. If you run Stable, that means you have made a decision that for the next year or two, you will not add new programs (except from the Stable repos or backports), or hardware to your computer. If you do, the odds of breaking something critical are excellent, and you will get very little sympathy.
Testing is the best branch for the average home/hobbyist user. Programs and applications here have had a period of testing, and have been found to have no serious bugs that will absolutely break your system. There will be the occasional glitch, but your system will stay at a release level equivalent to other distributions, and it will generally be superior to them in it's overall stability. The Testing installer is here.
(Insertion related to Testing installation media: I think it is worthwhile to note here that after a Testing release has moved to Stable, there will not be an official beta Testing installer for quite some time; probably not until a few months before the targeted release date. Once that official beta is in place, there will actually be three separate installation media sets available; the official beta, a weekly build, and a daily build. If one gives you problems, try a different one. One of the three will almost certainly work. Until there is an official beta installer in Testing, the installers at that link may or may not be reliable. During that period, new users should probably install the Stable version, then set up their sources.list file as shown below, and use # aptitude update && aptitude dist-upgrade to achieve a successful Testing installation. /insertion)
Unstable is nothing to really be afraid of, but things will break. Probably not badly enough to force a re-installation, but even that is possible. Many people use it all the time with minimal problems, but it's probably not a good idea for inexperienced users for the simple reason that when you don't really know what you're doing, it's difficult to tell if your problem is related to operator error or bugs in the software. That said, Debian Unstable is about as stable as a new release of Ubuntu, Fedora, Suse, or any of the other distributions which release on a calendar-based schedule.
There is one other repository that you will see references to, Experimental. Experimental is not a complete release branch like the others, but rather a holding-tank for programs under intense development. When a developer feels that his project is nearing release quality he will move it to the central Experimental repository, and ask other developers (or adventuresome users), to install it to help identify pieces that are still broken. Installing a program from Experimental is more likely to end up in a complete OS reinstall, but that's not the end of the world either. Re-installing is an excellent learning experience.
This is what a conservative /etc/apt/sources.list file looks like:
- Code: Select all
deb http://ftp.us.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.us.debian.org/debian/ testing main
deb http://www.debian-multimedia.org testing main
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main
Debian-multimedia.org is an unofficial site, operated at, or very near, the level of Debian's exacting standards for official repositories. It includes multimedia programs which can not be included in official repositories for legal reasons. Almost all Debian users include it in their sources.list file. You can also get .deb files from other sources. There are even many unofficial sources which are set up as Apt repositories, but ... caveat emptor.
Using "testing" in the sources.list rather than "lenny" ensures that when Lenny becomes Stable, I'll move right into the new Testing.
The installation CD #1 comes in several versions depending on your preferred desktop environment. The default is Gnome, but there are alternatives for KDE and Xfce.
Assuming that you have a broadband internet connection available, the best option is the Netinstall .iso (about 150 MB, and it's all you need). The base system will be installed from the CD, and graphical interfaces and other desired packages are installed through the internet. Most wireless LAN card connections will not work here. It is by far the best plan to do the initial installation via a wired connection, and work on wireless support after you have a basic system running.
Choosing the best installation media is quite a difficult hurdle for many new Debian users. For a more complete description of your options, see the blog post from Debian Developer Joey Hess, Tour of the Debian 4.0 CDs. That post was written specifically about the Etch release, but the same principles apply for Testing.
These tips assume you are using the netinstall process and that your goal is the Testing branch. It is the best way to go, but if for valid reasons or otherwise, you have chosen a different installation media or OS branch, try to follow along making common sense adjustments.
During the installation dialog, set up your disk space in three partitions:
/ (root), 5 - 10 GB,
swap, max. 1GB,
/home, the rest of what you have available.
When I first started, I did it like this: / - 1GB, swap - 1GB, /tmp 1 GB, /var - 3GB, /usr - 4GB, /home - the rest. That helped me get a feel for where things were going and how much space they required, but it's not necessary. /home on a separate partition is a very good idea. One key advantage is that when you re-install (and newbies do it fairly often), you can leave the /home partition in place and just install the OS around it.
When the base installation is finished, you will be presented with a list of optional "tasks" which can also be installed. Select only "Standard System," unless you are installing on a laptop, in which case you should also select "Laptop." You will probably have to deselect "Desktop." My theory is that it's better to install Xorg and your desktop separately. When that's finished, the installation process will reboot the system, and you'll be presented with a "login" prompt.
Log in as root, and edit your sources.list file to look like the one I've included above. (I'm not going to get into which editor you should use, but manly men use vim.) Comment out the CDRom line, add contrib and non-free to the appropriate line(s), and add debian-multimedia.org.
Aptitude is the preferred application installer. You can also use apt-get, but, until you understand the ramifications involved, use one or the other exclusively. Entering # aptitude ... without any parameters will present you with an ncurses interface which is too complicated for me. I simply substitute aptitude for apt-get on the command line and use the same parameters.
(A minor detour: If you have installed the Stable release with the intention upgrading immediately to Testing, this would be a good time to do that. Before moving to the installation of the X system and Desktop environment, ... # aptitude update && aptitude dist-upgrade)
# aptitude install xserver-xorg-core xserver-xorg xorg gdm gnome-core
# startx (or reboot), and you should be happy, happy, happy.
Note: (If you want KDE instead, replace gdm and gnome-core with kdm and kde-core.)
This will install a very stripped down version of the desktop environment. You will have to find the additional pieces for the functionality you require, but that's better than just absorbing all the junk that installs automatically with the gnome or kde metapackages.
A good way to look for additional desirable pieces of Gnome is:
$ aptitude search gnome-
I assume that kde components could be located similarly.
Debian is free (libre). Part of what that means is that no proprietary drivers are included. If you have hardware that requires such drivers, or could be improved by them, you'll have to add them yourself. Many other distributions include such components so the hardware works out-of-the-box. If you strongly prefer such convenience get another distro. No amount of grumbling by disenchanted newbies is going to change Debian in that way. The good news is that if another distro can use your hardware, so can Debian. You'll just have to set it up yourself.
Normally it should not be difficult. Many of the most common drivers are included in Debian's, contrib or non-free repositories. These include rt2500, madwifi, nvidia, fglrx, and others. Assuming you find the needed source code in Debian repos, the rest is easy. Using the rt2500 wireless lan driver as an example:
# aptitude install module-assistant build-essential rt2500-source
# module-assistant prepare
# m-a a-i rt2500
# modprobe -v rt2500
That should fix you up, and similar procedures should get other proprietary drivers working as well. If the needed driver is only available from other sources, there are lots of howtos available, but don't just depend on any set of instructions you find. Ask around for recommendations from people who have recently successfully installed similar hardware.
That should get you off to a good start. If you have additional questions or problems, these forums are an excellent place to get answers