Installer une Lenny avec debootstrap et chroot

Installation d’une Lenny avec debootstrap et chroot

Mon objectif était d’installer une Lenny (de secours) à partir de ma SID, sans avoir besoin de redémarrer ma machine une seule fois…
Avantage : Je reste dans mon environnement de travail pendant toute l’installation… et je continue à déblatérer dans “pause-café” avec vous… :mrgreen:

J’ai pris des notes, je vais vous en faire profiter… Si cela peut vous être utile j’en serais ravi !
Parti-pris : J’utilise nano pendant tout le T&A…
Pré-requis : Installer debootstrap (chroot se trouve dans le paquet coreutils normalement déjà installé dans votre Debian).
Installer un noyau qui supporte le ext4 si vous avez l’intention de choisir ce système de fichier.

deb501# apt-get install debootstrap

Formatage de la partition qui va recevoir la Lenny :
J’ai choisi de formater en ext4, vous pouvez choisir le système de fichier de votre choix bien sur.

deb501# mkfs -V -t ext4 /dev/sda1

Création du répertoire qui va recevoir le système et montage de la partition fraichement formatée dans ce nouveau répertoire.
J’ai choisi /var/chroot/lenny_amd64_sda1.
Un petit « ls » à la fin pour vérifier que la partition est bien montée.

deb501# mkdir /var/chroot deb501# mkdir /var/chroot/lenny_amd64_sda1 deb501# cd /var/chroot/lenny_amd64_sda1 deb501# mount /dev/sda1 /var/chroot/lenny_amd64_sda1 deb501# cd /var/chroot/lenny_amd64_sda1 deb501# ls lost+found
Installation de la Lenny avec debootstrap (j’ai choisi une Lenny amd64, rien ne vous empêche de choisir une Etch i386 ou bien même une Sid…)
Vous remarquerez (trop fort) que j’ai ajouté “192.168.0.1:9999/” à mon adresse de dépôt…
Explication : j’utilise un dépôt local. Détails ici > viewtopic.php?f=8&t=23065
Si vous ne l’avez pas (apt-cacher-ng) modifiez comme suit : ftp.debian.org/debian/
Si vous avez une mauvaise connexion, mais disposez d’un CD d’installation, vous pouvez remplacer par file:/cdrom/debian/

deb501# debootstrap --arch amd64 lenny /var/chroot/lenny_amd64_sda1 http://192.168.0.1:9999/ftp.debian.org/debian/ I: Retrieving Release I: Retrieving Packages I: Validating Packages I: Resolving dependencies of required packages... I: Resolving dependencies of base packages... I: Checking component main on http://192.168.0.1:9999/ftp.debian.org/debian... I: Retrieving adduser [...] I: Configuring aptitude... I: Configuring tasksel-data... I: Configuring tasksel... I: Base system installed successfully.
Si tout s’est bien passé, un “ls” vous retournera la toute nouvelle arborescence

deb501# ls bin boot dev etc home lib lib64 lost+found media mnt opt proc root sbin selinux srv sys tmp usr var

A ce niveau, votre Lenny est installée, mais elle n’est pas pleinement fonctionelle ni « autonome ». Vous ne pourrez pas bouter dessus…

Il faut maintenant préparer le chroot. Trois répertoires sont importants pour que cela fonctionne convenablement : /tmp /dev /proc
Vous éditez votre fstab pour que ces répertoires soient montés (et liés - « bind ») automatiquement dans votre répertoire chroot.

[code]deb501# nano /etc/fstab
Ajoutez :
############################################ montages chroot “liés”

sid32 chroot

/tmp /var/chroot/lenny_amd64_sda1/tmp none bind 0 0
/dev /var/chroot/lenny_amd64_sda1/dev none bind 0 0
/proc /var/chroot/lenny_amd64_sda1/proc none bind 0 0
Ctrl+O (enregistrez) Ctrl+X (Quittez)
deb501# mount -a (cette commande monte tout ce qui est dans votre fstab)[/code]

