XHTML.net

Technology talks by Loïc d’Anterroches

News, articles, PHP, scripts, XHTML/CSS, …

  1. Home
  2. News

Optimiser le démarrage d'Ubuntu Linux

The 2004-12-19 at 17:28 by Loïc d'Anterroches filed under News.

Un bien grand mot, pour une petite astuce permettant d’avoir un démarrage plus rapide d’Ubuntu Linux. Vous avez peut-être remarqué qu’au démarrage, dans la liste des programmes qui se lancent et des actions réalisées, vous vous retrouvez avec une gestion des disques RAID et la surcouche LVM pour pouvoir étendre vos partitions. Dans mon cas, installation standard sur un seul disque d’un ordinateur portable, je n’ai pas besoin de tout cela. Comment ne pas lancer ces programmes inutiles ?

Si vous venez du monde Windows, vous avez peut-être entendu parler des services. Les services sont des logiciels qui tournent en tache de fond. Certains sont très importants, d’autres un peu moins voir inutiles. Pour choisir quand et comment les services sont lancés au démarrage du système Linux, pas besoin d’aller éditer une base de registre ou passer par un logiciel complexe. Il suffit de créer ou supprimer un raccourci (symlink) au bon endroit. C’est comme mettre un raccourci dans le menu démarrer de Windows.

Pour rappel, quand on démarre Linux, on démarre en mode 2 ou 5. Cela veut dire avec simplement une ligne de commande ou en mode graphique. De la même façon qu’il y a des modes de démarrage, il y a des modes d’arrêt, car quand vous arrêtez votre ordinateur, tous les programmes doivent s’arrêter correctement et sauvegarder leurs données si nécessaire.

On va donc utiliser un petit programme en ligne de commande pour enlever les raccourcis des modes de démarrage. Ouvrez un terminal et suivez le guide :

On va d’abord dans le répertoire avec toute la configuration de votre système :

$ cd /etc/

On va regarder la liste des répertoires qui contiennent les raccourcis (symlink) pour chacun des modes :

$ ls -d rc*.d
rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d  rcS.d

Pour chacun des modes de 1 à 6 et le cas S comme Single, vous avez une liste de liens vers des scripts pour lancer les services. Par exemple regardez ce qui se passe en mode 2 :

$ cd rc2.d
$ ls

Vous verrez une grande liste de fichiers : S10sysklogd, S20alsa, S20inetd, S20powernowd, etc. Sur le principe, c’est tout simple, le S veut dire start, ensuite vous avec 2 chiffres, pour l’ordre d’exécution des scripts, 10 sera avant 20. Maintenant on peut être intéressé à savoir où vont ces raccourcis.

$ ls -l

Vous pouvez voir que ce ne sont que des liens vers des scripts dans le répertoire /etc/init.d/, allons voir ce qu’il y a dedans

$ cd /etc/init.d/
$ ls

Vous trouvez maintenant la liste complète des scripts lancés à différents moments de la vie de votre système, le moment dépend juste de la place et du nom du raccourci dans les répertoires rcX.d. Tout simple non ?

Maintenant, les scripts que nous voulons enlever sont mdadm, mdadm-raid, evms et lvm. On ne va pas supprimer les scripts, mais simplement les raccourcis. Pour ne pas tout faire à la main, un script fait le travail pour nous update-rc.d. Attention quand vous utilisez ce script, vous pouvez rendre votre système inutilisable si vous supprimer un service vital du cycle de démarrage.

$ sudo update-rc.d -f mdadm remove

Il vous montre au passage la liste des raccourcis supprimés, cela vous donne l’ordre pour chacun des modes, au cas où vous voulez recréer les raccourcis. Lancez la commande pour chacun des scripts, et le tour est joué.

$ sudo update-rc.d -f mdadm-raid remove
$ sudo update-rc.d -f evms remove
$ sudo update-rc.d -f lvm remove

Et voilà, c’est tout simple ! Il existe des programmes pour faire ces changements via une interface graphique, mais savoir ce qui se passe vraiment et ce que les interfaces font aident à la compréhension du système et enlève le côté magique de la chose.

Mise à jour le 23 janvier 2005 : Joaquim Fellmann m’a fait remarquer que rcS.d est pour le mode single user et non start. Par ailleurs les modes de 1 à 6 seraient peut-être mieux traduits par niveaux, en effet en anglais c’est run level, comme niveau d’exécution.

Comments from readers

Voice your ideas

It is painless and I try not to kill electrons in the process.


Your email is required but will not be shared nor displayed.


Do you think your comment will force me to write even better stuff next time? If so, you simply rock.


Logo of Plume CMS