J'ai récemment mis à jour une version de 12.04 à 14.04 et j'ai découvert que mon fichier cgconfig.conf n'était plus lu au démarrage.
Le fichier semble être correct, dans le sens où je peux le charger explicitement avec
Sudo cgconfigparser -l /etc/cgconfig.conf
mais cela ne se produit pas automatiquement au redémarrage, ce qui signifie que d'autres scripts exécutés au démarrage échouent (car ils reposent sur cgexec avec des groupes définis dans cgconfig.conf).
Dois-je faire quelque chose pour que le fichier soit automatiquement utilisé? (c'est-à-dire installer un paquet) Dois-je convertir ce fichier en un autre?
Auparavant, cela fonctionnait correctement avant la mise à niveau, je ne comprends donc pas ce qui pourrait ne pas être correct.
Le paquetage "cgroup-lite", qui, à mon avis, devrait en être responsable, est également installé.
Merci d'avance.
Cela ressemble à une régression due au correctif du bogue # 1096771 . Il y avait quelques scripts init dans cgroup-bin
dans 12.04, qui ont été supprimés dans 13.04. Le fichier de service /etc/init/cgconfig.conf
contenait cela dans la strophe pre-start script
:
/usr/sbin/cgconfigparser -l $CGCONFIG
C'est donc le service cgconfig
du package cgroup-bin
qui a réellement configuré votre configuration de groupe de contrôle. cgroup-lite
n'a pas beaucoup changé entre ces versions, donc je suppose que ce n'est pas censé lire cette configuration. Je vous recommande d'ouvrir un rapport de bogue (et peut-être d'écrire un nouveau service Upstart (ou de copier l'ancien) car il est peu probable que cela change dans une version de LTS).
Comme 12.04 est toujours pris en charge, vous pouvez utiliser l’index des packages pour télécharger l’ancienne version du package. J'ai reproduit /etc/init/cgconfig.conf
ici pour plus de commodité:
description "cgconfig"
author "Serge E. Hallyn <[email protected]>"
start on runlevel [2345]
console output
pre-start script
test -x /usr/sbin/cgconfigparser || { stop; exit 0; }
CREATE_DEFAULT="yes"
CGCONFIG=/etc/cgconfig.conf
if [ -r /etc/default/cgconfig ]; then
. /etc/default/cgconfig
fi
# If we've already run, don't do it again!
if grep -q /sys/fs/cgroup /proc/mounts; then
stop
exit 0
fi
[ -r $CGCONFIG ] || { echo "$CGCONFIG is empty"; stop; exit 0; }
mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroups /sys/fs/cgroup
/usr/sbin/cgconfigparser -l $CGCONFIG
if [ "$CREATE_DEFAULT" = "yes" ]; then
/usr/sbin/create_default_cgroups
fi
end script
post-stop script
if [ -x /usr/sbin/cgclear ]
then
/usr/sbin/cgclear
fi
umount /sys/fs/cgroup || true
end script