vendredi 24 février 2017

MANJARO | SYSTEMD

[MODIFIÉ]
J'ai installé Manjaro depuis 3 jours sur une de mes machines. Je suis subjugué et enchanté par sa nervosité. Sans avoir fait grand-chose pour l'optimiser il démarre parfois en 4,2 secondes (si je ne tiens pas compte du passage par l’écran de login, bien-sûr) soit environ 6 à 8 fois plus rapide que mon Ubuntu Mate! Mon PC est un Brix entrée-de-gamme, donc, assez bien, mais pas du tout une Ferrari!

Pour savoir le temps que met votre machine à démarrer (avec la réponse):

Avec Manjaro XFCE sur mon Brix BXBT-2807, 8 GB de RAM, disque SSD:

 $ systemd-analyze
Startup finished in 2.137s (kernel) + 2.157s (userspace) = 4.295s


Eeebox B-202 Asus 2 GB de RAM, SSD moderne

 $ systemd-analyze 
Startup finished in 4.557s (kernel) + 7.647s (userspace) = 12.204s

Phénoménal! Si le Brix est relativement performant (c'est reconnu), ce n'est pas le cas de l'Eeebox qui date de la fin des années 2000 (2009, je pense) et qui était déjà à cette époque quelque peu poussive...

Bientôt, je ferai un article sur Manjaro pour partager mes premières expériences et impressions. À part quelques petites difficultés à retrouver ses marques, Manjaro n'est guère plus compliqué qu'Ubuntu. Et quel bonheur! Quelle bombe! Ce n'est pas une simple impression psychologique, c'est flagrant!

Pour aujourd'hui, je vais simplement vous montrer comment contourner l'absence de rc.local dans Manjaro. Ce fichier n'est pas réellement absent, il est bien là dans /etc/ mais il ne fonctionne pas car probablement désactivé. Dans certaines distros, il est carrément passé à la trappe... En fait, on n'utilise en principe pas rc.local avec systemd.
L'ennui, c'est que gérer Systemd n'est pas à la portée de M. tout-le-monde. Perso, j'utilise depuis lontemps rc.local pour lancer certaines applis automatiquement et notamment mon VPN.


Pour réactiver rc.local (avec un service de systemd)


Créez un fichier service /etc/systemd/system/rc-local.service

sudo gedit /etc/systemd/system/rc-local.service



[MODIFIÉ] Et copiez-collez dedans (version simplifiée):

[Unit]
Description=/etc/rc.local compatibility

[Service]
Type=simple
ExecStart=/etc/rc.local
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

[MODIFIÉ] On notera Type=simple au lieu de oneshot (voir plus bas pourquoi)

Ensuite, dans un Terminal (pour l'activer)

 # sudo systemctl enable rc-local.service 


Pour finir, il suffit de redémarrer.

[MODIFIÉ] Notez que cela peut poser problème détecté par la commande systemd-analyze (voir au début) car celle-ci peut répondre que le boot-up n'est pas terminé (et ne se terminera jamais!). Voir note plus haut [MODIFIÉ] et en fin d'article. C'EST DONC RÉSOLU.


Pour Info: le contenu de mon rc.local


#!/bin/bash
openvpn --config /etc/openvpn/monvpn.ovpn
# Il faut toujours mettre exit 0 à la fin:
exit 0


D'autres commandes intéressantes et en rapport:


  • Liste des services "enabled" (activés):

 systemctl list-unit-files --type=service | grep enabled 


  • Voir les services qui ralentissent (disponible aussi dans Systemd-Manager):

systemd-analyze blame


  • Un utilitaire IN-DIS-PEN-SABLE pour gérer les services lancés par Systemd: Systemd-Manager (recherche Google)


*NOTE: Pourquoi "Type=simple" au lieu de "Type=oneshot" ? À l'origine c'était ce dernier (oneshot) mais quand on faisait un "systemd-analyze", on se rendait-compte que le startup ne finissait jamais ou durait plus de 15 mn! Avec une autres option, il se finissait bien mais le VPN aussi! Avec "simple", pas problème.


Aucun commentaire:

Enregistrer un commentaire

Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.