Préparer le passage à Systemd sur Archlinux
Le weekend dernier avant la sortie de COPS (COPS 0.3.2) j’ai voulu faire un test avec PHP5.4 sur mon Dockstar et j’ai été obligé de faire un redémarrage de php-fpm. Habituellement je fais :
rc.d stop php-fpm
rc.d start php-fpm
Mais là j’ai le désagréable message suivant :
:: Daemon script php-fpm does not exist or is not executable.
Après recherche cela est au passage de Sysvinit à Systemd de Archlinux. Vous trouverez donc ci-après la méthode de migration la plus sure que j’ai trouvée.
Source : http://archlinuxarm.org/forum/viewtopic.php?f=18&t=4979
Préparation de systemd
pacman -Sy systemd-sysvcompat
pacman -Qo /sbin/init
Bien accepter les demandes de confirmation. Ensuite vous devriez pouvoir vérifier ceci :
[root@minus ~]# ls -l /sbin/init
lrwxrwxrwx 1 root root 26 16 janv. 19:38 /sbin/init -> ../usr/lib/systemd/systemd
Paramétrage des services à démarrer
Au minimum il faut activer les services suivants
systemctl enable dhcpcd@eth0.service
systemctl enable sshd.service
Pour obtenir la liste des services activables :
ls /usr/lib/systemd/system/*.service
Vous devez la comparer aux services que vous avez activé dans la section DAEMONS de votre rc.conf :
grep "DAEMON" /etc/rc.conf
J’ai personnellement activé les services suivants :
systemctl enable php-fpm.service
systemctl enable ntpd.service
systemctl enable syslog-ng.service
systemctl enable rpcbind.service
systemctl enable rpc-mountd.service
systemctl enable nfsd.service
Reboot
Le moment stressant, il faut rebooter. Je n’ai eu aucun problème et j’espère qu’il en sera de même pour vous.
Après le reboot
Systemd doit être activé, vous pouvez donc mettre à jour votre nom d’hôte et la locale par defaut :
localectl set-locale LANG="fr_FR.utf8"
hostnamectl set-hostname minus
Vous pouvez aussi vérifier le bon chargement de vos services :
systemctl status php-fpm
La suite
Dans ce cas le système est encore mixte : le fichier rc.conf existe encore et est encore lu. Dans l’absolu il faudrait supprimer la paquet initscript pour avec un systeme 100% systemd.
Pour l’instant je n’ai pas sauté le pas.