A.4. Installer Debian GNU/Linux à partir d'un système Unix/Linux

Cette partie explique comment installer Debian GNU/Linux à partir d'un système Unix ou Linux existant, sans utiliser le système d'installation avec menu et basé sur ncurses, tel qu'expliqué dans la suite de ce manuel. Un guide d'installation était réclamé par les utilisateurs qui changeaient leur distribution Redhat, Mandrake et Suse pour Debian GNU/Linux. Dans cette partie, on suppose que le lecteur a acquis une certaine familiarité avec les commandes *nix et qu'il sait parcourir le système de fichiers. Dans cette partie, $ symbolise une commande qui devra être saisie dans le système actuel, alors que # fera référence à une commande qui devra être saisie dans le chroot Debian.

Une fois que vous aurez configuré le nouveau système Debian, vous pourrez y installer les données des utilisateurs (s'il y en a), et continuer à travailler. Debian GNU/Linux s'installe sans aucune interruption de service. C'est également une façon intelligente de résoudre les problèmes d'équipement qui d'ordinaire donnent du fil à retordre aux systèmes d'installation ou aux systèmes d'amorçage.

A.4.1. Pour commencer

Avec votre outil habituel de partitionnement *nix, partitionnez le disque dur et créez au moins un système de fichiers ainsi qu'une zone d'échange (swap). Vous devez disposer d'au moins 150 Mo pour l'installation d'un système en mode console et d'au moins 300 Mo si vous avez l'intention d'installer X.

Pour créer un système de fichiers sur vos partitions, par exemple, pour créer un système de fichiers ext3 sur la partition /dev/hda6 (ce sera la partition root dans notre exemple), il suffit de faire :


 $ mke2fs -j /dev/hda6

Pour créer un système de fichier ext2, il suffit d'enlever le -j.

Initialisez et activez la zone d'échange (swap) (modifiez le numéro de la partition en fonction de celui que vous souhaitez utiliser avec Debian) :


 $ mkswap /dev/hda5
 $ sync; sync; sync
 $ swapon /dev/hda5

Attachez une partition sur /mnt/debinst (le point d'installation, qui deviendra le système de fichier root (/) sur votre nouveau système). Le point de montage est totalement arbitraire, c'est de cette façon qu'on y fera référence par la suite.


 $ mkdir /mnt/debinst
 $ mount /dev/hda6 /mnt/debinst

A.4.2. Installer debootstrap

L'outil utilisé par l'installateur de Debian et reconnu comme outil officiel pour installer un système Debian de base s'appelle debootstrap. Il utilise wget, mais ne dépend que de la glibc. Installez wget s'il n'est pas déjà installé sur votre système, puis téléchargez et installez debootstrap.

Si vous possédez un système basé sur rpm, vous pouvez utiliser alien pour convertir le .deb en .rpm, ou télécharger une « version rpm-isée » depuis http://people.debian.org/~blade/install/debootstrap

Ou, vous pouvez utiliser la procédure qui suit pour l'installer vous-même. Créez un répertoire pour y décompresser le .deb :


 $ mkdir work
 $ cd work

Le programme debootstrap se trouve dans l'archive Debian (assurez-vous d'avoir sélectionné le fichier correspondant à votre architecture). Téléchargez le debootstrap .deb à partir de pool, copiez le paquet dans le répertoire work, et décompressez les fichiers binaires. Vous aurez besoin d'avoir les droits du super-utilisateur pour installer le binaire.


 $ ar -xf debootstrap_0.X.X_arch.deb
 $ cd /
 $ zcat < /full-path-to-work/work/data.tar.gz | tar xv

A.4.3. Lancer debootstrap (connecté au réseau)

Debootstrap peut télécharger les fichiers nécessaires directement depuis l'archive debian. Vous pouvez remplacer toutes les références à http.us.debian.org/debian dans les commandes ci-dessous, par un miroir de l'archive Debian qui se trouve à proximité de vous relativement au réseau. Les miroirs sont listés sur http://www.debian.org/misc/README.mirrors.

Si vous possédez une version cédérom de Debian GNU/Linux Woody, attachée sur /cdrom, vous pouvez remplacer l'URL http par l'URL d'un fichier : file:/cdrom/debian/

Dans la commande debootstrap remplacez ARCH par l'une des expressions suivantes : alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, ou sparc.


 $ /usr/sbin/debootstrap --arch ARCH woody \
     /mnt/debinst http://http.us.debian.org/debian

A.4.4. Lancer debootstrap (En utilisant basedebs.tar)

Debootstrap peut se servir du fichier basedebs.tar, si vous l'aviez téléchargé auparavant. Le fichier basedebs.tar est systématiquement généré en une seule fois, ainsi, vous obtiendrez la dernière version d'un système de base en faisant pointer debootstrap directement sur une archive Debian comme nous l'avons évoqué dans la partie précédente.

Le fichier basedebs.tar se situe dans le répertoire base-images-current de l'archive Debian correspondante à votre architecture, par exemple : http://http.us.debian.org/debian/dists/woody/main/disks-i386/base-images-current/basedebs.tar

Dans la commande debootstrap, remplacez ARCH par l'une des expressions suivantes : alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, ou sparc.

 
$ /usr/sbin/debootstrap --arch ARCH --unpack-tarball \
    /adresse-du-fichier/basedebs.tar woody /mnt/debinst

A.4.5. Configurer le sytème de base

Maintenant, que vous disposez d'un vrai système Debian, autant l'utiliser. Lancez le programme Chroot :


 $ chroot /mnt/debinst /bin/bash

A.4.5.1. Monter les partitions

Vous devez créer /etc/fstab.


 # editor /etc/fstab

Voici un exemple que vous pouvez modifier à votre convenance :


# /etc/fstab: static file system information.
#
# file system    mount point   type    options                  dump pass
/dev/XXX         /             ext2    defaults                 0    0
/dev/XXX         /boot         ext2    ro,nosuid,nodev          0    2

/dev/XXX         none          swap    sw                       0    0
proc             /proc         proc    defaults                 0    0

/dev/fd0         /mnt/floppy   auto    noauto,rw,sync,user,exec 0    0
/dev/cdrom       /mnt/cdrom    iso9660 noauto,ro,user,exec      0    0

/dev/XXX         /tmp          ext2    rw,nosuid,nodev          0    2
/dev/XXX         /var          ext2    rw,nosuid,nodev          0    2
/dev/XXX         /usr          ext2    rw,nodev                 0    2
/dev/XXX         /home         ext2    rw,nosuid,nodev          0    2

Utilisez mount -a pour monter l'ensemble des systèmes de fichiers que vous avez indiqué dans votre fichier /etc/fstab, ou alors pour monter un à un chaque système de fichiers utilisez :


 # mount /path  # e.g.:  mount /usr

Vous pouvez monter le système de fichiers proc plusieurs fois et à divers endroits, cependant on choisit d'habitude /proc. Si vous n'utilisez pas mount -a, assurez-vous d'avoir monté proc avant d'aller plus loin :


 # mount -t proc proc /proc

Un utilisateur de Red Hat signale que, sur son système, c'est :


 # mount -t none proc /proc

A.4.5.2. Configurer le clavier

Pour configurer votre clavier exécutez :


 # dpkg-reconfigure console-data

A.4.5.3. Configurer le réseau

Pour configurer le réseau, éditez les fichiers /etc/network/interfaces, /etc/resolv.conf, et etc/hostname.


 # editor /etc/network/interfaces 

Voici quelques exemples simples qui proviennent de /usr/share/doc/ifupdown/examples :

######################################################################
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# See the interfaces(5) manpage for information on what options are 
# available.
######################################################################

# We always want the loopback interface.
#
auto lo
iface lo inet loopback

# To use dhcp:
#
# auto eth0
# iface eth0 inet dhcp

# An example static IP setup: (broadcast and gateway are optional)
#
# auto eth0
# iface eth0 inet static
#     address 192.168.0.42
#     network 192.168.0.0
#     netmask 255.255.255.0
#     broadcast 192.168.0.255
#     gateway 192.168.0.1

Indiquez vos serveurs de noms et les directives search dans le fichier /etc/resolv.conf :


 # editor /etc/resolv.conf

Un simple /etc/resolv.conf :


# search hqdom.local\000
# nameserver 10.1.1.36
# nameserver 192.168.9.100

Indiquez le nom de votre système (de 2 à 63 caractères) :


 # echo DebianHostName > /etc/hostname

Si vous possédez plusieurs cartes réseau, faites en sorte d'indiquer par ordre les modules que vous voulez charger dans le fichier /etc/modules. De cette façon, lors du démarrage, chaque carte sera associée avec le nom d'interface (eth0, eth1, etc.) que vous souhaitiez.

A.4.5.4. Configurer le fuseau horaire, les utilisateurs et APT

Configurez le fuseau horaire, ajoutez un utilisateur normal, et choisissez vos sources apt en exécutant


 # /usr/sbin/base-config

A.4.5.5. Configurer les locales

Pour configurer les paramètres locaux, pour l'utilisation d'une autre langue que l'anglais, installez le paquet des locales puis configurez-le :


 # apt-get install locales
 # dpkg-reconfigure locales

NOTE : Vous devez au préalable configurer apt, c'est-à-dire lors de l'étape de configuration du système de base. Avant d'utiliser les locales avec un jeu de caractère différent de l'ASCII ou de latin1, veuillez consulter les HOWTO sur la localisation.

A.4.6. Installer un noyau

Si vous avez l'intention de démarrer ce système, vous aurez vraisemblablement besoin d'un noyau Linux ainsi que d'un gestionnaire de démarrage. Identifiez les versions « pré-packagées » des noyaux avec :


 # apt-cache search kernel-image

Puis installez celui que vous voulez en utilisant son nom de paquet.


 # apt-get install kernel-image-2.X.X-arch-etc

A.4.7. Configurer le gestionnaire de démarrage

Pour que votre système Debian GNU/Linux puisse démarrer, configurez le gestionnaire de démarrage pour qu'il charge le noyau installé avec votre nouvelle partition root.

Consultez le man lilo.conf pour les instructions de configuration du gestionnaire de démarrage. Si vous souhaitez conserver le système dont vous vous êtes servi pour installer Debian, ajoutez simplement une entrée pour l'installation de Debian dans votre lilo.conf actuel. Vous pouvez également le copier sur le nouveau système et l'éditer. Une fois que vous l'aurez modifié, lancez lilo (souvenez-vous que lilo utilise le fichier lilo.conf qui se trouve dans le même système que lui).

Voici un exemple simple de fichier :


boot=/dev/hda6
root=/dev/hda6
install=/boot/boot-menu.b
delay=20
lba32
image=/vmlinuz
label=Debian

FIXME: Someone may eventually supply an example for this architecture.