====== Installer Debian avec Debootstrap et Chroot ====== * Objet : Installer Debian depuis un système GNU/Linux * 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 ... // * 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. * [[: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]] le 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 ===== * Une distribution Gnu/Linux installée et fonctionnelle ou un Live CD * De la place sur votre disque dur. * Une connexion réseau ===== Imaginons ... ===== Imaginons un système GNU/Linux fonctionnel avec un disque dur partitionné comme ceci : /dev/sda1 Votre super distrib /dev/sda2 swap 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(([[: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 :-? 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 alors, me direz vous, pourquoi tant de tracasseries? \\ Je vous répondrai que ce mode d'installation permet : - D'installer Debian sur un PC incapable de booter sur un CD ou une clé USB - D'installer une Debian minimale adaptée à vos souhaits. - De choisir sa branche. - De changer d'architecture. - ... ===== Préparons le terrain ===== En premier lieu , commençons par organiser l'espace disponible(([[:doc:systeme:partitionnement]])). \\ 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//. \\ Pour cela, votre utilitaire habituel(([[/doc:systeme:gparted|Gparted]], [[:doc:systeme:cfdisk|cfdisk]])) fera parfaitement l'affaire. Nous nous retrouvons alors avec la structure suivante : /dev/sda1 Votre super distrib /dev/sda2 swap /dev/sda3 vide /dev/sda4 vide Dans un terminal root(([[:doc:systeme:terminal]])), avec l'outil //mke2//, formatons((Voir aussi la commande : [[:doc:systeme:mkfs]])) ces deux partitions mke2fs -t ext4 /dev/sda3 mke2fs -t ext4 /dev/sda4 Nous devons monter(([[:doc:systeme:mount]])) la première partition afin d'accueillir notre futur Debian. Pour cela, en terminal root(([[:doc:systeme:terminal]])), créons un répertoire, qui va servir de point de mountage, (([[:doc:systeme:mkdir]])) que nous nommerons //debinst//((par exemple...)) dans // /mnt// par exemple : mkdir /mnt/debinst Puis, montons la partition(([[:doc:systeme:mount]])) sur ce point de montage ainsi : mount /dev/sda3 /mnt/debinst ===== Préparons les outils ===== 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**(([[:doc:systeme:chroot]])). **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. ==== Installer le paquet Deboostrap ==== Votre distribution en place a peut-être packagé **debootstrap**. Dans ce cas, installez-le avec votre gestionnaire de paquet(([[:doc:systeme:apt:aptitude]])). apt-get install debootstrap ===== Lançons Debootstrap ===== debootstrap --arch ARCH BRANCHE /mnt/debinst http://ftp.fr.debian.org/debian 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. Lorsque la console vous rend la main, votre Debian minimale est installée. \\ Reste à la rendre autonome ... ===== chroot ===== //Chrootons, petits patapons// 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//: mount -t proc none /mnt/debinst/proc mount -o bind /dev /mnt/debinst/dev Et on peut maintenant chrooter : chroot /mnt/debinst /bin/bash ===== Finalisations ===== Il va maintenant falloir préparer notre système pour être utilisable. === Mot de passe root === root n'a pas de mot de passe(([[doc:systeme:passwd]])) et ne pourra donc pas se connecter lors du prochain démarrage :-\ passwd Enter the UNIX password : ==== 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(([[:doc:systeme:apt:aptitude#choisir_une_image_kernel]])) (remplacer ARCH par votre architecture) * **Wheezy** : linux-image-3.2.0-4-ARCH * **Jessie** : linux-image-3.10-2-ARCH * **Sid** : ça dépend, c'est Sid :-D apt-get update apt-get install linux-image... ==== fstab ==== Il faut créer un [[:doc:editeurs:vim:vim|vim]] ? ;-) ). Voici un fstab minimal, adapté à l'exemple de notre disque, qui peut doit être changé par la suite pour y inclure les bonnes options de montage et les UUID(([[:doc:systeme:blkid]])) proc /proc proc defaults /dev/sdb2 none swap sw 0 0 /dev/sdb3 / ext3 errors=remount-ro 0 1 /dev/sdb4 /home ext3 defaults 0 2 Pour indiquer directement les UUID dans votre fstab, comme on ne peut pas copier/coller blkid >> /etc/fstab ;-) ==== Le réseau ==== === Nom de machine === éditez ///etc/hostname// et donnez lui le nom de votre machine (celui qui se retrouve dans le prompt.) mon_premier_chroot === Le fichier interfaces === Editez [[:doc:reseau:interfaces|/etc/network/interfaces]] En fonction du nom de votre carte réseau (//eth0// par exemple) auto lo iface lo inet loopback allow-hotplug eth0 auto lo iface eth0 inet dhcp ==== Les locales ==== Histoire d'avoir tous les outils pour configurer le clavier //azerty// lors du prochain démarrage apt-get install locales console-data Pour relancer la configuration : dpkg-reconfigure locales ==== Chargeur d'amorçage ==== À ce stade, vous pouvez : * installer Grub2(([[:doc:systeme:grub2]])) dans le chroot : apt-get install grub2 Grub2 va proposer une liste de différents endroits où il peut être installé. Au moins, à la racine de vos disques durs (''/dev/sdx'') et la partition depuis laquelle vous faites l'installation (''/dev/sdxn''). Réfléchissez bien et dans le doute, pour éviter l'écrasement de votre grub principal, **préférez la partition en cours**. \\ Il vous faudra ensuite [[doc:systeme:grub2:installation |chaîner ce grub]] avec le grub principal. * ou utiliser le chargeur d'amorçage du système père. Il vous faut donc d'abord sortir du chroot : exit puis : update-grub ==== Booter sur votre nouvelle distribution ==== Et voilà, au redémarrage, vous aurez un beau système //minimaliste// utilisable pour : * Changer le [[:doc:systeme:apt:sources.list|sources/list]] * Créer des utilisateurs : adduser un_nouvel_utilisateur * Installer un [[http://wiki.debian-facile.org/#environnements_graphiques_gnu_linux|environnement graphique]] ===== Liens ===== * [[http://www.debian.org/releases/stable/mips/apds03.html.fr|la doc de Debian]] * [[http://maniatux.fr/index.php?article45/installer-debian-avec-debootstrap|Le blog de Maniatux]]