« Installation wheezy chroot debootstrap » : différence entre les versions

De Le Wiki du Forum-Debian.fr
Aller à la navigation Aller à la recherche
m (→‎L'environnement graphique : changement modèle avertissement to warning)
m (Lien vers tuto Stretch)
 
(7 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
Installation d'une Wheezy avec debootstrap et chroot
{{Note|Text=Un tuto plus récent se trouve ici: [[Installation_Debian_Stretch_avec_Debootstrap_et_chroot|Installation d'une Debian Stretch avec l'aide de debootstrap et de chroot]]}}
 
= Installation d'une Wheezy avec debootstrap et chroot =


L'objectif est d'installer une Wheezy (sur une nouvelle partition) à partir d'une autre Debian (ici une Sid, mais cette méthode fonctionnera aussi bien avec une autre version), sans avoir besoin de redémarrer ma machine une seule fois…
L'objectif est d'installer une Wheezy (sur une nouvelle partition) à partir d'une autre Debian (ici une Sid, mais cette méthode fonctionnera aussi bien avec une autre version), sans avoir besoin de redémarrer ma machine une seule fois…
Ligne 11 : Ligne 13 :
Pré-requis : Installer debootstrap (chroot se trouve dans le paquet coreutils normalement déjà installé dans votre Debian).
Pré-requis : Installer debootstrap (chroot se trouve dans le paquet coreutils normalement déjà installé dans votre Debian).


root@HAL9000:~# apt-get install debootstrap
{{TestLci|Dir=~|Text=apt-get install debootstrap}}


Formatage de la partition qui va recevoir la Wheezy :
Formatage de la partition qui va recevoir la Wheezy :
Ligne 19 : Ligne 21 :
La partition cible (ici /dev/sdd1) devra aussi être adaptée à votre configuration.
La partition cible (ici /dev/sdd1) devra aussi être adaptée à votre configuration.


root@HAL9000:~# mkfs -V -t ext4 /dev/sdd1
{{Root1a|Dir=~|Text=mkfs -V -t ext4 /dev/sdd1}}


Création du répertoire qui va recevoir le système et montage de la partition fraîchement formatée dans ce nouveau répertoire.
Création du répertoire qui va recevoir le système et montage de la partition fraîchement formatée dans ce nouveau répertoire.
Ligne 27 : Ligne 29 :
Un petit « ls » à la fin pour vérifier que la partition est bien montée.
Un petit « ls » à la fin pour vérifier que la partition est bien montée.


root@HAL9000:~# mkdir -p /var/chroot/wheezy_amd64_sdd1
{{Root1a|Dir=~|Text=mkdir -p /var/chroot/wheezy_amd64_sdd1 <br/>
root@HAL9000:~# mount /dev/sdd1 /var/chroot/wheezy_amd64_sdd1
mount /dev/sdd1 /var/chroot/wheezy_amd64_sdd1 <br/>
root@HAL9000:~# cd /var/chroot/wheezy_amd64_sdd1
cd /var/chroot/wheezy_amd64_sdd1 }}
root@Hal9000:/var/chroot/wheezy_amd64_sdd1# ls
{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=ls <br/>
lost+found
lost+found}}


== Installation avec debootstrap ==
== Installation avec debootstrap ==
Ligne 45 : Ligne 47 :
_En ajoutant l'option --variant=minbase à debootstrap, vous installerez uniquement le strict minimum de paquets (pas d'aptitude, de vim, d'exim4, etc.).
_En ajoutant l'option --variant=minbase à debootstrap, vous installerez uniquement le strict minimum de paquets (pas d'aptitude, de vim, d'exim4, etc.).


root@HAL9000:/var/chroot/wheezy_amd64_sdd1# debootstrap --arch amd64 wheezy /var/chroot/wheezy_amd64_sdd1/ http://http.debian.net/debian/
{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=debootstrap --arch amd64 wheezy /var/chroot/wheezy_amd64_sdd1/ http://http.debian.net/debian/ <br/>
I: Retrieving Release
I: Retrieving Release <br/>
I: Retrieving Release.gpg
I: Retrieving Release.gpg <br/>
I: Checking Release signature
I: Checking Release signature <br/>
I: Valid Release signature (key id 9FED2BCBDCD29CDF762678CBAED4B06F473041FA)
I: Valid Release signature (key id 9FED2BCBDCD29CDF762678CBAED4B06F473041FA) <br/>
I: Retrieving Packages
I: Retrieving Packages <br/>
I: Validating Packages
I: Validating Packages <br/>
I: Resolving dependencies of required packages...
I: Resolving dependencies of required packages... <br/>
I: Resolving dependencies of base packages...
I: Resolving dependencies of base packages... <br/>
I: Found additional required dependencies: insserv libbz2-1.0 libdb5.1 libsemanage-common libsemanage1 libslang2 libustr-1.0-1  
I: Found additional required dependencies: insserv libbz2-1.0 libdb5.1 libsemanage-common libsemanage1 libslang2 libustr-1.0-1 <br/>
I: Found additional base dependencies: libept1.4.12 libgcrypt11 libgnutls26 libgpg-error0 libidn11 libnfnetlink0 libp11-kit0 libsqlite3-0 libtasn1-3 libxapian22  
I: Found additional base dependencies: libept1.4.12 libgcrypt11 libgnutls26 libgpg-error0 libidn11 libnfnetlink0 libp11-kit0 libsqlite3-0 libtasn1-3 libxapian22 <br/>
I: Checking component main on http://http.debian.net/debian...
I: Checking component main on http://http.debian.net/debian... <br/>
I: Retrieving/Validating un tas de paquets
I: Retrieving/Validating un tas de paquets <br/>
I: Chosen extractor for .deb packages: dpkg-deb
I: Chosen extractor for .deb packages: dpkg-deb <br/>
I: Extracting un tas de paquets...
I: Extracting un tas de paquets... <br/>
I: Installing core packages...
I: Installing core packages... <br/>
I: Unpacking required packages...
I: Unpacking required packages... <br/>
I: Unpacking un tas de paquets...
I: Unpacking un tas de paquets... <br/>
I: Configuring required packages...
I: Configuring required packages... <br/>
I: Configuring un tas de paquets...
I: Configuring un tas de paquets... <br/>
I: Unpacking the base system...
I: Unpacking the base system... <br/>
I: Unpacking un tas de paquets...
I: Unpacking un tas de paquets... <br/>
I: Configuring the base system...
I: Configuring the base system... <br/>
I: Configuring un tas de paquets...
I: Configuring un tas de paquets... <br/>
I: Base system installed successfully.
I: Base system installed successfully. }}


