[systemd] Où placer les systemctl ? (résolu)
[systemd] Où placer les systemctl ? (résolu)
Bonjour,
Suite à un problème de "Date et heure" sous Cinnamon, je suis en train d'essayer de migrer mon installation en "full systemd", mais je suis peut-être gêné par le fait que la doc soit en langue anglaise.
J'ai fini par comprendre qu'il fallait installer le paquet initscripts pour arriver à démarrer en mode mixte, et ça marche, mais tant qu'à faire, je voudrais démarrer mes services sans.
Je lis bien qu'il faut utiliser des commande systemctl, mais je ne vois pas dans quel fichier les mettre, s'il y a des exemples, et comment finaliser ce passage en full.
Merci d'avance de toute aide à ce sujet.
Suite à un problème de "Date et heure" sous Cinnamon, je suis en train d'essayer de migrer mon installation en "full systemd", mais je suis peut-être gêné par le fait que la doc soit en langue anglaise.
J'ai fini par comprendre qu'il fallait installer le paquet initscripts pour arriver à démarrer en mode mixte, et ça marche, mais tant qu'à faire, je voudrais démarrer mes services sans.
Je lis bien qu'il faut utiliser des commande systemctl, mais je ne vois pas dans quel fichier les mettre, s'il y a des exemples, et comment finaliser ce passage en full.
Merci d'avance de toute aide à ce sujet.
Dernière modification par esclapion le dim. 12 août 2012, 22:51, modifié 1 fois.
- widapit
- Maître du Kyudo
- Messages : 1148
- Inscription : mar. 30 mars 2010, 22:53
- Localisation : Toulouse
Re: [systemd] Où placer les systemctl ?
Salut !
euh, tu as regardé par là : http://wiki.archlinux.fr/Systemd ??
sinon, pour les services ils doivent être placés dans
mais je sais pas, j'ai pas trop compris du coup si tu veux le faire en "mixte" avec initscript ou en "full" systemd ?
euh, tu as regardé par là : http://wiki.archlinux.fr/Systemd ??
sinon, pour les services ils doivent être placés dans
/etc/systemd/system/
mais un certain nombre de services sont prêt, tu as juste a lancé Code : Tout sélectionner
systemctl start tonservice.service
routeur(OpenWRT); serveurs(Debian, Arch); cléUSB(Black-Arch);
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
mon ordi(Arch-hardened) = {spectrwm, zsh} || je m'amuse aussi avec des Arduino !
Re: [systemd] Où placer les systemctl ?
Bonjour,
Merci de ta réponse.
Le wiki, oui, je l'ai lu et relu. Je veux passer en full, puisqu'en mixte, ça marche.
De plus, si j'essaie de faire :
systemctl stop alsa
ou
systemctl stop alsa.service
j'obtiens :
Failed to get D-Bus connection: No connection to service manager.
Merci de ta réponse.
Le wiki, oui, je l'ai lu et relu. Je veux passer en full, puisqu'en mixte, ça marche.
OK, je regarde.un certain nombre de services sont prêt
De plus, si j'essaie de faire :
systemctl stop alsa
ou
systemctl stop alsa.service
j'obtiens :
Failed to get D-Bus connection: No connection to service manager.
Re: [systemd] Où placer les systemctl ?
Je viens de regarder, je n'y retrouve pas les miens.sinon, pour les services ils doivent être placés dans /etc/systemd/system/
J'ai ceux-ci :
Code : Tout sélectionner
DAEMONS=(@net-profiles dbus @syslog-ng alsa gdm)
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [systemd] Où placer les systemctl ?
esclapion a écrit :J'ai fini par comprendre qu'il fallait installer le paquet initscripts pour arriver à démarrer en mode mixte, et ça marche, mais tant qu'à faire, je voudrais démarrer mes services sans.
Pas trop bien alors.esclapion a écrit :Le wiki, oui, je l'ai lu et relu.



Pour alsa, les services sont alsa-restore.service et alsa-store.service.
Services
S'il n'y a vraiment rien (esclapion a écrit :et je n'en trouve pas trace ?Code : Tout sélectionner
DAEMONS=(@net-profiles dbus @syslog-ng alsa gdm)
ls -Rl /etc/systemd/system/
), c'est que tu n'as pas démarré sous systemd.«The following statement is not true. The previous statement is true.» 

