Migrer de Ubuntu vers Debian Lenny

Parfois, on se rend compte qu'on fait une erreur et il est bon de pouvoir revenir en arrière sans tout casser...

Je ne lancerais pas de troll velu sur la comparaison Debian/Ubuntu, ça prendrait des heures et le débat n'avancerai sans doute pas. Par rapport à mes besoins, j'ai quand même remarqué quelquechose depuis que j'utilise Ubuntu: * Je me suis bien pris la tête avec les pilotes nvidia sur cette distribution * Je ne fais absolument plus d'administration système chez moi * Mais, je perds complètement la main sur le système qui m'installe par défaut des trucs dont je n'ai pas besoin. * Finalement, c'est assez lent comme distribution sur mon matériel (AMD Sempron 2400+) * Je ne sais plus comment fonctionne les outils de la distribution * Pire: de nouvelles technos/applis/socle de base apparaissent et je ne m'en soucie plus: Ubuntu le gère pour moi * Mes connaissances en informatique stagnent etc...

Au final, on en revient toujours Debian et son contrat social clair et net. J'ai plus envie que mon système d'exploitation tourne avec cette distribution histoire d'effacer tout ce que j'ai énoncé plus haut ! Sauf que maintenant, je n'ai plus trop le choix: comme la majorité des personnes de ce bas monde, j'ai déjà installé mon système (sys+user data) sur toutes les partitions du disque: plus moyen d'installer autre chose avec un CD d'installation. En plus de tout ça, quel est l'intérêt d'utiliser un CD d'installation ? Je ne vais pas perdre de l'énergie à presser une galette de plastique pour installer un OS quasi-identique (mais en mieux on l'aura compris) à celui qui tourne sur ma machine !

Voyons donc en pratique ce que cela peut donner...

Etape n°1:faire de la place !

Avant d'installer une distribution, il convient de voir où on peut la mettre. Pour cela , quelques outils comme un shell et parted.

GNU Parted 1.8.8
On utilise /dev/sda
Bievenue sur GNU Parted ! Tappez 'help' pour voir la liste des commandes.
(parted) p                                                                
Model: ATA ST3320620AS (scsi)
Disque /dev/sda : 320GB
Taille des secteurs (logiques/physiques): 512B/512B
Table de partition : msdos

Numéro  Début   Fin     Taille  Type      Système de fichiers  Fanions
 1      32,3kB  20,0GB  20,0GB  primary   ext3                        
 2      20,0GB  21,5GB  1497MB  primary   linux-swap                  
 3      21,5GB  31,5GB  10,0GB  primary   ext3                        
 4      31,5GB  320GB   289GB   extended                              
 5      31,5GB  242GB   210GB   logical   ext3                        
 6      242GB   320GB   78,6GB  logical   ext3

Etape n°2: Debootstrap vient à notre secours:

Maintenant que nous disposons de suffisamment de place, nous pouvons installer un système Debian de base. On peut utiliser la méthode classique: booter sur un CD-ROM ou une clef USB et utiliser l'installeur Debian. Toutefois, cela implique une opération un peu fastidieuse de récupération d'image ISO sur Internet, sa gravure sur un média supplémentaire et de suivre le déroulement d'une installation. En plus, c'est bête de ne pas pouvoir utiliser un système GNU/Linux à partir d'un autre système GNU/Linux.

La distribution Debian nous offre un outil très intéressant nommé Debootstrap. Ce programme assez basique se charge de récupérer les paquets d'une installation de base de la distribution Debian de son choix (stable/testing ou autre). Je vous invite à lire le Wiki sur ce point: http://wiki.debian.org/fr/Debootstrap . Dans notre cas, nous utilisons les commandes suivantes:

  • # mount /dev/hdb2 /media/hdb2
  • # debootstrap lenny /media/hdb2 http://ftp.fr.debian.org/debian

Etape n°3: On configure l'OS de base à notre sauce:

Ca y est, nous disposons sur une partition de disque dur d'une distribution Debian, reste à pouvoir booter dessus...

  • Rediriger le système proc et dev sur le système installé
  • Se connecter avec chroot
  • Ensuite, un petit aptitude update et aptitude safe-upgrade s'impose.
  • On peut maintenant installer grub: aptitude install grub
  • Ensuite, il faut également ajouter un noyau linux (pour l'instant, il n'y en a pas !): aptitude install
  • Pour ma part, j'ai également ajouté un bureau graphique: Gnome: aptitude install gnome
  • Reste à créer un utilisateur de base: adduser utilisateurdebase
  • On peut également ajouter le support des locales: aptitude install locales suivi de dpkg-reconfigure locales.

Maintenant, il reste à configurer tout pour que ça boote:

  • En premier lieu, disposer d'un fichier /etc/fstab digne de ce nom ! En voici un exemple minimaliste:

    # /etc/fstab: static file system information.
    #
    /dev/hdb2       /       ext3    defaults,eroors=remount-ro      0       1
    proc            /proc   proc    defaults                        0       0
    /dev/sda3       /home   ext3    defaults                        0       2
    
  • Vient ensuite la configuration de grub. Pour ma part, j'ai gardé le grub de l'ancienne distribution et j'ai ajouté une entrée dans le fichier /boot/grub/menu.lst:

    title           Debian Lenny, noyau 2.6.24
    root            (hd1,1)
    kernel          /vmlinuz root=/dev/hdb2 ro
    initrd          /initrd.img
    quiet
    
  • Enfin, on effectue un petit nettoyage de tout ça: aptitude clean

Etape n°4: On réinitialise la machine:

On reboot de l'OS qui nous a servi à installer notre distribution et nous voilà avec une distribution bien fraîche...