Si tout s'est bien passé, un "ls" vous retournera la toute nouvelle arborescence :
Si tout s'est bien passé, un "ls" vous retournera la toute nouvelle arborescence :
root@HAL9000:/var/chroot/wheezy_amd64_sdd1# ls
{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=ls <br/>
bin boot dev etc home lib lib64 lost+found media mnt opt proc root run sbin selinux srv sys tmp usr var
bin boot dev etc home lib lib64 lost+found media mnt opt proc root run sbin selinux srv sys tmp usr var }}


À ce niveau, votre Wheezy est installée, mais elle n'est pas pleinement fonctionnelle ni « autonome ». Vous ne pourrez pas démarrer dessus…
À ce niveau, votre Wheezy est installée, mais elle n'est pas pleinement fonctionnelle ni « autonome ». Vous ne pourrez pas démarrer dessus…
Ligne 83 : Ligne 85 :
Vous devez éditer votre fstab pour que ces répertoires soient montés (et liés - « bind/rbind ») automatiquement dans votre répertoire chroot.
Vous devez éditer votre fstab pour que ces répertoires soient montés (et liés - « bind/rbind ») automatiquement dans votre répertoire chroot.


root@HAL9000:/var/chroot/wheezy_amd64_sdd1# nano /etc/fstab  
{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=nano /etc/fstab }}


Ajoutez-y :
Ajoutez-y :
Ligne 94 : Ligne 96 :
Ctrl+O (enregistrer) Ctrl+X (Quitter)
Ctrl+O (enregistrer) Ctrl+X (Quitter)


root@HAL9000:/var/chroot/wheezy_amd64_sdd1# mount -a
{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=mount -a }}


(cette commande monte tout ce qui est dans votre fstab)
(cette commande monte tout ce qui est dans votre fstab)
Ligne 100 : Ligne 102 :
Pour « normaliser les comptes et groupes » de votre nouvelle Wheezy (que les utilisateurs et groupes aient les mêmes identifiants dans votre système "hôte" et dans votre chroot) tapez les commandes suivantes :
Pour « normaliser les comptes et groupes » de votre nouvelle Wheezy (que les utilisateurs et groupes aient les mêmes identifiants dans votre système "hôte" et dans votre chroot) tapez les commandes suivantes :


