Debian

From ArsLinuxWiki

 

Contents

Debian Information

 

What is Debian?

From Debian.org:

The Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system that we have created is called Debian GNU/Linux, or simply Debian for short.

An operating system is the set of basic programs and utilities that make your computer run. At the core of an operating system is the kernel. The kernel is the most fundamental program on the computer and does all the basic housekeeping and lets you start other programs.

Debian systems currently use the Linux kernel. Linux is a piece of software started by Linus Torvalds and supported by thousands of programmers worldwide.

However, work is in progress to provide Debian for other kernels, primarily for the Hurd. The Hurd is a collection of servers that run on top of a microkernel (such as Mach) to implement different features. The Hurd is free software produced by the GNU project.

A large part of the basic tools that fill out the operating system come from the GNU project; hence the names: GNU/Linux and GNU/Hurd. These tools are also free.

Of course, the thing that people want is application software: programs to help them get what they want to do done, from editing documents to running a business to playing games to writing more software. Debian comes with over 8710 packages (precompiled software that is bundled up in a nice format for easy installation on your machine) — all of it free.

It's a bit like a tower. At the base is the kernel. On top of that are all the basic tools. Next is all the software that you run on the computer. At the top of the tower is Debian — carefully organizing and fitting everything so it all works together.

 

Why use Debian?

I think this is a question that many people ask when starting out in linux: Why use Debian? Why not the other bazillion distros? Well, following are some links to help with that. This might be considered advocacy, but i think its good to put in the wiki since these articles aren't all that one sided:

 

Debian distro Differences

A post from Debian Universe explains:

If you've been poking around the Debian universe you've probably heard references to things like Woody, Testing, Stable and Sid. Some Debian users say they run Woody, some say they run Potato, some say they run Testing. Pretty confusing, what's it all supposed to mean?

The Release Scheme

One of the big strengths of Debian is that it uses a 3-tier release scheme. Most distros have a current numbered release (such as 'RedHat 8.0') where anything older is considered obsolete and anything newer is hard to access for non-developers. Debian, on the other hand, uses a rolling release system with 3 current versions plus a growing number of obsolete versions. It can be a bit confusing at first, so try to stay with me here! It'll all make sense in a minute, I promise.

Each released version is numbered and given a code name. The code names are characters from the movie Toy Story, and at the time of writing the releases so far have been v1.1 (Buzz), v1.2 (Rex), v1.3 (Bo), v2.0 (Hamm), v2.1 (Slink), v2.2 (Potato), v3.0 (Woody), and v3.1 (Sarge).

The current released version is generally known as 'Stable', and the current stable at the time of writing is Sarge (Debian v3.1). If you get an official Debian CD, it will most likely be Sarge.

The current Stable release is the first of the three tiers in the Debian release scheme.

Then the next tier is the current pre-release version of Debian, which is generally known as 'Testing' and is essentially a continuously maintained candidate for what will eventually become the next Stable release. The code name for the current Testing is Etch, which when it is released will be promoted to become the new Stable and will be given the next release number, probably 3.2.

The final tier is what developers refer to as 'Unstable', which is where all the hot action takes place. Code named 'Sid' after the destructive kid in Toy Story that shouldn't be let out of the house, it's where developers place new and updated packages for other developers and the more adventurous users to test and help debug. The Unstable release is not intended for serious use on production machines since it changes daily and is prone to package breakage while kinks are worked out. However, many people run Unstable on their main machines and find it's actually more reliable than other more popular operating systems!

One other special tier that sits to one side and shouldn't be touched by normal users is 'Experimental', which is where developers put packages that are still under heavy development and probably won't play nicely if installed on a system in use. This generally applies to packages that are undergoing major changes such as to a totally new file format, and are quite likely to cause damage to existing data if you install them. The packages in Experimental are only for users who really know what they are doing and are wanting to help test and debug the very latest bleeding-edge software.

So to sum it up, here's the current situation:

 

Installing Debian

The best way is to use the new debian-installer. Since the installer is constantly being updated/improved, its sort of useless to write a guide on it since it will get outdated quickly. However, here are a few links to help with installation anyways (of course, do look in the "Documentation" section of the installer website first) :

 

Using Apt

There are plenty of very detailed Apt guides out there, for a more in depth and detailed guide, check out the Apt guide in this wiki or if you feel that you need to know it all, see the official debian.org guide

Also, if looking for a gui for apt, try to install either 'synaptic' or 'aptitude' (apt-get install synaptic aptitude).