Re: [systemd] Où placer les systemctl ?
Bonsoir,
Dans mon /etc/default/grub, j'ai mis :
Ce qui entraîne dans /boot/grub/grub.cfg :
Là, sans installer initscripts, je me retrouve dans le bash. En l'installant, ça part.
Que faut-il faire d'autre ? Je n'ai pas lancé de commande, sinon.
Si je regarder dans /etc/systemd/system, je trouve :
Si je lance un grep service */*, j'obtiens :
J'ai dû rater une étape à effectuer, mais justement, ma question est : laquelle ?
(edit)
Et pourquoi, quand je lance un systemctl, je me retrouve avec cette erreur dbus (qui est pourtant lancé (?).
C'est bien possible. J'ai précisé plus haut mes conditions de démarrage.S'il n'y a vraiment rien (ls -Rl /etc/systemd/system/), c'est que tu n'as pas démarré sous systemd.
Dans mon /etc/default/grub, j'ai mis :
Code : Tout sélectionner
GRUB_CMDLINE_LINUX_DEFAULT="quiet nowatchdog elevator=noop loglevel=3 logo.nolog
o splash=silent,fadein,fadeout,theme:arch-black console=tty1"
GRUB_CMDLINE_LINUX="init=/bin/systemd"
Code : Tout sélectionner
linux /boot/vmlinuz-linux root=/dev/sda7 ro init=/bin/systemd quiet no
watchdog elevator=noop loglevel=3 logo.nologo splash=silent,fadein,fadeout,theme
:arch-black console=tty1
Que faut-il faire d'autre ? Je n'ai pas lancé de commande, sinon.
Si je regarder dans /etc/systemd/system, je trouve :
Code : Tout sélectionner
getty.target.wants multi-user.target.wants
local-fs.target.wants sysinit.target.wants
Code : Tout sélectionner
getty.target.wants/getty@tty1.service:After=systemd-user-sessions.service plymouth-quit-wait.service
getty.target.wants/getty@tty1.service:After=rc-local.service
getty.target.wants/getty@tty1.service:# that serial gettys are covered by serial-getty@.service, not this
getty.target.wants/getty@tty1.service:Alias=getty.target.wants/getty@tty1.service
(edit)
Et pourquoi, quand je lance un systemctl, je me retrouve avec cette erreur dbus (qui est pourtant lancé (?).
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [systemd] Où placer les systemctl ?
esclapion a écrit :Si je regarder dans /etc/systemd/system, je trouve :Si je lance un grep service */*, j'obtiens :Code : Tout sélectionner
getty.target.wants multi-user.target.wants local-fs.target.wants sysinit.target.wants
Code : Tout sélectionner
getty.target.wants/getty@tty1.service:After=systemd-user-sessions.service plymouth-quit-wait.service getty.target.wants/getty@tty1.service:After=rc-local.service getty.target.wants/getty@tty1.service:# that serial gettys are covered by serial-getty@.service, not this getty.target.wants/getty@tty1.service:Alias=getty.target.wants/getty@tty1.service

FoolEcho a écrit :Code : Tout sélectionner
ls -Rl /etc/systemd/system/
Il faut installer systemd-sysvcompat à la place d'initscripts, sans quoi tu tombes sur l'initramfs.esclapion a écrit :Là, sans installer initscripts, je me retrouve dans le bash. En l'installant, ça part.
Que faut-il faire d'autre ? Je n'ai pas lancé de commande, sinon.
«The following statement is not true. The previous statement is true.» 