Pour « normaliser les comptes et groupes » de votre nouvelle Lenny (que les utilisateurs et groupes aient les mêmes « id » dans votre système “hôte” et dans votre chroot tapez les commandes suivantes :

deb501# grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/passwd >> /var/chroot/lenny_amd64_sda1/etc/passwd deb501# grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/group >> /var/chroot/lenny_amd64_sda1/etc/group
Vous allez maintenant entrer dans votre environnement chroot (tadaa !)

deb501# chroot /var/chroot/lenny_amd64_sda1 /bin/sh sh-3.2#

Yes !
Vous êtes maintenant dans votre nouvelle Lenny, mais ce n’est pas terminé, votre système est incomplet, impossible de booter dessus…

Nous allons maintenant mettre en français (ou ce que vous voulez…), configurer la localisation, et surtout… régler l’heure. L 'heure est très importante. Si vous démarrez sur ce nouveau système avec une mauvaise heure (dans le futur par rapport au système sur lequel vous êtes), le prochain démarrage vous laissera un goût amer, vous serez obligé de faire un fsck… Je me suis fait prendre, une heure de vérification de disque…
En effet, au montage des disques le système inscrit l’heure (au tout début du disque). Si cette heure est « dans le futur », au démarrage suivant (sur une autre installation), il ne voudra pas démarrer et exigera une vérification de disque…

[code]sh-3.2# apt-get update
sh-3.2# apt-get install locales
sh-3.2# dpkg-reconfigure locales
sh-3.2# dpkg-reconfigure tzdata

Current default timezone: ‘Indian/Antananarivo’
Local time is now: Thu Oct 15 15:02:45 EAT 2009.
Universal Time is now: Thu Oct 15 12:02:45 UTC 2009.

sh-3.2#
sh-3.2# hwclock --systohc --utc
Il faut modifier le fichier /etc/default/rcS pour forcer le système à se mettre en heure locale…
Explications ici : http://forum.debian-fr.org/viewtopic.php?p=210286#p210286
sh-3.2# nano /etc/default/rcS
il faut modifier la ligne utc : UTC=no
sh-3.2# apt-get install ntpdate
sh-3.2# ntpdate ntp.metas.ch
15 Oct 15:04:16 ntpdate[22869]: adjust time server 162.23.41.34 offset 0.014581 sec[/code]

Nous allons maintenant compléter nos dépôts
La création de apt.conf est mon « bonus » j’utilise apt-cacher-ng comme je le disais plus haut…
Inutile pour vous si vous n’avez pas apt-cacher-ng installé)

sh-3.2# nano /etc/apt/apt.conf Acquire::http { Proxy "http://192.168.0.1:9999"; };
J’ai complété avec quelques dépôts. Vous pourriez tout aussi bien ne pas le faire, mais c’est sympa d’avoir un peu de choix, non ? J’ai ajouté le dépôt « backport » pour avoir accès à un noyau récent , vous n’êtes, là encore, pas obligé de la faire.

[code]sh-3.2# nano /etc/apt/sources.list
deb http://ftp.debian.org/debian lenny main

Debian Main Repos

deb http://ftp.fr.debian.org/debian/ lenny contrib non-free

Debian Update Repos

deb http://security.debian.org/ lenny/updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ lenny-proposed-updates main contrib non-free
deb ftp://ftp.proxad.net/mirrors/volatile.debian.net/ lenny/volatile main contrib non-free

Debian Backports - http://www.backports.org

Run this command: gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16BA136C && gpg --export 16BA136C | apt-key add -

deb http://www.backports.org/debian/ lenny-backports main contrib non-free

Debian Multimedia - http://www.debian-multimedia.org/

Run this command: apt-get update && apt-get install debian-multimedia-keyring && apt-get update

deb ftp://ftp.debian-multimedia.org lenny main[/code]
Ajoutons les clés des nouveaux dépots et mettons à jour :

sh-3.2# gpg --keyserver hkp://subkeys.pgp.net --recv-keys 16BA136C && gpg --export 16BA136C | apt-key add - sh-3.2# apt-get update […] Vous obtiendrez évidemment cette erreur : W: GPG error: ftp://ftp.debian-multimedia.org lenny Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 07DC563D1F41B907 W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes. sh-3.2# apt-get install debian-multimedia-keyring && apt-get update [...] ATTENTION : les paquets suivants n'ont pas été authentifiés. debian-multimedia-keyring Faut-il installer ces paquets sans vérification (o/N) ? o sh-3.2# sh-3.2# apt-get upgrade
Continuons… Le paquet MC n’est pas une obligation, moi je ne peux pas m’en passer…
Configurons maintenant le clavier