On a side note, to find the fastest apt-mirrors, see the apt-spy or the netselect-apt utility. [Note: 'apt-spy' benchmarks the mirrors, and thus gives more accurate results but takes longer. 'Netselect-apt' just pings the mirrors, so its much faster, but not as accurate. If you're looking for a long term mirror(s), use 'apt-spy']. One drawback to using either method (apt-spy or netselect-apt) is that although you get a faster mirror, its not guaranteed that it would be a mirror that is in sync with the "official" debian ones below. So, in other words, it might or might not have all the updated packages available if its not in-sync. For getting the best up-to-date results, use the addresses below in sources.list.

 

Debian Sid

Here's a recommended /etc/apt/sources.list for Debian Sid.

##Main Debian
deb http://archive.progeny.com/debian/ unstable main contrib non-free
deb ftp://ftp.us.debian.org/debian/ unstable main contrib non-free
deb http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free
deb-src http://archive.progeny.com/debian/ unstable main contrib non-free
deb-src http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free

For mplayer and all the patent-encumbered codecs, which may not be legally distributable. You'll want to install w32codecs

#Mplayer
deb ftp://ftp.nerim.net/debian-marillat/ unstable main

Debian experimental branch Packages (Use at your own risk)

#Debian experimental
deb http://ftp.us.debian.org/debian ../project/experimental main contrib non-free

To install experimental packages, use the following syntax (after doing 'apt-get update'): :p>

apt-get install -t experimental <package name>

AdAdd the following line if you want to use php5

deb http://packages.dotdeb.org ./ 
deb-src http://sources.dotdeb.org ./

For SELinux on a 2.6 kernel using unstable, add this line

deb http://www.coker.com.au/newselinux/ ./

If you are using sid with a 2.4 kernel add this line. *Caution - these packages are no longer being updated

deb http://www.coker.com.au/oldselinux/ ./

 

Debian Sarge

Here's a recommended /etc/apt/sources.list for Debian Sarge.

#Main Debian
deb http://archive.progeny.com/debian/ sarge main contrib non-free
deb ftp://ftp.us.debian.org/debian/ sarge main contrib non-free
deb http://non-us.debian.org/debian-non-US sarge/non-US main contrib non-free
deb-src http://archive.progeny.com/debian/ sarge main contrib non-free
deb-src http://non-us.debian.org/debian-non-US sarge/non-US main contrib non-free

FFor mplayer and all the illegal codes. You'll want to install w32codecspan>

#Mplayer
deb ftp://ftp.nerim.net/debian-marillat/ sarge main

 

Unofficial APT repositories p>

ForFor a large list of 3rd party unofficial repositories go to apt-get.org

Also, if you are running Debian stable (sarge) and would like to use more recent programs, go to backports.org for more information.

 

Cloning Package Lists p>

You can replicate the installed packages on one machine to another. This is handy when you want multiple machines to have the same packages installed. Or if you're setting up a new machine and want all the old packages from your old machine.

On On the source machine do

dpkg --get-selections | grep '[[:space:]]install$' | awk '{print $1}' > packagelist.txt

then copy packagelist.txt to the target machine, then run this on the target machine

apt-get -uf install `cat packagelist.txt`

 

Updating Debian: Apt-get Upgrade? Dist-Upgrade?

To update packages in Debian, first update the local list of available packages:

apt-get updatep>

Then upgrade your packages based on this updated list:

apt-get upgrade

YouYou might sometimes see people recommending apt-get dist-upgrade for upgrades. Dist-upgrade is intended for use when one is migrating from one Debian repository to another, such as from Debian stable to Debian unstable. This is because dist-upgrade disregards any packages that might be held back due to dependency issues, new dependencies that need to be installed, or packages that need to be removed (often because they are replaced by new packages). This type of issue will usually occur when moving from one repository to another, so dist-upgrade purposely disregards those safeguards to smooth the migration.

When upgrading a system, dist-upgrade ends up disregarding those holds that protect you from upgrading a package prematurely. If you notice that a package is held back when you are upgrading, after the upgrade is finished attempt to apt-get install that package by itself and note why the package was held back. It might just be that the package has a new dependency that must be installed. Usually it's safe to proceed in that case. In the case that a package is held back because other required packages haven't been updated yet, just wait a few days for those packages to be upgraded. In the case that a package requires a dependency to now be removed, you might want to check with bugs.debian.org before upgrading.

In any of these cases, installing held back packages by themselves ensures that should something break after an install, that the cause is easier to track down.

 

GUIs and the X Windows System p>

This article is in need of attention.

Please improve it and then remove this notice.

ManMany might ask what is the X Window System? It is the base of your GUI. Unless you plan to use the machine without a GUI e.g. text based it is generaly a good idea to install it. get root access

su

it will ask for the administrator password

apt-get install x-window-system-core

and answer Y to the question Answer the questions the dialog asks about your system and how you want it setup. That's it for installing X. Check it out by running startx if you want. Its nothing special so if you want something beefier then you can use apt-get to install it. To get out of X, press crtl+alt+F1 to go back to the command prompt. For light weight systems as in the machine your running has a sub P3 and is equal to or less then 128MB RAM its best to install fluxbox

apt-get install fluxbox   

To run fluxbox you just type

fluxbox

at the command prompt For more powerful systems, GNOME is a fairly nice desktop environment p>

apt-get install gnome

AnsAnswer the questions the dialog asks about your setup. If it asks you what the default desktop manager should be, select gdm I would suggest a desktop manager for signing in to your system

apt-get install gdm

now just type

gdm

and you'll be brought up to a graphical login screen. When you login you get into the Gnome GUI or what ever is the default GUI. Don't worry this will be setup as your defaul means of login from now on. Next time you start up the machine and goes through the boot sequence it will take you to this login screen.

 

Java 1.5

 

The Official Method p>

The method briefly outlined in this section was adapted directly from the excellent Java page from serios.net, and you should read the page carefully if you run into any problems. I've outlined the quick process, but there is extensive troubleshooting information in the origional page.

In short, Sun's license doesn't allow the redistribution of binary packages (for their own, crazy reasons), so you have to create your own Java package, which is very simple. p>

# apt-get install java-package fakeroot
$ fakeroot make-jpkg jre-1_5_0_01-linux-i586.bin
# dpkg -i sun-j2re1.5_1.5.0+update01_i386.deb
# apt-get install sun-j2re1.5debianp>

Running the first command may give you an error, but that's OK, just do the second one. If you are still worried about the error from the first file, you can make sure everything is fixed via:

# apt-get -f install

That's it! Check to make sure everything worked like you expected by checking the -version, which should give you something like:

$ java -version
java version "1.5.0_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_01-b08)
JavJava HotSpot(TM) Client VM (build 1.5.0_01-b08, mixed mode, sharing)

Note that you can copy the java .deb file you created to other machines you own, so you only need to run the last two commands on those boxes. Simplicity itself!

 

Browser Plugins

On my machines, everything worked automagically (Firefox 1.0 and Konqueror 3.3.2). Your mileage may vary, and I refer you to the origional link above for additional information.

 

Quick & Dirty p>

ThiThis is a prepackaged java .deb from some random stranger.

Download the Java SDK (Debian Package 59MB) http://davyd.ucc.asn.au/projects/misc/sun-j2sdk1.5_1.5.0_i386.deb

Install the SDK with dpkg -i sun-j2sdk1.5_1.5.0_i386.deb

It will complain of unresolved dependancies, so apt-get install sun-j2sdk1.5debian , make sure you have contrib in your sources.list.

 

Debian /etc/network/interfaces

This article is in need of attention. pan>

PlePlease improve it and then remove this notice.

There are a variety of ways you can configure interfaces in Debian.

First of all, don't forget to put in an 'auto' stanza, to bring up your interfaces automatically. p>

auto eth0

TheThen pick the right method used for the network you are in, to configure your ip-address

Dynamic with DHCPpan>

iface eth0 inet dhcp

staticpan>

iface eth0 inet static
   address 1.2.3.4
   netmask 255.255.255.0
   network 1.2.3.0
   broadcast 1.2.3.255
   gateway 1.2.3.1

Wireless w/WEPpan>

iface eth0 inet dhcp
   wireless_mode   managed
   wireless_nick   my_nick
   wireless_essid  not_default
   wireless_key    open "my_sekrit_key"
   wireless_rate   auto

Another Way to Wireless(tm)pan> <

iface eth0 inet dhcp
   pre-up iwconfig eth0 essid "not_default"

Secondary addresses (for applications, for instance)

iface eth0:1 inet static
   address 1.2.3.5
   netmask 255.255.255.0
   network 1.2.3.0
   broadcast 1.2.3.255
   gateway 1.2.3.1
   up /etc/init.d/bind9 start                   # start dns server on starting interface
   up   route add -net 1.2.4.0/24 gw 1.2.3.111  # add static routes
   up   route add -net 1.2.5.0/24 gw 1.2.3.112
   down /etc/init.d/bind9 stop                  # stop dns server on stopping interface
   down route del -net 1.2.4.0/24 gw 1.2.3.111  # remove static routes
   down route del -net 1.2.5.0/24 gw 1.2.3.112

or

iface eth0:2 inet dhcp

(unlikely) or

iface lo:1 inet dhcp

(for VPN's, not tested)


DonDon't forget your auto stanza!

Retrieved from "Debian"

 

God soul   science fiction   humanity   human life   sense of life   life after death   time machine