D'un pauvre script rc.M ou tu rajoutais ton /usr/local/bin/pg_ctl start -D /pathmabase, maintenant il te faut pondre un script complet start/stop/restart/magrandmereenstring avec des contraintes moisies pour gérer des cas que tu pouvais déjà gérer avant.
T’as pas dû en écrire beaucoup des unités systemd... Je vais prendre l’exemple d’Arch qui proposait un «init à la BSD» que l’on cite souvent ici comme un exemple de bon systèmes d’initialisation.
#!/bin/bash# source application-specific settings[ -f /etc/conf.d/iptables ]&& . /etc/conf.d/iptables
# Set defaults if settings are missing[ -z "$IPTABLES_CONF"]&&IPTABLES_CONF=/etc/iptables/iptables.rules
. /etc/rc.conf
. /etc/rc.d/functions
case"1ドル" in
start)if[ ! -f "$IPTABLES_CONF"];thenecho"Cannot load iptables rules: $IPTABLES_CONF is missing!" >&2
exit 1
fi
stat_busy "Starting IP Tables"if["$IPTABLES_FORWARD"="1"];thenecho 1 >/proc/sys/net/ipv4/ip_forward
fi if ck_daemon iptables;then
/usr/sbin/iptables-restore < $IPTABLES_CONFif[$? -gt 0 ];then
stat_fail
else
add_daemon iptables
stat_done
fi else
stat_fail
fi;;
stop)
stat_busy "Stopping IP Tables"if ! ck_daemon iptables;thenfail=0
for table in $(cat /proc/net/ip_tables_names);do
iptables-restore < /var/lib/iptables/empty-$table.rules
[$? -gt 0 ]&&fail=1
done if[$fail -gt 0 ];then
stat_fail
else
rm_daemon iptables
stat_done
fi else
stat_fail
fi;;
restart)0ドル stop
0ドル start
;;
save)
stat_busy "Saving IP Tables"
/usr/sbin/iptables-save >$IPTABLES_CONFif[$? -gt 0 ];then
stat_fail
else
stat_done
fi;;
*)echo"usage: 0ドル {start|stop|restart|save}"esacexit 0
Note au passage la duplication de code pour gérer les commandes start, stop etc et l’affichage de l’usage de la commande. Et des exemples comme ça j’en ai à la pelle. Alors bien sûr tu peux faire ton script shell de deux lignes complètement moisi... Ou utiliser systemd qui gère tout ce merdier à ta place tout en te permettant .
C'est bien le seul argument qui me semble intéressant au sens large dans tout ce qui a été dit pour nous vendre systemd dans ce thread. Ça reste léger et ne me concerne pas.
L’interopérabilité des distributions, point ô combine critiqué, et sûrement le plus gros défaut de l’écosystème de GNU/Linux, ça vaut le pas.
[^] # Re: De plus en plus complexe, le système d'init...
Posté par ariasuni . En réponse à la dépêche Spéciale Lennart Poettering : nouvelles versions de systemd et PulseAudio. Évalué à 7.
T’as pas dû en écrire beaucoup des unités systemd... Je vais prendre l’exemple d’Arch qui proposait un «init à la BSD» que l’on cite souvent ici comme un exemple de bon systèmes d’initialisation.
kdm.service:ancien script
kdm:Un autre au hasard,
iptables.service:avec
/usr/lib/systemd/scripts/iptables-flush:ancien script
iptables.rc:Note au passage la duplication de code pour gérer les commandes
start,stopetc et l’affichage de l’usage de la commande. Et des exemples comme ça j’en ai à la pelle. Alors bien sûr tu peux faire ton script shell de deux lignes complètement moisi... Ou utiliser systemd qui gère tout ce merdier à ta place tout en te permettant .L’interopérabilité des distributions, point ô combine critiqué, et sûrement le plus gros défaut de l’écosystème de GNU/Linux, ça vaut le pas.
Écrit en Bépo selon l’orthographe de 1990