root@HAL9000:/var/chroot/wheezy_amd64_sdd1# grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/passwd >> /var/chroot/wheezy_amd64_sdd1/etc/passwd
{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/passwd >> /var/chroot/wheezy_amd64_sdd1/etc/passwd <br/>
root@HAL9000:/var/chroot/wheezy_amd64_sdd1# grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/group >> /var/chroot/wheezy_amd64_sdd1/etc/group
grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/group >> /var/chroot/wheezy_amd64_sdd1/etc/group }}


Vous allez maintenant entrer dans votre environnement chroot (tadaa !) :
Vous allez maintenant entrer dans votre environnement chroot (tadaa !) :


root@HAL9000:/var/chroot/wheezy_amd64_sdd1# chroot /var/chroot/wheezy_amd64_sdd1
{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=chroot /var/chroot/wheezy_amd64_sdd1 <br/>
root@HAL9000:/#
cd / }}


== Finalisation de l'installation et réglages de la Wheezy ==
== Finalisation de l'installation et réglages de la Wheezy ==
Ligne 120 : Ligne 122 :
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…
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…


root@HAL9000:/# apt-get update
{{Root1a|Dir=/|Text=apt-get update <br/>
root@HAL9000:/# apt-get install locales
apt-get install locales <br/>
root@HAL9000:/# dpkg-reconfigure locales
dpkg-reconfigure locales <br/>
root@HAL9000:/# dpkg-reconfigure tzdata
dpkg-reconfigure tzdata <br/>
root@HAL9000:/# hwclock --systohc --utc
hwclock --systohc --utc <br/>
root@HAL9000:/# apt-get install ntpdate
apt-get install ntpdate <br/>
root@HAL9000:/# ntpdate ntp.metas.ch
ntpdate ntp.metas.ch }}


=== Le sources.list ===
=== Le sources.list ===
Ligne 134 : Ligne 136 :
J'ai ajouté le dépôt de rétroportages (backports) pour avoir accès à un noyau récent, vous n'êtes bien sûr pas obligé de le faire.
J'ai ajouté le dépôt de rétroportages (backports) pour avoir accès à un noyau récent, vous n'êtes bien sûr pas obligé de le faire.


root@HAL9000:/# nano /etc/apt/sources.list
{{Root1a|Dir=/|Text=nano /etc/apt/sources.list }}
 
  deb http://http.debian.net/debian wheezy main
  deb http://http.debian.net/debian wheezy main
   
   
Ligne 146 : Ligne 149 :
Mettons à jour :
Mettons à jour :


root@HAL9000:/# apt-get update
{{Root1a|Dir=/|Text=apt-get update }}


=== Clavier ===  
=== Clavier ===  
Ligne 152 : Ligne 155 :
Configurons maintenant le clavier
Configurons maintenant le clavier


root@HAL9000:/# apt-get install console-data
{{Root1a|Dir=/|Text=apt-get install console-data <br/>
root@HAL9000:/# dpkg-reconfigure -plow console-data
dpkg-reconfigure -plow console-data }}
 
  (option choisir un codage clavier dans la liste complète) - pc / azerty / French / Same as X11 (latin9) / Standard
  (option choisir un codage clavier dans la liste complète) - pc / azerty / French / Same as X11 (latin9) / Standard
  Looking for keymap to install:
  Looking for keymap to install:
Ligne 160 : Ligne 164 :
=== hostname et fstab ===
=== hostname et fstab ===


root@HAL9000:/# exit
{{Root1a|Dir=/|Text=exit}}


Nous sommes sortis du chroot, quelques fichiers à récupérer… Pour avoir un bon hostname, le réseau, le montage correct des disques…
Nous sommes sortis du chroot, quelques fichiers à récupérer… Pour avoir un bon hostname, le réseau, le montage correct des disques…


root@HAL9000:/var/chroot/wheezy_amd64_sdd1# cp /etc/fstab /etc/hosts /etc/hostname /etc/resolv.conf /var/chroot/wheezy_amd64_sdd1/etc/
{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=cp /etc/fstab /etc/hosts /etc/hostname /etc/resolv.conf /var/chroot/wheezy_amd64_sdd1/etc/ <br/>
root@HAL9000:/var/chroot/wheezy_amd64_sdd1# cp /etc/network/interfaces /var/chroot/wheezy_amd64_sdd1/etc/network/
cp /etc/network/interfaces /var/chroot/wheezy_amd64_sdd1/etc/network/ <br/>
root@HAL9000:/var/chroot/wheezy_amd64_sdd1# chroot /var/chroot/wheezy_amd64_sdd1/
chroot /var/chroot/wheezy_amd64_sdd1/ }}


