Voici un journal qui va en intéresser plus d'un, je vais vous expliquer comment accélérer le démarrage de votre Debian unstable.
Ceci est possible grâce à un nouveau logiciel libre initng qui remplace avantageusement init : http://initng.thinktux.net
initng parallélise le démarrage des démons en ayant une gestion de dépendances (par exemple udev doit démarrer avant les autres démons).
ATTENTION !!! Ceci est encore considéré comme expérimental par les développeurs Debian, je décline toute responsabilité si votre debian ne démarre plus. Néanmoins, la procédure est facilement réversible.
J'explique ici comment faire avec grub, mais si vous avez encore lilo, y'a une explication en anglais sur le site officiel.
1° Allez récupérer la dernière version d'initng sur : http://alioth.debian.org/projects/pkg-initng/
2° installez-la avec la commande dpkg -i initng_[VERSION].deb
3° éditez en root le fichier /boot/grub/menu.lst et recherchez la ligne qui commence par : # kopt=
4° ajoutez ceci à la fin de cette ligne : init=/sbin/initng
5° enregistrez le fichier, puis lancez la commande : update-grub
6° redémarrez et mettez le chrono :-)
=============
Mini FAQ
Q: J'ai redémarré mais rien ne fonctionne, comment revenir en arrière ?
R: Au démarrage de l'ordinateur, dans le menu de grub, il est possible d'éditer les options de démarrage en appuyant sur la touche "e". Il suffit de supprimer init=/sbin/initng de la ligne pour revenir à l'ancien système. Après le démarrage, il faudra rééditer /boot/grub/menu.lst, enlever init=/sbin/initng et lancer update-grub
Q: Le démon XXX n'est plus au démarrage, comment le mettre au démarrage par défaut ?
R: Il faut savoir que le dossier /etc/init.d ainsi que les /etc/rcX.d n'est pas utilisé par initng.
À la place nous avons les commandes :
# ng-update show
affiche les démons qu'on peut lancer.
# ng-update add daemon/nom_du_démon default
met le démon au démarrage de l'ordinateur.
# ng-update del daemon/nom_du_démon default
supprime le démon au démarrage de l'ordinateur.
# ngc -u nom_du_démon
lance le démon
# ngc -d nom_du_démon
arrête le démon
# ngc -j nom_du_démon
redémarre le démon
=============
J'espère que ce mini-howto vous sera utile. J'ai découvert initng ce week-end et ce projet à l'air très prometteur. Je ne peux que vous conseiller de lire la doc http://initng.thinktux.net/index.php/Documentation ainsi que les pages man des différents logiciels.
initng n'utilise pas les scripts bash pour lancer les démons mais un fichier de configuration pour chaque démon.
Pour ma part, je trouve que ces fichiers de configuration sont bien plus lisibles que les scripts bash.
Enfin, il est également possible d'écrire des plugins pour initng.
N'hésitez à tester ce logiciel, à écrire un fichier de configuration pour votre démon préféré si cela n'a déjà été fait, à rapporter des bugs.
# ...
Posté par M . Évalué à 3.
Il repond pas a la question que tu poses dans le titre, a savoir combien est-ce que tu as gagné...
[^] # Re: ...
Posté par Dr BG . Évalué à 7.
Ceci dit, c'est tout de même une question pertinente.
# Argh
Posté par Anonyme . Évalué à 4.
Il y a un prob. Un seul.
Le server X refuse de se lancer avec startx, il dit qu'il ne trouve pas le device /dev/input/mice...
J'ai le droit de faire la tête ?
# En cours d'intégration à Fedora Extras
Posté par Aurélien Bompard (site web personnel) . Évalué à 5.
Le gain de vitesse est très visible, c'est de l'ordre de 2 fois chez moi, avec tous les mêmes services lancés (attention aux comparaisons, par défaut initng ne lance pas tous les services qui étaiens configurés dans SysVinit).
# ubuntu
Posté par manatlan (site web personnel) . Évalué à 5.
voici un meilleur tuto, avec beaucoup de feedback
http://www.ubuntuforums.org/showthread.php?t=80423&highl(...)
[^] # Re: ubuntu
Posté par Ludovic Gasc . Évalué à 2.
# Comme quoi gentoo :)
Posté par MsK` . Évalué à 2.
[^] # Re: Comme quoi gentoo :)
Posté par Frédéric COIFFIER . Évalué à 3.
Parce que c'est vrai que le démarrage de la Gentoo chez moi, c'est lent.
[^] # Re: Comme quoi gentoo :)
Posté par Tr4m0 . Évalué à 3.
Ca fait des mois que ça existe chez gentoo, y compris dans la version stable.
*yawn*
[^] # Re: Comme quoi gentoo :)
Posté par Victor . Évalué à 2.
[^] # Re: Comme quoi gentoo :)
Posté par chtitux (site web personnel) . Évalué à 2.
!!! All ebuilds that could satisfy "initng" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-apps/initng-9999 (masked by: -* keyword)
- sys-apps/initng-0.4.0 (masked by: ~x86 keyword)
- sys-apps/initng-0.4.4 (masked by: ~x86 keyword)
Mais Gentoo gère ça "par défaut", alors qu'aucun outil ne le fait sous Debian.
Il a fallut coder un nouveau projet avec une idée existante.
[^] # Re: Comme quoi gentoo :)
Posté par Frédéric COIFFIER . Évalué à 4.
# Et un Poster en prime
Posté par Raoul Volfoni (site web personnel) . Évalué à 6.
Je crois que la solution adoptée par Gentoo de repenser le SysV est de loin la meilleure: pas besoin de se creuser la tête pour définir l'ordre de démarrage des démons, les scripts de gestion déterminent tout ça eux-même en fonction des dépendances annonçées dans les scripts de démarrage des démons.
De fait sous Gentoo la parallélisation est tout à fait naturelle et intégrée de base dans init dès lors que le fichier rc mentionne cette option. L'idée a donc germée chez les autres distrib de fournir un init modifié qui en fasse de même sans toutefois remettre en cause le SysV.
Et puis l'année dernière Owen Taylor un développeur de RedHat a proposé le challenge de faire un poster représentant l'utilisation des ressources pendant le démarrage. De là est né le projet Bootchart ( http://www.bootchart.org/ ) qui représente de façon fort sympatique les différentes étapes du boot et l'utilisation des ressources de la machine. On a ensuite vu fleurir tout un tas de posters avec et sans parallélisation. J'avoue redémarrer trop rarement mes machines pour m'être interessé au projet, mais en cherchant un peu on doit facilement pouvoir retrouver ces exemples.
[^] # Re: Et un Poster en prime
Posté par BAud (site web personnel) . Évalué à 2.
http://www.bootchart.org/samples.html
Fedora * SUSE Linux * Gentoo * Ubuntu * Debian * Mandriva * Source Mage Linux * Conectiva Linux * Frugalware Linux * KNOPPIX * Solaris 10 * Mac OS X
la page du wiki de mandriva ne fonctionne plus du fait du changement de noms de domaines : par ici maintenant http://qa.mandriva.com/twiki/bin/view/Main/BootTimeOptimisat(...)
# quel démarrage ?
Posté par B16F4RV4RD1N . Évalué à 2.
"A quoi est-ce que cela sert, vu que ma machine ne redémarrage jamais ?" ;)
Cela dit, blague à part, cela semble très intéressant, surtout pour pallier à la réputation de lenteur de démarrage de linux. Je vais tester sur mon vieux pentium qui fait tellement de bruit que je suis obligé, lui, de l'éteindre dès que je ne l'utilise pas :)
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
# Pour booter plus vite, utilisez l'hibernation
Posté par Victor STINNER (site web personnel) . Évalué à 2.
C'est configuré de base dans Ubuntu.
Haypo
[^] # Re: Pour booter plus vite, utilisez l'hibernation
Posté par farib . Évalué à 2.
[^] # Re: Pour booter plus vite, utilisez l'hibernation
Posté par Rin Jin (site web personnel) . Évalué à 4.
Dispo sur tout les OS, pas seulement Ubuntu!
[^] # Re: Pour booter plus vite, utilisez l'hibernation
Posté par imalip . Évalué à 5.
[^] # Re: Pour booter plus vite, utilisez l'hibernation
Posté par Sebastien . Évalué à 3.
Comme quoi, quand on veut on peut: il suffisait d'y penser :)
# Faut juste savoir
Posté par alexissoft . Évalué à 1.
* Il n'y a pas si longtemps de cela les RPC (pour dire à l'init, coupe le système etc...) c'était via 2 fifos : une d'entrée et une de sortie. Heureusement qu'ils sont sur des sockets unix maintenant.
* Quand je leur ai dit que << votre init segfaulte, il faudrait peut-être mettre un handler sur le segfault et faire un boucle infinie avec un sleep dedans histoire de pas boofer 100% du CPU ? >> (car au passage, un init qui segfaulte prend 100% du CPU) ils ont répondu : << oui mais c'est idiot, un handler ça captera jamais le segfault ! >> (regardez KDE, le programme qui lance tout seul le panneau informant que vous avez eu un segfault, c'est pas un exemple du fait que ça marche ?)
Merci à phh pour m'avoir pas mal informé sur la construction des init
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.