sh-3.2# apt-get install mc sh-3.2# apt-get install console-data (azerty/french) […] Je ne sais pour quelle raison il nous met d'office le clavier mac-usb-f.. Dans le chroot il ne doit pas détecter autre chose... Looking for keymap to install: mac-usb-f Rectifions : sh-3.2# dpkg-reconfigure -plow console-data (pour choisir le « bon » clavier) (option choisir un codage clavier dans la liste complète) - pc / azerty / French / Same as X11 (latin9) / Standard Looking for keymap to install: fr-latin9 (cette fois-ci c'est bon) sh-3.2# exit
Nous sommes sortis du chroot, quelques fichiers à récupérer… Pour avoir un bon hostname, le réseau, le montage correct des disques…

[code]deb501# cp /etc/hosts /etc/hostname /etc/resolv.conf /var/chroot/lenny_amd64_sda1/etc
deb501# cp /etc/network/interfaces /var/chroot/lenny_amd64_sda1/etc/network
deb501# cp /etc/fstab /var/chroot/lenny_amd64_sda1/etc
deb501# chroot /var/chroot/lenny_amd64_sda1 /bin/sh

  • Réglage du fsab
    sh-3.2# blkid (cette commande permat de récupérer le UUID de vos disques pour votre nouveau fstab… Je me suis fait prendre aussi, le formatage change l’UUID…)
    /dev/sdc1: UUID=“8125f9ad-fa09-415e-8b2b-1562c5791d8b” TYPE=“ext3”
    /dev/sdc2: UUID=“0996b96e-3d86-4395-9cf5-cb744b543a52” TYPE=“ext3”
    /dev/sdb1: UUID=“345408AD54087440” LABEL=“Nouveau nom” TYPE=“ntfs”
    /dev/sdd1: UUID=“3CE6F2CCE6F28584” LABEL=“Nouveau nom” TYPE=“ntfs”
    /dev/sde1: LABEL=“Divers” UUID=“3525ee82-8d13-4caa-a27e-14de985f432d” TYPE=“ext3”
    /dev/sda1: UUID=“248403b5-cdcd-4430-bd96-67b106327373” TYPE=“ext4”
    /dev/sda5: TYPE=“swap”
    …etc
    sh-3.2# nano /etc/fstab (a rectifier en fonction de votre configuration)

/etc/fstab: static file system information.

proc /proc proc defaults 0 0
none /proc/bus/usb usbfs devgid=119,devmode=664 0 0
none /dev/bus/usb usbfs devgid=1001,devmode=664 0 0
/dev/sda5 none swap sw 0 0

Montage racine (/dev/sda1) ! Attention si votre partition racine est en ext4 !

UUID=248403b5-cdcd-4430-bd96-67b106327373 / ext4 errors=remount-ro 0 1
#Entry for /dev/sda8 :
UUID=709e9380-d39f-49db-b759-cac7a87717e6 /home ext4 relatime 0 2
…etc

Montage DVD SATA

/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0[/code]

Création des repertoire de montage des disques de la nouvelle machine : (en fonction de votre configuration et de vos choix…)

sh-3.2# mkdir /mnt/sda7 /mnt/Divers1 /mnt/Divers2 /mnt/XP /mnt/deb /mnt/home2 /mnt/zicmu