Re: [systemd] Où placer les systemctl ?
Merci, je viens de le faire.Il faut installer systemd-sysvcompat à la place d'initscripts, sans quoi tu tombes sur l'initramfs.
Je l'avais lu, mais comme systemctl ne marchait pas....
Code : Tout sélectionner
[root@arch2 /]# pacman -Qt | grep systemd
systemd 188-2
systemd-sysvcompat 188-2
Donc, à présent, je ne démarre qu'en console, mais systemctl semble marcher, et j'en reviens à ma question de base, c.a.d. où les mettre ?
Bon, dans /etc/systemd/system, peut-être dans multi-user.target.wants, mais sous quelle forme : fichier, lien symbolique ? La syntaxe, je l'ai lue, mais c'est ça qui me bloque.
Aurais-tu un exemple, sur un service, stp ? Je complèterai ensuite sur ma config.
(edit)
Je n'ai toujours aucun service sinon dans /etc/systemd/system, à part les getty précédents.
Re: [systemd] Où placer les systemctl ? (résolu)
salem
pour systemd , regarde sur ce page de wiki
https://wiki.archlinux.org/index.php/Systemd
tu peux commencer par ce sous titre
-A mixed systemd installation ==> pour avoir un systeme mixite donc tu auras le deux methodes si tu bloques sur systemd tu peux y revenir sur l'autre.
pour les services , il y a des services qui sont lancées automatiquement par systemd comme dbus, mais en cas de besoin tu peux les activer
par la commande "systemctl enable nom de service",
pour Windows Manager exemple comme slim ,il faut l activer par la commande "systemctl enable slim.service"
comme tu le sais deja le fichier rc.conf a ete ...disant repartis en plusieurs fichiers , pense à les creer et à les configurer avant de passer sur systemd
bon chance
pour systemd , regarde sur ce page de wiki
https://wiki.archlinux.org/index.php/Systemd
tu peux commencer par ce sous titre
-A mixed systemd installation ==> pour avoir un systeme mixite donc tu auras le deux methodes si tu bloques sur systemd tu peux y revenir sur l'autre.
pour les services , il y a des services qui sont lancées automatiquement par systemd comme dbus, mais en cas de besoin tu peux les activer
par la commande "systemctl enable nom de service",
pour Windows Manager exemple comme slim ,il faut l activer par la commande "systemctl enable slim.service"
comme tu le sais deja le fichier rc.conf a ete ...disant repartis en plusieurs fichiers , pense à les creer et à les configurer avant de passer sur systemd
bon chance
Re: [systemd] Où placer les systemctl ? (résolu)
Bonjour recan,
Merci, mais je viens de passer. Je n'avais pas compris que systemctl, que c'est la 1ère fois que je rencontre, permettait de déclarer les services au démarrage, je cherchais un fichier de commande.
J'ai juste dû rajouter systemd-arch-units pour avoir gdm.service, mais là, Cinnamon démarre bien.
Apparemment, netcfg@.service a du mal à démarrer le réseau. En le remplaçant par netcfg.service, il démarre bien.
J'ai à peu près le même temps de démarrage qu'avec l'ancien système.
Merci, mais je viens de passer. Je n'avais pas compris que systemctl, que c'est la 1ère fois que je rencontre, permettait de déclarer les services au démarrage, je cherchais un fichier de commande.
J'ai juste dû rajouter systemd-arch-units pour avoir gdm.service, mais là, Cinnamon démarre bien.
Apparemment, netcfg@.service a du mal à démarrer le réseau. En le remplaçant par netcfg.service, il démarre bien.
J'ai à peu près le même temps de démarrage qu'avec l'ancien système.
Re: [systemd] Où placer les systemctl ? (résolu)
systemctl
est une commande.Les unités dans
/etc/systemd/system
, c'est pour les modifications, ce qui est par défaut se trouve dans /usr/lib/systemd/system
Les unités ayant @ dans leur noms sont des templates, pour
netcfg@.service
, il faut lui donner un profile.Re: [systemd] Où placer les systemctl ? (résolu)
Bonjour tuxce,
Deux questions, stp :
- peut-on déterminer l'ordre de démarrage des services, avec systemctl ? Je voudrais par exemple démarrer mon réseau en premier, ça me faisait gagner une ou deux secondes avec l'ancien système ;
- ce nom de systemd-sysvcompat m'intrique un peu : pourquoi a-t-on besoin d'un module dont le nom semble vouloir dire "compatibilité systemV" si justement on est un full systemd ?
Oui, merci. Ça je l'avais vu, mais j'étais bêtement parti sur l'idée qu'il fallait la passer à chaque démarrage du PC.systemctl est une commande.
Ok, merci, je vais essayer de décortiquer.Les unités dans /etc/systemd/system, c'est pour les modifications, ce qui est par défaut se trouve dans /usr/lib/systemd/system
Ça, je n'avais pas vu, je vais creuser.Les unités ayant @ dans leur noms sont des templates, pour netcfg@.service, il faut lui donner un profile.
Deux questions, stp :
- peut-on déterminer l'ordre de démarrage des services, avec systemctl ? Je voudrais par exemple démarrer mon réseau en premier, ça me faisait gagner une ou deux secondes avec l'ancien système ;
- ce nom de systemd-sysvcompat m'intrique un peu : pourquoi a-t-on besoin d'un module dont le nom semble vouloir dire "compatibilité systemV" si justement on est un full systemd ?
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [systemd] Où placer les systemctl ? (résolu)
Je me permets... mais tuxce n'hésitera pas à rectifier si je dis des bétises.

Pas que je sache. Mais systemd tentera de lancer tout ce qu'il peut dès que possible.esclapion a écrit :- peut-on déterminer l'ordre de démarrage des services, avec systemctl ? Je voudrais par exemple démarrer mon réseau en premier, ça me faisait gagner une ou deux secondes avec l'ancien système ;
C'est par rapport au kernel il me semble. systemd-sysvcompat fait des liens symboliques pour init, shutdown et cie, de sorte qu'on n'ait plus besoin de spécifier le init= au démarrage. En outre, ça permet d'utiliser les commandes «habituels» (shutdown, reboot, poweroff, etc.) sans passer par les targets de systemd (http://wiki.archlinux.fr/Systemd#Target). C'est juste par commodité en somme.esclapion a écrit :- ce nom de systemd-sysvcompat m'intrique un peu : pourquoi a-t-on besoin d'un module dont le nom semble vouloir dire "compatibilité systemV" si justement on est un full systemd ?
«The following statement is not true. The previous statement is true.» 

Re: [systemd] Où placer les systemctl ? (résolu)
Merci, c'est clair.
Je n'ai pas encore détaillé ces "targets", encore un truc à approfondir.
Enfin, maintenant, j'arrive à démarrer en systemd, sans toucher au grub.
Je n'ai pas encore détaillé ces "targets", encore un truc à approfondir.
Enfin, maintenant, j'arrive à démarrer en systemd, sans toucher au grub.