+ Réglage du fsab
+ Réglage du fsab


  root@HAL9000:/# blkid (cette commande permet de récupérer le UUID de vos disques pour votre nouveau fstab…
  (cette commande permet de récupérer le UUID de vos disques pour votre nouveau fstab…
  Ne vous faites pas prendre, le formatage change l'UUID…)
  Ne vous faites pas prendre, le formatage change l'UUID…)
/dev/sda1: UUID="f6fb3a64-0773-4cfe-86f9-df372b5c6bda" TYPE="ext4"  
{{Root1a|Dir=/|Text=blkid <br/>
/dev/sda5: UUID="1b9b21b5-6963-4851-a30a-318314194d2a" TYPE="ext4"  
/dev/sda1: UUID="f6fb3a64-0773-4cfe-86f9-df372b5c6bda" TYPE="ext4" <br/>
/dev/sda6: UUID="47bfcfed-42b4-4a80-a93d-69ff4dd36109" TYPE="swap"  
/dev/sda5: UUID="1b9b21b5-6963-4851-a30a-318314194d2a" TYPE="ext4" <br/>
/dev/sdb1: UUID="3f332488-3a43-46b3-b20f-4373e9467dfe" TYPE="ext4"  
/dev/sda6: UUID="47bfcfed-42b4-4a80-a93d-69ff4dd36109" TYPE="swap" <br/>
/dev/sdc1: UUID="3a503ab3-af43-414b-9249-300203538b2d" TYPE="ext4"  
/dev/sdb1: UUID="3f332488-3a43-46b3-b20f-4373e9467dfe" TYPE="ext4" <br/>
/dev/sdd1: UUID="2edb9c6e-d531-4653-a653-6c66d0607f5c" TYPE="ext4"
/dev/sdc1: UUID="3a503ab3-af43-414b-9249-300203538b2d" TYPE="ext4" <br/>
 
/dev/sdd1: UUID="2edb9c6e-d531-4653-a653-6c66d0607f5c" TYPE="ext4" <br/>
  root@HAL9000:/# nano /etc/fstab (à rectifier en fonction de votre configuration)
}}
proc                                      /proc            proc        defaults          0 0
  (à rectifier en fonction de votre configuration)
UUID=2edb9c6e-d531-4653-a653-6c66d0607f5c /                ext4        errors=remount-ro 0 1
{{Root1a|Dir=/|Text=nano /etc/fstab <br/>
UUID=3f332488-3a43-46b3-b20f-4373e9467dfe /home            ext4        defaults          0 2
proc                                      /proc            proc        defaults          0 0 <br/>
UUID=47bfcfed-42b4-4a80-a93d-69ff4dd36109 none            swap        sw                0 0
UUID=2edb9c6e-d531-4653-a653-6c66d0607f5c /                ext4        errors=remount-ro 0 1 <br/>
/dev/sr0                                  /media/cdrom0    udf,iso9660 user,noauto      0 0
UUID=3f332488-3a43-46b3-b20f-4373e9467dfe /home            ext4        defaults          0 2 <br/>
UUID=47bfcfed-42b4-4a80-a93d-69ff4dd36109 none            swap        sw                0 0 <br/>
/dev/sr0                                  /media/cdrom0    udf,iso9660 user,noauto      0 0 }}


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


root@HAL9000:/# mkdir /media/cdrom0
{{Root1a|Dir=/|Text=mkdir /media/cdrom0}}


=== L'environnement graphique ===
=== L'environnement graphique ===
Ligne 196 : Ligne 202 :
{{Warning|Text='''N'oubliez pas d'installer aussi un gestionnaire de connexion !'''}}
{{Warning|Text='''N'oubliez pas d'installer aussi un gestionnaire de connexion !'''}}


root@HAL9000:/# apt-get install xfce4 slim
{{Root1a|Dir=/|Text=apt-get install xfce4 slim}}


=== Le noyau et Grub2 ===
=== Le noyau et Grub2 ===
Ligne 202 : Ligne 208 :
Installons un noyau… Ce serait bête d'oublier !
Installons un noyau… Ce serait bête d'oublier !


  root@HAL9000:/# apt-cache search linux-image (choisissez dans la liste qu'il vous propose,
  (choisissez dans la liste qu'il vous propose,
  celui que je cite n'est qu'un exemple que vous n'êtes pas forcés de suivre…)
  celui que je cite n'est qu'un exemple que vous n'êtes pas forcés de suivre…)
(…)
 
linux-image-3.2.0-4-amd64 - Linux 3.2 for 64-bit PCs
{{Root1a|Dir=/|Text=apt-cache search linux-image <br/>
(…)
(…) <br/>
linux-image-3.2.0-4-amd64 - Linux 3.2 for 64-bit PCs <br/>
(…) <br/>
}}


Ici il faut récupérer votre kernel-img.conf qui permette de convenablement lancer initramfs à l'installation du nouveau noyau dans le chroot.
Ici il faut récupérer votre kernel-img.conf qui permette de convenablement lancer initramfs à l'installation du nouveau noyau dans le chroot.
Ligne 214 : Ligne 223 :
La ligne intéressante : do_initrd = yes
La ligne intéressante : do_initrd = yes


root@HAL9000:/# exit
{{Root1a|Dir=/|Text=exit}}
root@HAL9000:/var/chroot/wheezy_amd64_sdd1# cp /etc/kernel-img.conf /var/chroot/wheezy_amd64_sdd1/etc/kernel-img.conf
{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=cp /etc/kernel-img.conf /var/chroot/wheezy_amd64_sdd1/etc/kernel-img.conf <br/>
root@HAL9000:/var/chroot/wheezy_amd64_sdd1# chroot /var/chroot/wheezy_amd64_sdd1
chroot /var/chroot/wheezy_amd64_sdd1 }}
root@HAL9000:/# apt-get install linux-image-3.2.0-4-amd64
{{Root1a|Dir=/|Text=apt-get install linux-image-3.2.0-4-amd64 <br />
root@HAL9000:/# exit
exit}}


Maintenant… Modifions notre grub pour que ce nouveau système soit opérationnel :
Maintenant… Modifions notre grub pour que ce nouveau système soit opérationnel :
{{Avertissement|Text='''Attention, je suis sous Grub2. Si vous êtes sous Grub "legacy" la commande est différente évidemment…'''}}
{{Warning|Text='''Attention, je suis sous Grub2. Si vous êtes sous Grub "legacy" la commande est différente évidemment…'''}}
 
root@HAL9000:/var/chroot/wheezy_amd64_sdd1# apt-get install os-prober
root@HAL9000:/var/chroot/wheezy_amd64_sdd1# update-grub
(…)
Found Debian GNU/Linux (7.0) on /dev/sdd1
(…)


{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=apt-get install os-prober <br/>
update-grub <br/>
(…) <br/>
Found Debian GNU/Linux (7.0) on /dev/sdd1 <br/>
(…) <br/>
}}


=== Divers - mots de passe ===
=== Divers - mots de passe ===
Ligne 236 : Ligne 245 :
Vous pouvez bien sûr adpater cette commande pour installer vos logiciels habituels !  
Vous pouvez bien sûr adpater cette commande pour installer vos logiciels habituels !  


root@HAL9000:/var/chroot/wheezy_amd64_sdd1# chroot /var/chroot/wheezy_amd64_sdd1
{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=chroot /var/chroot/wheezy_amd64_sdd1 }}
root@HAL9000:/# apt-get install gparted midori
{{Root1a|Dir=/|Text=apt-get install gparted midori }}


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


root@HAL9000:/# nano /etc/passwd
{{Root1a|Dir=/|Text=nano /etc/passwd <br/>
(…)
(…) <br/>
dave:x:1000:1000:Dave,,,:/home/dave:/bin/bash
dave:x:1000:1000:Dave,,,:/home/dave:/bin/bash <br/>
(…)
(…) <br/>
}}


Vous enlevez le x pour que cela ressemble à ça :
Vous enlevez le x pour que cela ressemble à ça :
Ligne 254 : Ligne 264 :
Ceci afin de pouvoir connecter vos utilisateurs "normaux". Il faut maintenant créer les mots de passe.
Ceci afin de pouvoir connecter vos utilisateurs "normaux". Il faut maintenant créer les mots de passe.


root@HAL9000:/# passwd
{{Root1a|Dir=/|Text=passwd <br/>
Enter new UNIX password:  
Enter new UNIX password: <br/>
Retype new UNIX password:  
Retype new UNIX password: <br/>
passwd: password updated successfully
passwd: password updated successfully <br/>
root@HAL9000:/# su dave -c passwd
su dave -c passwd <br/>
Enter new UNIX password:  
Enter new UNIX password: <br/>
Retype new UNIX password:  
Retype new UNIX password: <br/>
passwd: password updated successfully
passwd: password updated successfully <br/>
root@HAL9000:/# exit
exit }}


Et vous pouvez enfin redémarrer sur votre nouveau système :
Et vous pouvez enfin redémarrer sur votre nouveau système :


root@HAL9000:/var/chroot/wheezy_amd64_sdd1# reboot
{{Root1a|Dir=/var/chroot/wheezy_amd64_sdd1|Text=reboot}}


Voilà : vous disposez d'une toute fraîche installation, fonctionnelle !
Voilà : vous disposez d'une toute fraîche installation, fonctionnelle !
Ligne 276 : Ligne 286 :
La commande suivante détaille les "tâches" que [[tasksel|Tasksel]] peut réaliser pour vous… (vous remarquerez que ce sont les mêmes choix que dans une installation "classique" qui sont proposés)
La commande suivante détaille les "tâches" que [[tasksel|Tasksel]] peut réaliser pour vous… (vous remarquerez que ce sont les mêmes choix que dans une installation "classique" qui sont proposés)


root@HAL9000:/# tasksel --list-tasks
{{Root1a|Dir=/|Text=tasksel --list-tasks <br/>
u desktop Debian desktop environment
u desktop Debian desktop environment <br/>
u web-server Web server
u web-server Web server <br/>
u print-server Print server
u print-server Print server <br/>
u database-server SQL database
u database-server SQL database <br/>
u dns-server DNS Server
u dns-server DNS Server <br/>
u file-server File server
u file-server File server <br/>
u mail-server Mail server
u mail-server Mail server <br/>
u ssh-server SSH server
u ssh-server SSH server <br/>
u laptop Laptop
u laptop Laptop }}




Chaque "tâche" installe un ensemble de paquets utiles pour certaines utilisations. "u" pour non installé. Une tâche installée commence par "i".
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 :
Il ne vous reste plus qu'à taper dans la console :


root@HAL9000:/# tasksel --task-packages nom_tache
{{Root1a|Dir=/|Text=tasksel --task-packages nom_tache}}


Il existe une autre tâche, qui n'est pas dans la liste ci-dessus :
Il existe une autre tâche, qui n'est pas dans la liste ci-dessus :

Dernière version du 28 décembre 2017 à 14:19

Un tuto plus récent se trouve ici: Installation d'une Debian Stretch avec l'aide de debootstrap et de chroot


Installation d'une Wheezy avec debootstrap et chroot

L'objectif est d'installer une Wheezy (sur une nouvelle partition) à partir d'une autre Debian (ici une Sid, mais cette méthode fonctionnera aussi bien avec une autre version), sans avoir besoin de redémarrer ma machine une seule fois…

Avantage : rester dans mon environnement de travail pendant toute l'installation…

Parti-pris : utilisation de nano comme éditeur

Pré-requis

Pré-requis : Installer debootstrap (chroot se trouve dans le paquet coreutils normalement déjà installé dans votre Debian).


#:~ # apt-get install debootstrap


Formatage de la partition qui va recevoir la Wheezy :

J'ai choisi de formater en ext4, vous pouvez choisir le système de fichiers de votre choix bien sûr.

La partition cible (ici /dev/sdd1) devra aussi être adaptée à votre configuration.


#:~ # mkfs -V -t ext4 /dev/sdd1


Création du répertoire qui va recevoir le système et montage de la partition fraîchement formatée dans ce nouveau répertoire.

J'ai choisi /var/chroot/wheezy_amd64_sdd1.

Un petit « ls » à la fin pour vérifier que la partition est bien montée.


#:~ # mkdir -p /var/chroot/wheezy_amd64_sdd1
mount /dev/sdd1 /var/chroot/wheezy_amd64_sdd1
cd /var/chroot/wheezy_amd64_sdd1


#:/var/chroot/wheezy_amd64_sdd1 # ls
lost+found


Installation avec debootstrap

Installation de la Wheezy avec debootstrap (j'ai choisi une Wheezy amd64, rien ne vous empêche de choisir une Squeeze i386 ou bien même une Sid…)

Astuces :

_Vous pouvez utiliser un dépôt local pour cette installation. Détails ici sur le forum.debian-fr.org

_Si vous avez une mauvaise connexion, mais disposez d'un CD d'installation, vous pouvez remplacer l'adresse du dépôt par file:/cdrom/debian/

_En ajoutant l'option --variant=minbase à debootstrap, vous installerez uniquement le strict minimum de paquets (pas d'aptitude, de vim, d'exim4, etc.).


#:/var/chroot/wheezy_amd64_sdd1 # debootstrap --arch amd64 wheezy /var/chroot/wheezy_amd64_sdd1/ http://http.debian.net/debian/
I: Retrieving Release
I: Retrieving Release.gpg
I: Checking Release signature
I: Valid Release signature (key id 9FED2BCBDCD29CDF762678CBAED4B06F473041FA)
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: insserv libbz2-1.0 libdb5.1 libsemanage-common libsemanage1 libslang2 libustr-1.0-1
I: Found additional base dependencies: libept1.4.12 libgcrypt11 libgnutls26 libgpg-error0 libidn11 libnfnetlink0 libp11-kit0 libsqlite3-0 libtasn1-3 libxapian22
I: Checking component main on http://http.debian.net/debian...
I: Retrieving/Validating un tas de paquets
I: Chosen extractor for .deb packages: dpkg-deb
I: Extracting un tas de paquets...
I: Installing core packages...
I: Unpacking required packages...
I: Unpacking un tas de paquets...
I: Configuring required packages...
I: Configuring un tas de paquets...
I: Unpacking the base system...
I: Unpacking un tas de paquets...
I: Configuring the base system...
I: Configuring un tas de paquets...
I: Base system installed successfully.


Si tout s'est bien passé, un "ls" vous retournera la toute nouvelle arborescence :

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


À ce niveau, votre Wheezy est installée, mais elle n'est pas pleinement fonctionnelle ni « autonome ». Vous ne pourrez pas démarrer dessus…

Préparation du chroot

Il faut maintenant préparer le chroot. Trois répertoires sont importants pour que cela fonctionne convenablement : /tmp, /dev et /proc.

Vous devez éditer votre fstab pour que ces répertoires soient montés (et liés - « bind/rbind ») automatiquement dans votre répertoire chroot.


#:/var/chroot/wheezy_amd64_sdd1 # nano /etc/fstab


Ajoutez-y :

## chroot Wheezy amd64 sdd1
/tmp  /var/chroot/wheezy_amd64_sdd1/tmp  none bind  0 0
/dev  /var/chroot/wheezy_amd64_sdd1/dev  none rbind 0 0
/proc /var/chroot/wheezy_amd64_sdd1/proc none bind  0 0

Ctrl+O (enregistrer) Ctrl+X (Quitter)


#:/var/chroot/wheezy_amd64_sdd1 # mount -a


(cette commande monte tout ce qui est dans votre fstab)

Pour « normaliser les comptes et groupes » de votre nouvelle Wheezy (que les utilisateurs et groupes aient les mêmes identifiants dans votre système "hôte" et dans votre chroot) tapez les commandes suivantes :


#:/var/chroot/wheezy_amd64_sdd1 # grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/passwd >> /var/chroot/wheezy_amd64_sdd1/etc/passwd
grep "^[^:]*:x:[0-9][0-9][0-9][0-9]:" /etc/group >> /var/chroot/wheezy_amd64_sdd1/etc/group


Vous allez maintenant entrer dans votre environnement chroot (tadaa !) :


#:/var/chroot/wheezy_amd64_sdd1 # chroot /var/chroot/wheezy_amd64_sdd1
cd /


Finalisation de l'installation et réglages de la Wheezy

Vous êtes maintenant dans votre nouvelle Wheezy mais ce n'est pas terminé.

Votre système est incomplet, il est toujours impossible de démarrer dessus…

"locales"

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…

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…


#:/ # apt-get update
apt-get install locales
dpkg-reconfigure locales
dpkg-reconfigure tzdata
hwclock --systohc --utc
apt-get install ntpdate
ntpdate ntp.metas.ch


Le sources.list

Nous allons maintenant compléter nos dépôts

J'ai ajouté le dépôt de rétroportages (backports) pour avoir accès à un noyau récent, vous n'êtes bien sûr pas obligé de le faire.


#:/ # nano /etc/apt/sources.list


deb http://http.debian.net/debian wheezy main

## Mises-à-jour de sécurité
deb http://security.debian.org/ wheezy/updates main
deb http://http.debian.net/debian/ wheezy-updates main

## Rétroportages
deb http://http.debian.net/debian/ wheezy-backports main

Mettons à jour :


#:/ # apt-get update


Clavier

Configurons maintenant le clavier


#:/ # apt-get install console-data
dpkg-reconfigure -plow console-data


(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)

hostname et fstab

#:/ # exit


Nous sommes sortis du chroot, quelques fichiers à récupérer… Pour avoir un bon hostname, le réseau, le montage correct des disques…


#:/var/chroot/wheezy_amd64_sdd1 # cp /etc/fstab /etc/hosts /etc/hostname /etc/resolv.conf /var/chroot/wheezy_amd64_sdd1/etc/
cp /etc/network/interfaces /var/chroot/wheezy_amd64_sdd1/etc/network/
chroot /var/chroot/wheezy_amd64_sdd1/


+ Réglage du fsab

(cette commande permet de récupérer le UUID de vos disques pour votre nouveau fstab…
Ne vous faites pas prendre, le formatage change l'UUID…)

#:/ # blkid
/dev/sda1: UUID="f6fb3a64-0773-4cfe-86f9-df372b5c6bda" TYPE="ext4"
/dev/sda5: UUID="1b9b21b5-6963-4851-a30a-318314194d2a" TYPE="ext4"
/dev/sda6: UUID="47bfcfed-42b4-4a80-a93d-69ff4dd36109" TYPE="swap"
/dev/sdb1: UUID="3f332488-3a43-46b3-b20f-4373e9467dfe" TYPE="ext4"
/dev/sdc1: UUID="3a503ab3-af43-414b-9249-300203538b2d" TYPE="ext4"
/dev/sdd1: UUID="2edb9c6e-d531-4653-a653-6c66d0607f5c" TYPE="ext4"

(à rectifier en fonction de votre configuration)

#:/ # nano /etc/fstab
proc /proc proc defaults 0 0
UUID=2edb9c6e-d531-4653-a653-6c66d0607f5c / ext4 errors=remount-ro 0 1
UUID=3f332488-3a43-46b3-b20f-4373e9467dfe /home ext4 defaults 0 2
UUID=47bfcfed-42b4-4a80-a93d-69ff4dd36109 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0


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


#:/ # mkdir /media/cdrom0


L'environnement graphique

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


  N'oubliez pas d'installer aussi un gestionnaire de connexion !



#:/ # apt-get install xfce4 slim


Le noyau et Grub2

Installons un noyau… Ce serait bête d'oublier !

(choisissez dans la liste qu'il vous propose,
celui que je cite n'est qu'un exemple que vous n'êtes pas forcés de suivre…)


#:/ # apt-cache search linux-image
(…)
linux-image-3.2.0-4-amd64 - Linux 3.2 for 64-bit PCs
(…)


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


#:/ # exit


#:/var/chroot/wheezy_amd64_sdd1 # cp /etc/kernel-img.conf /var/chroot/wheezy_amd64_sdd1/etc/kernel-img.conf
chroot /var/chroot/wheezy_amd64_sdd1


#:/ # apt-get install linux-image-3.2.0-4-amd64
exit


Maintenant… Modifions notre grub pour que ce nouveau système soit opérationnel :

  Attention, je suis sous Grub2. Si vous êtes sous Grub "legacy" la commande est différente évidemment…



#:/var/chroot/wheezy_amd64_sdd1 # apt-get install os-prober
update-grub
(…)
Found Debian GNU/Linux (7.0) on /dev/sdd1
(…)


Divers - mots de passe

Derniers "fignolages"… J'installe un navigateur Web (Midori), et GParted.

Vous pouvez bien sûr adpater cette commande pour installer vos logiciels habituels !


#:/var/chroot/wheezy_amd64_sdd1 # chroot /var/chroot/wheezy_amd64_sdd1


#:/ # apt-get install gparted midori


Enfin, les mots de passe…

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


#:/ # nano /etc/passwd
(…)
dave:x:1000:1000:Dave,,,:/home/dave:/bin/bash
(…)


Vous enlevez le x pour que cela ressemble à ça :

dave::1000:1000:Dave,,,:/home/dave:/bin/bash

Ceci afin de pouvoir connecter vos utilisateurs "normaux". Il faut maintenant créer les mots de passe.


#:/ # passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
su dave -c passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
exit


Et vous pouvez enfin redémarrer sur votre nouveau système :


#:/var/chroot/wheezy_amd64_sdd1 # reboot


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

Tasksel

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)


#:/ # tasksel --list-tasks
u desktop Debian desktop environment
u web-server Web server
u print-server Print server
u database-server SQL database
u dns-server DNS Server
u file-server File server
u mail-server Mail server
u ssh-server SSH server
u laptop Laptop


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'à taper dans la console :


#:/ # tasksel --task-packages nom_tache


Il existe une autre tâche, qui n'est pas dans la liste ci-dessus :

tasksel install standard

Cette commande installe un ensemble de paquets "standards". Je vous renvoie à la page Tasksel pour plus de détails.

Versions des programmes utilisés dans ce tutoriel

bash : 4.2+dfsg-1

apt : 0.9.8

e2fsprogs : 1.42.5-1.1

coreutils : 8.20-3

mount : 2.20.1-5

debootstrap : 1.0.49

nano : 2.2.6-1+b1

grep : 2.14-1

os-prober : 1.58

grub-pc : 2.00-14

sysvinit : 2.88dsf-41


Vv222 (discussion) 15 mai 2013 à 16:15 (CEST)

source : Wiki debian-fr

source : Wiki debian-fr

source : forum debian-fr