Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:install:debootstrap-chroot [02/10/2012 07:59] smolski |
doc:install:debootstrap-chroot [30/04/2015 19:01] milou [Préparons le terrain] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== INSTALLER DEBIAN AVEC DEBOOTSTRAP ET CHROOT ====== | + | ====== Installer Debian avec Debootstrap et Chroot ====== |
* Objet : Installer Debian depuis un système GNU/Linux | * Objet : Installer Debian depuis un système GNU/Linux | ||
- | * Niveau requis : AVANCES | + | * Niveau requis : {{tag>avisé}} |
* Commentaires : // Installer Debian sans clé USB ou CD pour migrer d'une autre distribution vers Debian ou pour installer une autre branche de Debian ... // | * Commentaires : // Installer Debian sans clé USB ou CD pour migrer d'une autre distribution vers Debian ou pour installer une autre branche de Debian ... // | ||
- | * Débutant, à savoir : Une bonne maîtrise de la ligne de commande et un minimum de connaissance de Debian sont nécessaires. Un autre poste muni d'un accès internet est préférable histoire de se sortir des éventuelles ornières. | + | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) |
- | * [[manuel:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | + | * Une bonne maîtrise de la ligne de commande et un minimum de connaissance de Debian sont nécessaires. Un autre poste muni d'un accès internet est préférable histoire de se sortir des éventuelles ornières. |
- | * [[/manuel:structure_repertoires-racine|La structure d'un système Debian]] | + | * [[:atelier:chantier:fhs-accueil|La structure d'un système Debian]] |
+ | * Suivi : | ||
+ | * Création par [[user>bendia]] le 01/10/2012 | ||
+ | * Mis à jour par [[user>bendia]] 21/09/2013 | ||
+ | * Testé par [[user>bendia]] le 21/09/2013 | ||
+ | * Commentaires sur le forum [[http://debian-facile.org/viewtopic.php?pid=67650|ici]] | ||
===== Prérequis ===== | ===== Prérequis ===== | ||
Ligne 24: | Ligne 29: | ||
Et encore plein de place disponible dont vous ne savez que faire | Et encore plein de place disponible dont vous ne savez que faire | ||
- | Bien évidemment, la nature ayant horreur du vide, vous avez fort envie de le combler avec votre distribution préférée, à savoir Debian. Vous aurez même tout loisir d'en choisir la branche(([[manuel:branches_debian]])) ... | + | Bien évidemment, la nature ayant horreur du vide, vous avez fort envie de le combler avec votre distribution préférée, à savoir Debian. Vous aurez même tout loisir d'en choisir la branche(([[:doc:systeme:apt:branches-debian]])) ... |
+ | |||
+ | Bien sûr, je vous promets du sang, de la sueur, et des larmes :-/ Tout commencera par une Debian plus que minimale, avec le clavier //qwerty// et sans réseau :-? | ||
- | Bien sur, je vous promet du sang, de la sueur, et des larmes :-/ Tout commencera par une Debian plus que minimale, avec le clavier //qwerty// et sans réseau :-? \\ | ||
Mais grâce au //wiki Debian-Facile// rien ne vous empêchera d'installer une sid toute fraîche avec la dernière version de votre bureau préféré en prime ! :-) | Mais grâce au //wiki Debian-Facile// rien ne vous empêchera d'installer une sid toute fraîche avec la dernière version de votre bureau préféré en prime ! :-) | ||
Ligne 39: | Ligne 45: | ||
===== Préparons le terrain ===== | ===== Préparons le terrain ===== | ||
- | En premier lieu , commençons par organiser l'espace disponible(([[manuel:partitionnement]])). \\ | + | En premier lieu , commençons par organiser l'espace disponible(([[:doc:systeme:partitionnement]])). \\ |
- | Dans l'espace libre, créons 2 partitions (//ext4//(([[manuel:partition]])) par exemple). \\ | + | Dans l'espace libre, créons 2 partitions (//ext4//(([[:doc:systeme:partition]])) par exemple). \\ |
La première recevra la racine (/) du nouveau système, la seconde le répertoire ///home//. \\ | La première recevra la racine (/) du nouveau système, la seconde le répertoire ///home//. \\ | ||
- | Pour cela, votre utilitaire habituel(([[/logiciel:gparted|Gparted]], [[/commande:cfdisk|cfdisk]])) fera parfaitement l'affaire. | + | Pour cela, votre utilitaire habituel(([[/doc:environnements:gnome:gparted|Gparted]], [[:doc:systeme:cfdisk|cfdisk]])) fera parfaitement l'affaire. |
Nous nous retrouvons alors avec la structure suivante : | Nous nous retrouvons alors avec la structure suivante : | ||
Ligne 52: | Ligne 58: | ||
/dev/sda4 vide | /dev/sda4 vide | ||
| | ||
- | Avec l'outil //mke2//, formatons((Voir aussi la commande : [[commande:mkfs]])) ces deux partitions | + | Dans un terminal root(([[:doc:systeme:terminal]])), avec l'outil //mke2//, formatons((Voir aussi la commande : [[:doc:systeme:mkfs]])) ces deux partitions |
- | <code bash> | + | <code root> |
- | # mke2fs -t ext4 /dev/sda3 | + | mke2fs -t ext4 /dev/sda3</code> |
- | # mke2fs -t ext4 /dev/sda4 | + | <code root>mke2fs -t ext4 /dev/sda4</code> |
</code> | </code> | ||
- | Nous devons monter(([[commande:mount]])) la première partition afin d'accueillir notre futur Debian. | + | Nous devons monter(([[:doc:systeme:mount]])) la première partition afin d'accueillir notre futur Debian. |
- | Pour cela, en terminal root(([[manuel:terminal]])), créons un répertoire de travail(([[commande:mkdir]])) que nous nommerons //debinst//((par exemple...)) dans // /mnt// par exemple : | + | Pour cela, en terminal root(([[:doc:systeme:terminal]])), créons un répertoire de travail(([[:doc:systeme:mkdir]])) que nous nommerons //debinst//((par exemple...)) dans // /mnt// par exemple : |
- | <code bash> | + | <code root> |
mkdir /mnt/debinst | mkdir /mnt/debinst | ||
</code> | </code> | ||
- | Puis, montons la partition(([[commande:mount]])) sur ce point de montage ainsi : | + | Puis, montons la partition(([[:doc:systeme:mount]])) sur ce point de montage ainsi : |
- | <code bash> | + | <code root> |
- | mount /dev/sda1 /mnt/debinst | + | mount /dev/sda3 /mnt/debinst |
</code> | </code> | ||
Ligne 75: | Ligne 81: | ||
Nous allons maintenant utiliser un outils spécialement conçu par Debian pour installer un système minimaliste : **debootstrap**. \\ | Nous allons maintenant utiliser un outils spécialement conçu par Debian pour installer un système minimaliste : **debootstrap**. \\ | ||
- | Puis, une fois ce système installé, nous en ferons la racine de notre système afin de le préparer pour être autonome grâce à **chroot**(([[manuel:chroot]])). | + | Puis, une fois ce système installé, nous en ferons la racine de notre système afin de le préparer pour être autonome grâce à **chroot**(([[:doc:systeme:chroot]])). |
- | <note important>**Debootstrap** utilise uniquement des commandes bash comme **wget** et **ar** **zcat** sera également nécessaire. Vérifier que ces commandes soient bien installées sur votre système.</note> | + | <note important>**Debootstrap** utilise uniquement des commandes bash comme **wget** et **ar** ; **zcat** sera également nécessaire. Vérifier que ces commandes soient bien installées sur votre système.</note> |
==== Installer le paquet Deboostrap ==== | ==== Installer le paquet Deboostrap ==== | ||
- | <note tip>Toutes les commandes suivantes sont des commandes d'administration et donc à faire en terminal root !</note> | + | Votre distribution en place a peut-être packagé **debootstrap**. Dans ce cas, installez-le avec votre gestionnaire de paquet(([[:doc:systeme:apt:aptitude]])). |
- | Votre distribution en place a peut-être packagé **debootstrap**. Dans ce cas, installez-le avec votre gestionnaire de paquet(([[manuel:commande_aptitude]])). | + | <code root> |
- | + | apt-get install debootstrap | |
- | ==== Installation avec le .deb ==== | + | |
- | + | ||
- | Dans le cas contraire, rien n'est perdu :-) \\ | + | |
- | On peut installer le .deb sur n'importe quelle distribution disposant de **ar** et **zcat**. | + | |
- | + | ||
- | Pour cela, créons un répertoire de travail et téléchargons(([[commande:wget]])) **debootstrap** ainsi : | + | |
- | <code bash> | + | |
- | mkdir /root/work</code> | + | |
- | + | ||
- | <code bash> | + | |
- | cd /root/work</code> | + | |
- | + | ||
- | <code bash> | + | |
- | wget http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.42_all.deb</code> | + | |
- | + | ||
- | Décompressons ensuite l'archive : | + | |
- | <code bash> | + | |
- | ar -x debootstrap_1.0.42_all.deb | + | |
- | cd / | + | |
- | zcat /root/work/data.tar.gz | tar xv | + | |
</code> | </code> | ||
===== Lançons Debootstrap ===== | ===== Lançons Debootstrap ===== | ||
- | Soit : | + | <code root> |
- | <code bash> | + | |
debootstrap --arch ARCH BRANCHE /mnt/debinst http://ftp.fr.debian.org/debian | debootstrap --arch ARCH BRANCHE /mnt/debinst http://ftp.fr.debian.org/debian | ||
</code> | </code> | ||
- | En remplaçant //dans la commande ci-dessus// respectivement ARCH et BRANCHE par l'architecture (i386, amd64 ...) et la branche (squeeze, wheezy, unstable, experimental) souhaitées. | + | En remplaçant //dans la commande ci-dessus// respectivement ARCH et BRANCHE par l'architecture (i386, amd64 ...), la branche (squeeze, wheezy, unstable, experimental) et l'adresse du miroir (http://snapshot.debian.org/... par exemple) souhaitées. |
- | + | ||
- | Soit : \\ | + | |
- | Si vous avez installé **Debootstrap** avec le .deb | + | |
- | <code bash> | + | |
- | /usr/sbin/debootstrap --arch ARCH BRANCHE /mnt/debinst http://ftp.fr.debian.org/debian | + | |
- | </code> | + | |
Lorsque la console vous rend la main, votre Debian minimale est installée. \\ | Lorsque la console vous rend la main, votre Debian minimale est installée. \\ | ||
Ligne 130: | Ligne 109: | ||
Pour l'instant, notre nouveau système est incapable de dialoguer avec les différentes ressource de la machine. Il va donc falloir lui indiquer où ce trouvent ces ressources. Nous allons donc monter Les répertoire //proc// et //dev//: | Pour l'instant, notre nouveau système est incapable de dialoguer avec les différentes ressource de la machine. Il va donc falloir lui indiquer où ce trouvent ces ressources. Nous allons donc monter Les répertoire //proc// et //dev//: | ||
- | <code bash> | + | <code root> |
mount -t proc none /mnt/debinst/proc</code> | mount -t proc none /mnt/debinst/proc</code> | ||
- | <code bash> | + | <code root> |
mount -o bind /dev /mnt/debinst/dev</code> | mount -o bind /dev /mnt/debinst/dev</code> | ||
Et on peut maintenant chrooter : | Et on peut maintenant chrooter : | ||
- | <code bash> | + | <code root> |
chroot /mnt/debinst /bin/bash | chroot /mnt/debinst /bin/bash | ||
</code> | </code> | ||
Ligne 147: | Ligne 126: | ||
=== Mot de passe root === | === Mot de passe root === | ||
- | root n'a pas de mot de passe(([[commande:passwd))]])) et ne pourra donc pas se connecter lors du prochain démarrage :-\ | + | root n'a pas de mot de passe(([[doc:systeme:passwd]])) et ne pourra donc pas se connecter lors du prochain démarrage :-\ |
- | <code bash> | + | <code root> |
passwd | passwd | ||
Enter the UNIX password : </code> | Enter the UNIX password : </code> | ||
- | === Installons un noyau === | + | ==== Installons un noyau ==== |
- | Notre système n'a pas encore de noyau. Il faut donc installer celui qui correspond à la BRANCHE et l'ARCHITECTURE installée(([[manuel:commande_aptitude#choisir_une_image_kernel]])) | + | Notre système n'a pas encore de noyau. Il faut donc installer celui qui correspond à la BRANCHE et l'ARCHITECTURE installée(([[:doc:systeme:apt:aptitude#choisir_une_image_kernel]])) (remplacer ARCH par votre architecture) |
- | * **Squeeze** : linux-image-2.6.32-5-ARCH | + | * **Wheezy** : linux-image-3.2.0-4-ARCH |
- | * **Wheezy** : linux-image-3.2.0-2-ARCH | + | * **Jessie** : linux-image-3.10-2-ARCH |
* **Sid** : ça dépend, c'est Sid :-D | * **Sid** : ça dépend, c'est Sid :-D | ||
- | <code bash> | + | <code root> |
- | aptitude update | + | apt-get update |
- | aptitude install linux-image...</code> | + | apt-get install linux-image...</code> |
- | === fstab === | + | ==== fstab ==== |
- | Il faut créer un [[manuel:config:fstab| fichier fstab]] avec votre éditeur de texte préféré ( au fait, vous êtes plutôt [[commande:editeur:nano|nano]] ou [[commande:editeur:vim|vim]] ? ;-) ). | + | Il faut créer un [[:doc:editeurs:vim:vim|vim]] ? ;-) ). |
- | Voici un fstab minimal, adapté à l'exemple de notre disque, qui <del>peut</del> doit être changé par la suite pour y inclure les bonnes options de montage et les UUID(([[commande:blkid]])) | + | Voici un fstab minimal, adapté à l'exemple de notre disque, qui <del>peut</del> doit être changé par la suite pour y inclure les bonnes options de montage et les UUID(([[:doc:systeme:blkid]])) |
- | <code> | + | <file> |
proc /proc proc defaults | proc /proc proc defaults | ||
/dev/sdb2 none swap sw 0 0 | /dev/sdb2 none swap sw 0 0 | ||
- | /dev/sdb3 / ext3 defaults 0 1 | + | /dev/sdb3 / ext3 errors=remount-ro 0 1 |
/dev/sdb4 /home ext3 defaults 0 2 | /dev/sdb4 /home ext3 defaults 0 2 | ||
- | </code> | + | </file> |
+ | |||
+ | <note tip>Pour indiquer directement les UUID dans votre fstab, comme on ne peut pas copier/coller <code bash>blkid >> /etc/fstab</code> ;-)</note> | ||
- | === Le réseau === | + | ==== Le réseau ==== |
- | == Nom de machine == | + | === Nom de machine === |
éditez ///etc/hostname// et donnez lui le nom de votre machine (celui qui se retrouve dans le prompt.) | éditez ///etc/hostname// et donnez lui le nom de votre machine (celui qui se retrouve dans le prompt.) | ||
- | <code bash> | + | <code root> |
mon_premier_chroot</code> | mon_premier_chroot</code> | ||
- | == Le fichier interfaces == | + | === Le fichier interfaces === |
- | Editez [[manuel:interfaces|/etc/network/interfaces]] | + | Editez [[:doc:reseau:interfaces|/etc/network/interfaces]] |
En fonction du nom de votre carte réseau (//eth0// par exemple) | En fonction du nom de votre carte réseau (//eth0// par exemple) | ||
- | <code> | + | <file> |
auto lo | auto lo | ||
iface lo inet loopback | iface lo inet loopback | ||
Ligne 196: | Ligne 177: | ||
auto lo | auto lo | ||
iface eth0 inet dhcp | iface eth0 inet dhcp | ||
- | </code> | + | </file> |
- | === Les locales === | + | ==== Les locales ==== |
Histoire d'avoir tous les outils pour configurer le clavier //azerty// lors du prochain démarrage | Histoire d'avoir tous les outils pour configurer le clavier //azerty// lors du prochain démarrage | ||
- | <code bash> | + | <code root> |
- | aptitude install locales console-data | + | apt-get install locales console-data |
</code> | </code> | ||
Pour relancer la configuration : | Pour relancer la configuration : | ||
- | <code bash> | + | <code root> |
- | dpkg-reconfigure locale</code> | + | dpkg-reconfigure locales</code> |
- | === Chargeur d'amorçage === | + | ==== Chargeur d'amorçage ==== |
À ce stade, vous pouvez : | À ce stade, vous pouvez : | ||
- | * installer Grub2(([[manuel:grub2]])) dans le chroot : <code bash>aptitude install grub2</code> | + | * installer Grub2(([[:doc:systeme:grub2]])) dans le chroot : <code root>apt-get install grub2</code> |
- | * ou utiliser le chargeur d'amorçage du système père. Il vous faut donc d'abord sortir du chroot : <code bash>exit</code> puis : <code bash>update-grub</code> | + | * ou utiliser le chargeur d'amorçage du système père. Il vous faut donc d'abord sortir du chroot : <code root>exit</code> puis : <code root>update-grub</code> |
- | Et voilà, AU redémarrage, vous aurez un beau système //minimaliste// utilisable pour : | + | Et voilà, au redémarrage, vous aurez un beau système //minimaliste// utilisable pour : |
- | * Changer le [[manuel:sources.list|sources/list]] | + | * Changer le [[:doc:systeme:apt:sources.list|sources/list]] |
* Créer des utilisateurs : <code bash>adduser new_utilisateur</code> | * Créer des utilisateurs : <code bash>adduser new_utilisateur</code> | ||
* Installer un [[http://wiki.debian-facile.org/#environnements_graphiques_gnu_linux|environnement graphique]] | * Installer un [[http://wiki.debian-facile.org/#environnements_graphiques_gnu_linux|environnement graphique]] |