Avant propos
Cet article fait suite à l’article sur la préparation du disque dur ; dans cet article nous avons préparé les partitions de la façon suivante :
/dev/hdb2 / => A monter sur /mnt
/dev/hdb1 /boot => A monter sur /mnt/boot
/dev/hdb5 /usr => A monter sur /mnt/usr
/dev/hdb6 /opt => A monter sur /mnt/opt
/dev/hdb7 /var => A monter sur /mnt/var
/dev/hdb8 swap => A ne pas monter immédiatement
/dev/hdb9 /home => A monter sur /mnt/home
Création de l’arborescence de destination
Pour démarrer, nous allons utiliser /mnt comme étant l’emplacement provisoire de notre partition racine /. Après avoir vérifié que /mnt était vide et qu’il n’est pas déjà monté sur le système courant, nous allons monter notre partition /dev/hdb2 sur /mnt :
# mount -t auto /dev/hdb2 /mnt
A présent, nous allons créer les sous-répertoires qui nous interessent et monter chaque partition dans leur emplacement provisoire :
# mkdir /mnt/boot
# mount -t auto /dev/hdb1 /mnt/boot
# mkdir /mnt/usr
# mount -t auto /dev/hdb5 /mnt/usr
# mkdir /mnt/opt
# mount -t auto /dev/hdb6 /mnt/opt
# mkdir /mnt/var
# mount -t auto /dev/hdb7 /mnt/var
# mkdir /mnt/home
# mount -t auto /dev/hdb9 /mnt/home
Installation de debootstrap
Pour installer une distribution Debian depuis une autre Debian, c’est assez facile, mais il faut savoir que ce type de procédure est identique quel que soit l’architecture cible, et le système Unix utilisé. Tout dépends du binaire debootstrap qui a été porté sur de multiples plateformes. Je vous recommende vivement de lire l’article original sur le site de Debian.
# mount /usr -o remount,rw
# apt-get install debootstrap
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Les NOUVEAUX paquets suivants seront installés :
debootstrap
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0o/72,2ko dans les archives.
Après dépaquetage, 193ko d'espace disque supplémentaires seront utilisés.
Sélection du paquet debootstrap précédemment désélectionné.
(Lecture de la base de données... 22915 fichiers et répertoires déjà installés.)
Dépaquetage de debootstrap (à partir de .../debootstrap_0.2.45-0.2_i386.deb) ...
Paramétrage de debootstrap (0.2.45-0.2) ...
#
# mount /usr -o remount,ro
Installation du système de base via debootstrap
Je réalise cette installation sur le mode opératoire de la mini-distrib nommée Voyage Linux ; Dans cette distribution, il existe un script d’installation utilisant debootstrap et qui fait le tri sur les éléments que l’on ne souhaites pas installer. J’ai trouvé l’idée plutôt sympathique.
# export EXCLUDE="at,cpio,bsdmainutils,debconf-i18n,groff-base,ed,fdutils,info,libident,\
libpcre3,logrotate,libtext-charwidth-perl,libtext-iconv-perl,\
libtext-wrapi18n-perl,mailx,man-db,manpages,nano,nvi,syslinux,\
exim4,exim4-base,exim4-config,exim4-daemon-light,\
aptitude,tasksel,base-config,psmisc,liblocale-gettext-perl,\
libsigc++-1.2-5c102,console-data,console-data,console-tools,console-common,\
ipchains,apt-utils,libgcrypt7,libgcrypt11,libopencdk8,libgnutls10,libgnutls11,\
liblzo1,liblockfile1,libgdbm3,libgpg-error0,libtasn1-2,libtextwrap1,\
libconsole,libdb4.2"
# export INCLUDE="bridge-utils,debconf-i18n,dnsmasq,dhcp-client,elvis-tiny,\
iproute,libsysfs1,libatm1,logrotate,ntpdate,\
hotplug,udev,ssh,pptpd,ebtables,ifenslave-2.6"
# export EXTRA_PKGS="hostap-utils,hostapd,wpasupplicant,\
pcmcia-cs,psmisc,watchdog,bzip2,nocatsplash,wireless-tools,\
less,traceroute,quagga,openswan"
# export DIST="sarge"
# export DEST="/mnt"
# export MIRROR="ftp://ftp.fr.debian.org/debian"
# export BOOTSTRAP_OPT="--verbose"
# export DEBIAN_FRONTEND=noninteractive
# debootstrap --exclude=$EXCLUDE --include=$INCLUDE --arch i386 $DIST $DEST $MIRROR
[... Bla Bla Bla ...]
I: Base system installed successfully.
umount: /mnt/dev/pts: not mounted
umount: /mnt/dev/shm: not mounted
umount: /mnt/proc/bus/usb: not mounted
Préparer le fichier /mnt/etc/fstab
Nous allons préparer le fichier /mnt/etc/fstab, afin de définir quelles partitions seront montées, sur quel point de montage, et en utilisant quel système de fichier :
# vi /mnt/etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/hda8 none swap sw 0 0
/dev/hda2 / ext3 defaults,errors=remount-ro 0 1
tmpfs /tmp tmpfs size=20M,mode=1777 0 0
/dev/hda1 /boot ext3 defaults,ro,noauto 0 2
/dev/hda5 /usr reiserfs defaults,ro,notail 0 2
/dev/hda6 /opt reiserfs defaults,ro,notail 0 2
/dev/hda7 /var xfs defaults,noatime 0 2
/dev/hda9 /home xfs defaults,noatime 0 2
/dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
:wq!
# chmod 644 /mnt/etc/fstab
# chown root:root /mnt/etc/fstab
Comme vous pouvez le constater, vu que ce disque dur est censé devenir le disque de boot, et qu’il sera plaçé en disque maître sur le premier controleur IDE, j’ai donc remplaçé les hdb par des hda, supprimé toutes occurences à /mnt, et créé un système de fichier temporaire, utilisant 20Mo de mémoire RAM pour le dossier /tmp.
préparer APT
Comme mon système est une Debian, je n’ai qu’à copier le fichier /etc/apt/sources.list dans /mnt/etc/apt ; Toutefois, si votre système n’est pas une Debian Sarge, vous pouvez créer ce fichier :
# touch /mnt/etc/apt/sources.list
# chmod 644 /mnt/etc/apt/sources.list
# chown root:root /mnt/etc/apt/sources.list
# vi /mnt/etc/apt/sources.list
#...............................................................................
# Version SARGE
#...............................................................................
deb http://ftp.fr.debian.org/debian/ sarge main contrib
deb http://ftp.fr.debian.org/debian/ sarge-proposed-updates main contrib
deb-src http://ftp.fr.debian.org/debian sarge main contrib
#...............................................................................
# Packages MAJ Securité
#...............................................................................
deb http://security.debian.org/ sarge/updates main contrib
:wq!
Définir le nom
Pour définir le nom de ce hosts, il suffit de créer un fichier /mnt/etc/hosts :
# vi /mnt/etc/hosts
127.0.0.1 localhost.localdoman localhost debian01
:wq!
Changer de racine
Pour changer de racine active, il suffit d’invoquer la commande chroot :
# chroot /mnt /bin/su
# mount /tmp -o size=50M,mode=1777,noatime
# mount -t proc none /proc
Renseigner le fichier des paramètres réseau
Ce fichier est le fichier /etc/network/interfaces
# vi /etc/network/interfaces
This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
:wq!
Profitons en pour installer le client DHCP :
# apt-get install dhcp3-client
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Les paquets supplémentaires suivants seront installés:
dhcp3-common
Paquets suggérés:
resolvconf
Les paquets suivants seront ENLEVES:
dhcp-client
Les NOUVEAUX paquets suivants seront installés:
dhcp3-client dhcp3-common
0 mis à jour, 2 nouvellement installés, 1 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 590ko dans les archives.
Après dépaquetage, 1005ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] O
Réception de : 1 http://ftp.fr.debian.org sarge/main dhcp3-common 3.0.1-2 [174kB]
Réception de : 2 http://ftp.fr.debian.org sarge/main dhcp3-client 3.0.1-2 [416kB]
590ko réceptionnés en 3s (160ko/s)
debconf: la configuration des paquets est reportée, car apt-utils n'est pas installé
(Lecture de la base de données... 8209 fichiers et répertoires déjà installés.)
Suppression de dhcp-client ...
Sélection du paquet dhcp3-common précédemment désélectionné
(Lecture de la base de données... 8194 fichiers et répertoires déjà installés.)
Dépaquetage de dhcp3-common (à partir de .../dhcp3-common_3.0.1-2_i386.deb) ...
Sélection du paquet dhcp3-client précédemment désélectionné
Dépaquetage de dhcp3-client (à partir de .../dhcp3-client_3.0.1-2_i386.deb) ...
Paramétrage de dhcp3-common (3.0.1-2) ...
Paramétrage de dhcp3-client (3.0.1-2) ...
Fichier de configuration /etc/dhcp3/dhclient.conf
==> Fichier du système créé par vous ou par un script.
==> Fichier également présent dans le paquet fourni par le responsable du paquet.
Que voulez-vous faire ? Vos options sont les suivantes :
Y ou I : installer la version du responsable du paquet
N ou O : garder votre version actuellement install
D : afficher les différences entre les versions
Z : suspendre ce processus pour examiner la situation
L'action par défaut garde votre version actuelle.
*** dhclient.conf (Y/I/N/O/D/Z) [défaut=N] ? Y
Installation de la nouvelle version du fichier de configuration /etc/dhcp3/dhclient.conf ...
Mettre à jour le système APT
La commande est desormais classique :
# apt-get update
Get:1 http://ftp.fr.debian.org sarge/main Packages [4535kB]
Get:2 http://security.debian.org sarge/updates/main Packages [405kB]
Get:3 http://security.debian.org sarge/updates/main Release [110B]
Get:4 http://security.debian.org sarge/updates/contrib Packages [621B]
Get:5 http://security.debian.org sarge/updates/contrib Release [113B]
Get:6 http://ftp.fr.debian.org sarge/main Release [95B]
Get:7 http://ftp.fr.debian.org sarge/contrib Packages [74.0kB]
Get:8 http://ftp.fr.debian.org sarge/contrib Release [98B]
Get:9 http://ftp.fr.debian.org sarge-proposed-updates/main Packages [78.3kB]
Get:10 http://ftp.fr.debian.org sarge-proposed-updates/main Release [111B]
Get:11 http://ftp.fr.debian.org sarge-proposed-updates/contrib Packages [20B]
Get:12 http://ftp.fr.debian.org sarge-proposed-updates/contrib Release [114B]
Get:13 http://ftp.fr.debian.org sarge/main Sources [1322kB]
Get:14 http://ftp.fr.debian.org sarge/main Release [97B]
Get:15 http://ftp.fr.debian.org sarge/contrib Sources [24.8kB]
Get:16 http://ftp.fr.debian.org sarge/contrib Release [100B]
Fetched 6440kB in 26s (240kB/s)
Reading Package Lists... Done
Générer les locales
# apt-get install debconf-i18n liblocale-gettext-perl libtext-iconv-perl libtext-wrapi18n-perl libtext-charwidth-perl
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
debconf-i18n liblocale-gettext-perl libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl
0 upgraded, 5 newly installed, 0 to remove and 3 not upgraded.
Need to get 144kB of archives.
After unpacking 1032kB of additional disk space will be used.
Get:1 http://ftp.fr.debian.org sarge/main liblocale-gettext-perl 1.01-17 [16.8kB]
Get:2 http://ftp.fr.debian.org sarge/main libtext-iconv-perl 1.2-3 [12.2kB]
Get:3 http://ftp.fr.debian.org sarge/main libtext-charwidth-perl 0.04-1 [11.0kB]
Get:4 http://ftp.fr.debian.org sarge/main libtext-wrapi18n-perl 0.06-1 [8442B]
Get:5 http://ftp.fr.debian.org sarge/main debconf-i18n 1.4.30.13 [95.3kB]
Fetched 144kB in 1s (73.6kB/s)
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "fr_FR",
LC_ALL = "fr_FR",
LC_PAPER = "fr_FR",
LC_ADDRESS = "fr_FR",
LC_MONETARY = "fr_FR",
LC_NUMERIC = "fr_FR",
LC_TELEPHONE = "fr_FR",
LC_MESSAGES = "fr_FR",
LC_IDENTIFICATION = "fr_FR",
LC_COLLATE = "fr_FR",
LC_MEASUREMENT = "fr_FR",
LC_CTYPE = "fr_FR",
LC_TIME = "fr_FR",
LC_NAME = "fr_FR",
LANG = "fr_FR"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously deselected package liblocale-gettext-perl.
(Reading database ... 5790 files and directories currently installed.)
Unpacking liblocale-gettext-perl (from .../liblocale-gettext-perl_1.01-17_i386.deb) ...
Selecting previously deselected package libtext-iconv-perl.
Unpacking libtext-iconv-perl (from .../libtext-iconv-perl_1.2-3_i386.deb) ...
Selecting previously deselected package libtext-charwidth-perl.
Unpacking libtext-charwidth-perl (from .../libtext-charwidth-perl_0.04-1_i386.deb) ...
Selecting previously deselected package libtext-wrapi18n-perl.
Unpacking libtext-wrapi18n-perl (from .../libtext-wrapi18n-perl_0.06-1_all.deb) ...
Selecting previously deselected package debconf-i18n.
Unpacking debconf-i18n (from .../debconf-i18n_1.4.30.13_all.deb) ...
Setting up liblocale-gettext-perl (1.01-17) ...
Setting up libtext-iconv-perl (1.2-3) ...
Setting up libtext-charwidth-perl (0.04-1) ...
Setting up libtext-wrapi18n-perl (0.06-1) ...
Setting up debconf-i18n (1.4.30.13) ...
# apt-get install locales
[ ... Bla Bla Bla ...]
Generating locales...
fr_FR.ISO-8859-1... done
fr_FR.UTF-8... done
fr_FR.UTF-8@euro... done
fr_FR.ISO-8859-15@euro... done
Generation complete.
Dans les menus qui vous sont proposés, selectionnez les entrées "fr_FR" , "fr_FR.UTF-8", "fr_FR.UTF-8@euro" et enfin "fr_FR@euro", puis choisissez "fr_FR" comme locale par défaut.
A présent, faites correspondre le fichier /etc/profile au format suivant :
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11"
else
PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
fi
if [ "$PS1" ]; then
if [ "$BASH" ]; then
PS1='\u@\h:\w\$ '
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
export PATH
umask 022
export LANG=fr_FR
export LANGUAGE=fr_FR
export LC_CTYPE=fr_FR
export LC_NUMERIC=fr_FR
export LC_TIME=fr_FR
export LC_COLLATE=fr_FR
export LC_MONETARY=fr_FR
export LC_MESSAGES=fr_FR
export LC_PAPER=fr_FR
export LC_NAME=fr_FR
export LC_ADDRESS=fr_FR
export LC_TELEPHONE=fr_FR
export LC_MEASUREMENT=fr_FR
export LC_IDENTIFICATION=fr_FR
export LC_ALL=fr_FR
export JAVA_HOME=/opt/java/
# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
export PATH=~/bin:"${PATH}"
fi
# do the same with MANPATH
if [ -d ~/man ]; then
export MANPATH=~/man:"${MANPATH}"
fi
Paramétrer la console avec le bon clavier
Ce qu’il faut maintenant savoir, c’est que lorsque nous allons re-démarer sur notre nouveau disque dur, notre console ne prendra pas en compte un clavier AZERTY, mais QWERTY. Il nous faut l’indiquer par le biais des packages console-data ; Un simple apt-get install console-data nous donnera un menu permettant de Choisir un codage clavier pour votre architecture, puis de choisir une disposition clavier AZERTY avec des touches French et la variante With Euro (latin 9).
Installer noyau
Avant d’installer un quelconque noyau, nous devons controler sa procédure d’installation ; Pour cela, éditez le nouveau fichier nommé /etc/kernel-img.conf :
# vi /etc/kernel-img.conf
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = yes
postinst_hook = /sbin/update-grub
postrm_hook = /sbin/update-grub
Il est temps d’installer un noyau :
# apt-get install kernel-image-2.6-686
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Les paquets supplémentaires suivants seront installés :
cpio cramfsprogs dash initrd-tools kernel-image-2.6.8-3-686 module-init-tools
Paquets suggérés :
lilo grub fdutils kernel-doc-2.6.8 kernel-source-2.6.8
Les NOUVEAUX paquets suivants seront installés :
cpio cramfsprogs dash initrd-tools kernel-image-2.6-686 kernel-image-2.6.8-3-686 module-init-tools
0 mis à jour, 7 nouvellement installés, 0 à enlever et 3 non mis à jour.
Il est nécessaire de prendre 15,8Mo dans les archives.
Après dépaquetage, 46,1Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] O
Réception de : 1 http://ftp.fr.debian.org sarge/main dash 0.5.2-5 [83,0kB]
Réception de : 2 http://ftp.fr.debian.org sarge/main cpio 2.5-1.3 [64,9kB]
Réception de : 3 http://ftp.fr.debian.org sarge/main module-init-tools 3.2-pre1-2 [73,1kB]
Réception de : 4 http://ftp.fr.debian.org sarge/main cramfsprogs 1.1-6 [21,3kB]
Réception de : 5 http://ftp.fr.debian.org sarge/main initrd-tools 0.1.81.1 [30,7kB]
Réception de : 6 http://ftp.fr.debian.org sarge-proposed-updates/main kernel-image-2.6.8-3-686 2.6.8-16sarge5 [15,5MB]
Réception de : 7 http://ftp.fr.debian.org sarge/main kernel-image-2.6-686 101sarge1 [2182B]
15,8Mo réceptionnés en 60s (260ko/s)
debconf: la configuration des paquets est reportée, car apt-utils n'est pas installé
Sélection du paquet dash précédemment désélectionné.
(Lecture de la base de données... 6348 fichiers et répertoires déjà installés.)
Dépaquetage de dash (à partir de .../archives/dash_0.5.2-5_i386.deb) ...
Sélection du paquet cpio précédemment désélectionné.
Dépaquetage de cpio (à partir de .../archives/cpio_2.5-1.3_i386.deb) ...
Sélection du paquet module-init-tools précédemment désélectionné.
Dépaquetage de module-init-tools (à partir de .../module-init-tools_3.2-pre1-2_i386.deb) ...
Sélection du paquet cramfsprogs précédemment désélectionné.
Dépaquetage de cramfsprogs (à partir de .../cramfsprogs_1.1-6_i386.deb) ...
Sélection du paquet initrd-tools précédemment désélectionné.
Dépaquetage de initrd-tools (à partir de .../initrd-tools_0.1.81.1_i386.deb) ...
Sélection du paquet kernel-image-2.6.8-3-686 précédemment désélectionné.
Dépaquetage de kernel-image-2.6.8-3-686 (à partir de .../kernel-image-2.6.8-3-686_2.6.8-16sarge5_i386.deb) ...
Sélection du paquet kernel-image-2.6-686 précédemment désélectionné.
Dépaquetage de kernel-image-2.6-686 (à partir de .../kernel-image-2.6-686_101sarge1_i386.deb) ...
Paramétrage de dash (0.5.2-5) ...
Paramétrage de cpio (2.5-1.3) ...
Paramétrage de module-init-tools (3.2-pre1-2) ...
Paramétrage de cramfsprogs (1.1-6) ...
Paramétrage de initrd-tools (0.1.81.1) ...
Paramétrage de kernel-image-2.6.8-3-686 (2.6.8-16sarge5) ...
You are attempting to install a kernel version that is the same as
the version you are currently running (version 2.6.8-3-686). The modules
list is quite likely to have been changed, and the modules dependency
file /lib/modules/2.6.8-3-686/modules.dep needs to be re-built. It can
not be built correctly right now, since the module list for the
running kernel are likely to be different from the kernel installed.
I am creating a new modules.dep file, but that may not be
correct. It shall be regenerated correctly at next reboot.
I repeat: you have to reboot in order for the modules file to be
created correctly. Until you reboot, it may be impossible to load
some modules. Reboot as soon as this install is finished (Do not
reboot right now, since you may not be able to boot back up until
installation is over, but boot immediately after). I can not stress
that too much. You need to reboot soon.
Please Hit return to continue.
/boot/initrd.img does not exist. Installing from scratch, eh?
Or maybe you don't want a symbolic link here. Hmm? Lets See.
/boot/vmlinuz does not exist. Installing from scratch, eh?
Or maybe you don't want a symbolic link here. Hmm? Lets See.
Paramétrage de kernel-image-2.6-686 (101sarge1) ...
Installer les binaires de GRUB
L’installation de GRUB au niveau de l’environnement "chrooté" consiste à simplement installer les bianires de ce dernier :
# apt-get install grub
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Paquets suggérés :
grub-doc grubconf
Les NOUVEAUX paquets suivants seront installés :
grub
0 mis à jour, 1 nouvellement installés, 0 à enlever et 3 non mis à jour.
Il est nécessaire de prendre 353ko dans les archives.
Après dépaquetage, 762ko d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://ftp.fr.debian.org sarge/main grub 0.95+cvs20040624-17sarge1 [353kB]
353ko réceptionnés en 2s (134ko/s)
debconf: la configuration des paquets est reportée, car apt-utils n'est pas installé
Sélection du paquet grub précédemment désélectionné.
(Lecture de la base de données... 8155 fichiers et répertoires déjà installés.)
Dépaquetage de grub (à partir de .../grub_0.95+cvs20040624-17sarge1_i386.deb) ...
Paramétrage de grub (0.95+cvs20040624-17sarge1) ...
Nettoyage de l’installation
A présent, nous allons nous occuper de nettoyer cette installation, afin qu’elle tienne sur un minimum de place ; Pour commencer, nous allons mettre à jour le système :
# apt-get dist-upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Calcul de la mise à jour... Fait
Les paquets suivants seront mis à jour :
gzip libgcc1 libssl0.9.7
3 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 2417ko dans les archives.
Après dépaquetage, 119ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] O
Réception de : 1 http://ftp.fr.debian.org sarge-proposed-updates/main gzip 1.3.5-10sarge2 [71,2kB]
Réception de : 2 http://ftp.fr.debian.org sarge-proposed-updates/main libgcc1 1:3.4.3-13sarge1 [80,5kB]
Réception de : 3 http://ftp.fr.debian.org sarge-proposed-updates/main libssl0.9.7 0.9.7e-3sarge4 [2265kB]
2417ko réceptionnés en 17s (139ko/s)
debconf: la configuration des paquets est reportée, car apt-utils n'est pas installé
(Lecture de la base de données... 8197 fichiers et répertoires déjà installés.)
Préparation du remplacement de gzip 1.3.5-10sarge1 (en utilisant .../gzip_1.3.5-10sarge2_i386.deb) ...
Dépaquetage de la mise à jour de gzip ...
Paramétrage de gzip (1.3.5-10sarge2) ...
(Lecture de la base de données... 8197 fichiers et répertoires déjà installés.)
Préparation du remplacement de libgcc1 1:3.4.3-13 (en utilisant .../libgcc1_1%3a3.4.3-13sarge1_i386.deb) ...
Dépaquetage de la mise à jour de libgcc1 ...
Paramétrage de libgcc1 (3.4.3-13sarge1) ...
(Lecture de la base de données... 8197 fichiers et répertoires déjà installés.)
Préparation du remplacement de libssl0.9.7 0.9.7e-3sarge1 (en utilisant .../libssl0.9.7_0.9.7e-3sarge4_i386.deb) ...
Dépaquetage de la mise à jour de libssl0.9.7 ...
Paramétrage de libssl0.9.7 (0.9.7e-3sarge4) ...
Maintenant, nous allons installer localepurge ; Ce programme permet de retirer les locales que nous n’utilisons pas, ainsi que les pages de manuels d’une autre langue.
Lors de cette installation, vérifiez simplement qu’aucune autre locale que "fr", "fr_FR", "fr_FR@euro", "fr_FR.UTF-8" et "fr_FR.UTF-8@euro" n’est sélectionnée, et répondre "Oui" à la question concernant la suppression des pages de manuel.
# apt-get install localepurge
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Paquets suggérés :
debfoster deborphan
Les NOUVEAUX paquets suivants seront installés :
localepurge
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 30,5ko dans les archives.
Après dépaquetage, 78,8ko d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://ftp.fr.debian.org sarge/main localepurge 0.0.74 [30,5kB]
30,5ko réceptionnés en 0s (52,7ko/s)
debconf: la configuration des paquets est reportée, car apt-utils n'est pas installé
Sélection du paquet localepurge précédemment désélectionné.
(Lecture de la base de données... 8197 fichiers et répertoires déjà installés.)
Dépaquetage de localepurge (à partir de .../localepurge_0.0.74_all.deb) ...
Paramétrage de localepurge (0.0.74) ...
A présent, il convient d’executer le programme localepurge au moins une fois :
# localepurge
localepurge: Disk space freed in /usr/share/locale: 17460K
localepurge: Disk space freed in /usr/share/man: 616K
Total disk space freed by localepurge: 18076K
Maintenant, nettoyons le cache d’APT
# apt-get --purge clean
Indiquez un mot de passe root
Avant de pouvoir indiquer un mot de passe à l’utilisateur root, il convient d’utiliser les "shadow password", qui se traduit par la création d’un fichier lisible uniquement par root et qui contient la liste des mots de passe affectés aux utilisateurs. Pour que cette liste soit prise en compte, il nous faut aussi modifier le fichier /etc/passwd en indiquant un "x" après le login et en lieu et place du caractère "*" ou " !" existant.
# touch /etc/shadow
# chown root:shadow /etc/shadow
# chmod 640 /etc/shadow
# vi /etc/shadow
root:*:13021:0:99999:7:::
daemon:*:13021:0:99999:7:::
bin:*:13021:0:99999:7:::
sys:*:13021:0:99999:7:::
sync:*:13021:0:99999:7:::
games:*:13021:0:99999:7:::
man:*:13021:0:99999:7:::
lp:*:13021:0:99999:7:::
mail:*:13021:0:99999:7:::
news:*:13021:0:99999:7:::
uucp:*:13021:0:99999:7:::
proxy:*:13021:0:99999:7:::
www-data:*:13021:0:99999:7:::
backup:*:13021:0:99999:7:::
list:*:13021:0:99999:7:::
irc:*:13021:0:99999:7:::
gnats:*:13021:0:99999:7:::
sshd:!:13021:0:99999:7:::
nobody:*:13021:0:99999:7:::
:wq!
# cp -a /etc/shadow /etc/shadow-
# vi /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
sshd:x:100:65534::/var/run/sshd:/bin/false
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
:wq!
# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
# cp -a /etc/passwd /etc/passwd-
# cp -a /etc/shadow /etc/shadow-
Assurons nous d’avoir bien paramétré les
shadow password en répondant aux questions :
# dpkg-reconfigure passwd
Installation du bootloader
Il est temps de quitter l’environnement "chrooté" et d’installer GRUB sur le secteur de boot.
# exit
exit
debian01:/tmp#
Installons GRUB sur le secteur de démarrage :
debian01:/tmp# grub-install --recheck --root-directory=/mnt /dev/hdb
Probing devices to guess BIOS drives. This may take a long time.
Due to a bug in xfs_freeze, the following command might produce a segmentation
fault when /mnt/boot/grub is not in an XFS filesystem. This error is harmless and
can be ignored.
xfs_freeze: specified file ["/mnt/boot/grub"] is not on an XFS filesystem
Installation finished. No error reported.
This is the contents of the device map /mnt/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.
(fd0) /dev/fd0
(hd0) /dev/hda
(hd1) /dev/hdb
Créons le fichier /mnt/boot/grub/menu.lst :
# vi /mnt/boot/grub/menu.lst
default 0
timeout 5
color cyan/blue white/blue
### BEGIN AUTOMAGIC KERNELS LIST
title Debian GNU/Linux, kernel 2.6.8-3-686
root (hd0,0)
kernel /vmlinuz-2.6.8-3-686 root=/dev/hda2 ro
initrd /initrd.img-2.6.8-3-686
savedefault
boot
title Debian GNU/Linux, kernel 2.6.8-3-686 (recovery mode)
root (hd0,0)
kernel /vmlinuz-2.6.8-3-686 root=/dev/hda2 ro single
initrd /initrd.img-2.6.8-3-686
savedefault
boot
### END DEBIAN AUTOMAGIC KERNELS LIST
:wq!
# chmod 644 /mnt/boot/grub/menu.lst
# chown root:root /mnt/boot/grub/menu.lst
A présent, nous devons executer GRUB pour installer le secteur de boot :
# grub
GNU GRUB version 0.95 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> root (hd1,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd1)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd1)"... 16 sectors are embedded.
succeeded
Running "install /grub/stage1 (hd1) (hd1)1+16 p (hd1,0)/grub/stage2 /grub/menu.lst"... succeeded
Done.
grub> quit
#
Voilà, il ne vous reste plus qu’à arrêter le système, intervertir les disque, puis re-démarrer sur le nouveau disque. L’installation Debian cité lors de cet article est très minimaliste, et occupe la taille suivante :
du -sk /mnt/home
0 /mnt/home
# du -sk /mnt/var
36136 /mnt/var
# du -sk /mnt/opt
0 /mnt/opt
# du -sk /mnt/usr
42272 /mnt/usr
# du -sk /mnt/boot
6785 /mnt/boot
# umount /mnt/home
# umount /mnt/var
# umount /mnt/opt
# umount /mnt/usr
# umount /mnt/boot
# du -sk /mnt
380048 /mnt
Si on additionne, cela fait quand même un système qui prends 465241 Ko... Je pense qu’il est encore possible de faire "maigrir" ce système en supprimant d’autres locales, donc d’autres doc et pages man.