Maintenant ? Un environnement graphique ! (J’ai choisi Xfce, vous faites comme vous voulez… Gnome, Kde, aucun…

sh-3.2# apt-get install xfce4 [...] 0 mis à jour, 275 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de prendre 132Mo dans les archives. Après cette opération, 386Mo d'espace disque supplémentaires seront utilisés. Souhaitez-vous continuer [O/n] ?o [...] Traitement des actions différées (« triggers ») pour « initramfs-tools »... sh-3.2#
Modification du Xorg.conf pour avoir le bon clavier au démarrage et le bon driver de votre carte vidéo. J’ai choisi nv (j’ai une nvidia vous l’aurez deviné…). Si vous ne savez pas mettez « Driver “vesa »” pour ne pas prendre de risque. Vous pourrez changer ça plus tard…

[code]sh-3.2# nano /etc/X11/xorg.conf

Section “InputDevice”
Identifier “Generic Keyboard”
Driver “kbd”
Option “XkbRules” “xorg”
Option “XkbModel” “pc105” (à changer)
Option “XkbLayout” “fr” (à changer)
Option “XkbVariant” “latin9” (à ajouter)
EndSection

Section “InputDevice”
Identifier “Configured Mouse”
Driver “mouse”
EndSection

Section “Device”
Driver “nv” (ajouter et modifier en fonction de votre carte)
Identifier “Card0” (ajouter)

Identifier “Configured Video Device”

EndSection

Section “Monitor”
Identifier “Configured Monitor”
EndSection

Section “Screen”
Identifier “Default Screen”
Monitor “Configured Monitor”
EndSection[/code]

Installons un noyau… Ce serait bête d’oublier :wink:

sh-3.2# apt-cache search linux-image (choisissez dans la liste qu'il vous propose...) [...] linux-headers-2.6.30-bpo.2-amd64 - Header files for Linux 2.6.30-bpo.2-amd64 [...]
Ici il faut récupérer votre kernel-img.conf qui permette de convenablement lancer initramfs à l’installation du nouveau noyau dans le chroot.
Ce fichier n’existe pas dans le système créé par debootstrap.
La ligne intéressante : do_initrd = yes

sh-3.2# exit deb501# cp /etc/kernel-img.conf /var/chroot/lenny_amd64_sda1/etc/kernel-img.conf deb501# chroot /var/chroot/lenny_amd64_sda1 /bin/sh sh-3.2# apt-get install linux-image-2.6.30-bpo.2-amd64 sh-3.2# exit

Maintenant… Modifions notre grub pour que ce nouveau système soit opérationnel :
:exclamation: Attention, je suis sous Grub2. Si vous êtes sous Grub “legacy” la commande est différente évidemment…

[code]deb501# grub-mkconfig
Generating grub.cfg …

Voici la nouvelle entrée qui nous intéresse…

menuentry “Debian GNU/Linux (5.0.3) (on /dev/sda1)” {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set 248403b5-cdcd-4430-bd96-67b106327373
linux /boot/vmlinuz-2.6.30-bpo.2-amd64 root=/dev/sda1 rootfstype=ext4
initrd /boot/initrd.img-2.6.30-bpo.2-amd64
[…]
done deb501#
[/code]
Vous pouvez vérifier dans la console ou en tapant nano /boot/grub/grub.cfg (ou nano /boot/grub/menu.lst si vous êtes en grub legacy)
J’ai rajouté “rootfstype=ext4”. Sans ce petit morceau de code votre partition fromatée en ext4 ne démarera pas… (Invalid filesystem…)

Derniers “fignolages”… J’installe un navigateur et les drivers pour que mes disque nfs soient pleinement opérationnels. Et… zsh car c’est cool ! :wink:

deb501# chroot /var/chroot/lenny_amd64_sda1 /bin/sh sh-3.2# apt-get install gparted ntfs-3g iceweasel sh-3.2# apt-get install zsh

Enfin, les mots de passe…
Debootstrap installe un système sans mots de passe… Si vous redémarrez maintenant vous vous loguerez en root dans votre nouveau système sans montrer patte blanche… Un peu génant non ?

sh-3.2# nano /etc/passwd laurent:x:1000:1000:Laurent Voulzy:/home/laurent:/bin/zsh Vous enlevez le x pour que cela ressemble à ça : laurent::1000:1000:Laurent Voulzy:/home/laurent:/bin/zsh Ceci afin de pouvoir loguer vos utilisateurs "normaux". Il faut maintenant créer les mots de passe. sh-3.2# /usr/bin/passwd Entrez le nouveau mot de passe UNIX : Retapez le nouveau mot de passe UNIX : passwd : le mot de passe a été mis à jour avec succès sh-3.2# su - laurent █▓▒░laurent@deb501░▒▓██▓▒░ jeu oct 15 05:16:20 ~/ /usr/bin/passwd Entrez le nouveau mot de passe UNIX : Retapez le nouveau mot de passe UNIX : passwd : le mot de passe a été mis à jour avec succès ~/ exit sh-3.2# exit deb501# reboot

Voilà vous disposez d’une toute fraîche installation, fonctionnelle !

[Edition du 19/10] Pour avoir un système un peu plus complet, en fonction de vos besoins, vous pouvez utiliser l’utilitaire tasksel.
La commande suivante détaille les “tâches” que tasksel peut réaliser pour vous… (Vous remarquerez que ce sont les mêmes choix que dans une installation “classique” qui sont proposés)

sh-3.2# tasksel --list-tasks u desktop Desktop environment u web-server Web server u print-server Print server u dns-server DNS server u file-server File server u mail-server Mail server u database-server SQL database u laptop Laptop u manual manual package selection Chaque “tâche” installe un ensemble de paquets utiles pour certaines utilisations. “u” pour non installé. Une tâche installée commence par “i”
Il ne vous reste plus qu’a taper dans la console

tasksel --task-packages nom_tache

Il existe une autre tâche, qui n’est pas dans la liste ci-dessustasksel install standardQui installe un ensemble de paquets “standards”. Je vous renvoie au Wiki de debian-facile pour plus de détails.

Je me suis relu plusieurs fois, j’ai testé 4 fois mes commandes, malgré cela j’ai pu laisser passer des “boulettes” et des fautes d’orthographe… :mrgreen:
Merci de me le signaler je rectifierais en conséquence !
:smt006

Quelques remarques:

  • il existe deux commandes debootstrap et cdebootstrap dont les différences ne sont pas très claires, la syntaxe est identique, la doc debian indique que cdebootstrap est dédié à l’installateur debian (ce qui veut dire??).
  • debootstrap utilise des scripts divers, a peu de dépendances et existe un peu partout, on peut appliquer cette méthode à partir d’à peu près n’importe quel linux de départ.

[…] sh-3.2# apt-get install gparted ntfs-3g gparted iceweasel

Arrête de picoler, tu installes deux fois gparted (qui ne sert à rien :smiley:)

[quote=“zodar”][…] sh-3.2# apt-get install gparted ntfs-3g gparted iceweasel
Arrête de picoler, tu installes deux fois gparted (qui ne sert à rien :smiley:)[/quote]

Rectifié… :mrgreen:

[quote=“fran.b”]Quelques remarques:

  • il existe deux commandes debootstrap et cdebootstrap dont les différences ne sont pas très claires, la syntaxe est identique, la doc debian indique que cdebootstrap est dédié à l’installateur debian (ce qui veut dire??).
  • debootstrap utilise des scripts divers, a peu de dépendances et existe un peu partout, on peut appliquer cette méthode à partir d’à peu près n’importe quel linux de départ.[/quote]

Merci j’ai même pas fait attention. J’ai bien installé avec cdebootstrap… Je rectifie le titre
Je regarde les différences… Et éventuellement je complète.

Edit : Je suppose que j’aurais du utiliser debootstrap au lieu de cdbootstrap… Mais la différence n’est pas très claire… ça n’a pas l’air de faire de différence à l’installation.
Je vais faire une install avec dbootstrap et regarder les différences (s’il y en a…)
Edit2 : Aucune différence visible. Puisqu’il “faut” utiliser debootstrap je rectifie…

Non, moi je ne vois aucune différence, par contre cdebootsrap est un programme C, peut être autonome, dépendant de la libc6 plus des scripts de l’installateur, de wget et de gpgv. debootstrap est un script dépendant de wget et binutils ce qui suppose être sur une base complète. Les deux doivent avoir exactement la même syntaxe, mais pour un installateur, cdebootstrap est préférable car ne dépendant que de binaires précis. (tout ça à vérifier)

Tu dois avoir compris. Je ne vois pas d’autre explication.
J’ai vainement cherché… Les explications trouvées sont soient incompréhensibles pour mon niveau, soit fumeuses… La plupart concluent : j’utilise l’un ou l’autre, sans différence… Le résultat doit être le même, même si les chemins pour y parvenir diffèrent un peu. Merci d’avoir éclairci ce point !

Edit : Je viens de tomber sur un post de Michel : viewtopic.php?f=1&t=22357
Et au même moment je tombais sur ce post (2004) tout comme Michel : lists.debian.org/debian-boot/200 … 00056.html
Il semblerais que debootstrap installe plus de paquets que cdebootstrap…
Cette commande # tasksel install standardrèglerais le problème en mettant les deux à “égalité”…? A vérifier !

Re-salut,

Debootstrap vs Cdebootstrap…

Pour ceux qui sont intéréssés voici les paquets installés par les deux commandes

deb501# cdebootstrap --arch amd64 lenny /var/chroot/cdebootstrap http://ftp.debian.org/debian/ deb501# chroot /var/chroot/cdebootstrap /bin/sh sh-3.2# dpkg -l > cdebootsrap.txt

[quote=“cdebootsrap.txt”]Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
++±=============================-======================-============================================
ii adduser 3.110 add and remove users and groups
ii apt 0.7.20.2+lenny1 Advanced front-end for dpkg
ii apt-utils 0.7.20.2+lenny1 APT utility programs
ii aptitude 0.4.11.11-1~lenny1 terminal-based package manager
ii base-files 5lenny4 Debian base system miscellaneous files
ii base-passwd 3.5.20 Debian base system master password and group
ii bash 3.2-4 The GNU Bourne Again SHell
ii bsdmainutils 6.1.10 collection of more utilities from FreeBSD
ii bsdutils 1:2.13.1.1-1 Basic utilities from 4.4BSD-Lite
ii coreutils 6.10-6 The GNU core utilities
ii cpio 2.9-13 GNU cpio – a program to manage archives of
ii cron 3.0pl1-105 management of regular background processing
ii debconf 1.5.24 Debian configuration management system
ii debconf-i18n 1.5.24 full internationalization support for debcon
ii debian-archive-keyring 2009.01.31 GnuPG archive keys of the Debian archive
ii debianutils 2.30 Miscellaneous utilities specific to Debian
ii dhcp3-client 3.1.1-6+lenny3 DHCP client
ii dhcp3-common 3.1.1-6+lenny3 common files used by all the dhcp3* packages
ii diff 2.8.1-12 File comparison utilities
ii dmidecode 2.9-1 Dump Desktop Management Interface data
ii dpkg 1.14.25 Debian package management system
ii e2fslibs 1.41.3-1 ext2 filesystem libraries
ii e2fsprogs 1.41.3-1 ext2/ext3/ext4 file system utilities
ii ed 0.7-3 The classic unix line editor
ii findutils 4.4.0-2 utilities for finding files–find, xargs
ii gcc-4.2-base 4.2.4-6 The GNU Compiler Collection (base package)
ii gcc-4.3-base 4.3.2-1.1 The GNU Compiler Collection (base package)
ii gnupg 1.4.9-3+lenny1 GNU privacy guard - a free PGP replacement
ii gpgv 1.4.9-3+lenny1 GNU privacy guard - signature verification t
ii grep 2.5.3~dfsg-6 GNU grep, egrep and fgrep
ii groff-base 1.18.1.1-21 GNU troff text-formatting system (base syste
ii gzip 1.3.12-6 The GNU compression utility
ii hostname 2.95 utility to set/show the host name or domain
ii ifupdown 0.6.8+nmu1 high level tools to configure network interf
ii info 4.11.dfsg.1-4 Standalone GNU Info documentation browser
ii initscripts 2.86.ds1-61 Scripts for initializing and shutting down t
ii iproute 20080725-2 networking and traffic control tools
ii iptables 1.4.2-6 administration tools for packet filtering an
ii iputils-ping 3:20071127-1 Tools to test the reachability of network ho
ii libacl1 2.2.47-2 Access control list shared library
ii libattr1 1:2.4.43-2 Extended attribute shared library
ii libblkid1 1.41.3-1 block device id library
ii libbz2-1.0 1.0.5-1 high-quality block-sorting file compressor l
ii libc6 2.7-18 GNU C Library: Shared libraries
ii libcomerr2 1.41.3-1 common error description library
ii libconsole 1:0.2.3dbs-65.1 Shared libraries for Linux console and font
ii libcwidget3 0.5.12-4 high-level terminal interface library for C+
ii libdb4.6 4.6.21-11 Berkeley v4.6 Database Libraries [runtime]
ii libdevmapper1.02.1 2:1.02.27-4 The Linux Kernel Device Mapper userspace lib
ii libept0 0.5.22 High-level library for managing Debian packa
ii libgcc1 1:4.3.2-1.1 GCC support library
ii libgcrypt11 1.4.1-1 LGPL Crypto library - runtime library
ii libgdbm3 1.8.3-3 GNU dbm database routines (runtime version)
ii libgnutls26 2.4.2-6+lenny1 the GNU TLS library - runtime library
ii libgpg-error0 1.4-2 library for common error values and messages
ii liblocale-gettext-perl 1.05-4 Using libc functions for internationalizatio
ii libncurses5 5.7+20081213-1 shared libraries for terminal handling
ii libncursesw5 5.7+20081213-1 shared libraries for terminal handling (wide
ii libnewt0.52 0.52.2-11.3 Not Erik’s Windowing Toolkit - text mode win
ii libpam-modules 1.0.1-5+lenny1 Pluggable Authentication Modules for PAM
ii libpam-runtime 1.0.1-5+lenny1 Runtime support for the PAM library
ii libpam0g 1.0.1-5+lenny1 Pluggable Authentication Modules library
ii libpopt0 1.14-4 lib for parsing cmdline parameters
ii libreadline5 5.2-3.1 GNU readline and history libraries, run-time
ii libsasl2-2 2.1.22.dfsg1-23+lenny1 Cyrus SASL - authentication abstraction libr
ii libselinux1 2.0.65-5 SELinux shared libraries
ii libsepol1 2.0.30-2 Security Enhanced Linux policy library for c
ii libsigc+±2.0-0c2a 2.0.18-2 type-safe Signal Framework for C++ - runtime
ii libslang2 2.1.3-3 The S-Lang programming library - runtime ver
ii libss2 1.41.3-1 command-line interface parsing library
ii libssl0.9.8 0.9.8g-15+lenny3 SSL shared libraries
ii libstdc++6 4.3.2-1.1 The GNU Standard C++ Library v3
ii libtasn1-3 1.4-1 Manage ASN.1 structures (runtime)
ii libtext-charwidth-perl 0.04-5+b1 get display widths of characters on the term
ii libtext-iconv-perl 1.7-1+b1 converts between character sets in Perl
ii libtext-wrapi18n-perl 0.06-6 internationalized substitute of Text::Wrap
ii libusb-0.1-4 2:0.1.12-13 userspace USB programming library
ii libuuid1 1.41.3-1 universally unique id library
ii libwrap0 7.6.q-16 Wietse Venema’s TCP wrappers library
ii libxapian15 1.0.7-4 Search engine library
ii login 1:4.1.1-6 system login tools
ii logrotate 3.7.1-5 Log rotation utility
ii lsb-base 3.2-20 Linux Standard Base 3.2 init script function
ii lzma 4.43-14 Compression method of 7z format in 7-Zip pro
ii man-db 2.5.2-4 on-line manual pager
ii manpages 3.05-1 Manual pages about using a GNU/Linux system
ii mawk 1.3.3-11.1 a pattern scanning and text processing langu
ii mktemp 1.5-9 tool for creating temporary files
ii module-init-tools 3.4-1 tools for managing Linux kernel modules
ii mount 2.13.1.1-1 Tools for mounting and manipulating filesyst
ii nano 2.0.7-4 free Pico clone with some new features
ii ncurses-base 5.7+20081213-1 basic terminal type definitions
ii ncurses-bin 5.7+20081213-1 terminal-related programs and man pages
ii net-tools 1.60-22 The NET-3 networking toolkit
ii netbase 4.34 Basic TCP/IP networking system
ii netcat-traditional 1.10-38 TCP/IP swiss army knife
ii passwd 1:4.1.1-6 change and administer password and group dat
ii perl-base 5.10.0-19lenny2 minimal Perl system
ii procps 1:3.2.7-11 /proc file system utilities
ii readline-common 5.2-3.1 GNU readline and history libraries, common f
ii rsyslog 3.18.6-4 enhanced multi-threaded syslogd
ii sed 4.1.5-6 The GNU sed stream editor
ii sysv-rc 2.86.ds1-61 System-V-like runlevel change mechanism
ii sysvinit 2.86.ds1-61 System-V-like init utilities
ii sysvinit-utils 2.86.ds1-61 System-V-like utilities
ii tar 1.20-1 GNU version of the tar archiving utility
ii tasksel 2.78 Tool for selecting tasks for installation on
ii tasksel-data 2.78 Official tasks used for installation of Debi
ii tcpd 7.6.q-16 Wietse Venema’s TCP wrapper utilities
ii traceroute 2.0.11-2 Traces the route taken by packets over an IP
ii tzdata 2009l-0lenny1 time zone and daylight-saving time data
ii update-inetd 4.31 inetd configuration file updater
ii util-linux 2.13.1.1-1 Miscellaneous system utilities
ii vim-common 1:7.1.314-3+lenny2 Vi IMproved - Common files
ii vim-tiny 1:7.1.314-3+lenny2 Vi IMproved - enhanced vi editor - compact v
ii wget 1.11.4-2 retrieves files from the web
ii whiptail 0.52.2-11.3 Displays user-friendly dialog boxes from she
ii zlib1g 1:1.2.3.3.dfsg-12 compression library - runtime[/quote]

deb501# debootstrap --arch amd64 lenny /var/chroot/debootstrap http://ftp.debian.org/debian/ deb501# chroot /var/chroot/debootstrap /bin/sh sh-3.2# dpkg -l > debootsrap.txt

[quote=“debootsrap.txt”]Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
++±=============================-======================-============================================
[…]
ii makedev 2.3.1-88 creates device files in /dev
[…][/quote]

Debootstrap installe 1 paquet en plus : makedev… Plutôt intéressant quand même…

[quote=“lol”]Code:
deb501# apt-get install debootstrap coreutils[/quote]Une petite question, c’était vraiment utile d’installer manuellement coreutils? J’aurais cru que c’est installé d’office dans n’importe quel système minimal.

[quote=“eol”][quote=“lol”]Code:
deb501# apt-get install debootstrap coreutils[/quote]Une petite question, c’était vraiment utile d’installer manuellement coreutils? J’aurais cru que c’est installé d’office dans n’importe quel système minimal.[/quote]
Tu as raison, j’ai péché par exces de zèle. D’ailleurs ce paquet est installé par debootsrap et cdebootsrap c’est vraiment la base… Inutile donc
:exclamation: Rectifié

D’après le man de cdebootstrap, on pourrait changer la sélection de paquets avec l’argument -f (flavour) :

[quote]FLAVOURS
Flavours available with default configuration:

bootable
system with default bootloader (only sid)
build
buildd chroot
minimal
only essential packages plus apt
standard
usable selection of packages[/quote]
Après, il faudrait voir ce que ça donne…

debootstrap installe les paquets de priorité « important » et « required » (peut-être pas exactement, je ne les ai pas pointés un par un). tasksel install standard installe les paquets de priorité « standard » en plus (aptitude search ~pstandard pour la liste), ce que l’installeur appelle « système de base ».
Tu pourrais rajouter tasksel à ton tuto d’ailleurs, certains paquets sont intéressants. C’est d’ailleurs préconisé dans la doc debian : debian.org/releases/stable/i … 03.html.fr

[quote=“kna”]D’après le man de cdebootstrap, on pourrait changer la sélection de paquets avec l’argument -f (flavour) :

[quote]FLAVOURS
Flavours available with default configuration:

bootable
system with default bootloader (only sid)
build
buildd chroot
minimal
only essential packages plus apt
standard
usable selection of packages[/quote]
Après, il faudrait voir ce que ça donne…

debootstrap installe les paquets de priorité « important » et « required » (peut-être pas exactement, je ne les ai pas pointés un par un). tasksel install standard installe les paquets de priorité « standard » en plus (aptitude search ~pstandard pour la liste), ce que l’installeur appelle « système de base ».
Tu pourrais rajouter tasksel à ton tuto d’ailleurs, certains paquets sont intéressants. C’est d’ailleurs préconisé dans la doc debian : debian.org/releases/stable/i … 03.html.fr[/quote]

[quote=“lol”]
Cette commande # tasksel install standardrèglerais le problème en mettant les deux à “égalité”…? A vérifier ![/quote]

J’y ai pensé, il faut que je regarde exactement les paquets installés par taskel. Debootstrap n’installe qu’un seul paquet en plus de cdebbotstrap (makedev).

Je vais regarder aussi le coup du “flavor” ça m’a l’air intéressant… Merci

Salut,

[quote=“lol”]Vous allez maintenant entrer dans votre environnement chroot (tadaa !)

deb501# chroot /var/chroot/lenny_amd64_sda1 /bin/sh sh-3.2#[/quote]
Si tu t’en rappelles… :mrgreen:
Comment as-tu fait pour avoir les caractères sh-3.2
?

[quote=“nico”]Si tu t’en rappelles… :mrgreen:
Comment as-tu fait pour avoir les caractères sh-3.2
?[/quote]

Non, pas du tout.
C’est vrai que dans les derniers chroot + debootstrap que j’ai fait il n’y avait plus ça… :017
Question de version ? Pas sur.

[quote=“lol”][quote=“nico”]Si tu t’en rappelles… :mrgreen:
Comment as-tu fait pour avoir les caractères sh-3.2
?[/quote]

Non, pas du tout.
C’est vrai que dans les derniers chroot + debootstrap que j’ai fait il n’y avait plus ça… :017
Question de version ? Pas sur.[/quote]

3.2 c’était la version de ton bash à l’époque :wink: