Dans Ubuntu,
- Existe-t-il une commande pour afficher une liste de tous les services de démarrage automatique?
- Existe-t-il une commande permettant de vérifier si un service est démarré automatiquement au démarrage ou non?
J'ai fait Google et IRC. Je ne trouve pas la réponse. Peut-être qu’il n’existe pas de telles commandes dans Ubuntu. Au début, je pensais que tous les services à démarrage automatique seraient insuffisants /etc/rc2.d/
, mais je me suis trompé à ce sujet. Certains sont configurés uniquement sous /etc/init/*.conf
. Ensuite, j'ai essayé l' chkconfig
outil (installé manuellement), il ne fonctionne pas tout le temps. Par exemple, cela donne un résultat erroné pour mongodb
lequel on lance automatiquement /etc/init/mongodb.conf
.
service --status-all
et initctl list
peut uniquement indiquer le statut actuel des services au lieu du statut de démarrage automatique. update-rc.d
est une commande permettant de modifier le statut de démarrage automatique au lieu d'afficher le statut.
S'il n'y a pas de réponse à ma question, je me demande simplement pourquoi il est si difficile de vérifier les services de démarrage automatique dans Ubuntu.
chkconfig --list
va marcher?on
signifie que le service est exécuté sur ce niveau d'exécution et qu'il se lancera automatiquement au démarrage du système.ls /etc/rc?.d
vousRéponses:
Ubuntu utilise à la
Upstart
place duinit
système traditionnel . Upstart est plus fort que init, mais c'est un peu plus compliqué queinit
.Upstart, en revanche, est basé sur les événements. Un "événement" peut être quelque chose comme le "démarrage" ... ou il peut être beaucoup plus spécifique, comme "le réseau est prêt à être utilisé maintenant". Vous pouvez spécifier quels scripts dépendent de quels événements. Tout ce qui n'attend pas un événement peut être exécuté chaque fois que de la CPU est disponible.
Ce système basé sur les événements présente un autre avantage: vous pouvez en principe l’utiliser même après que le système est opérationnel. Upstart doit éventuellement prendre en charge des tâches telles que la connexion de périphériques externes tels que des clés USB (actuellement gérées par udev et hal), ou l'exécution de programmes à des heures spécifiques (gérées par le cron).
Comme vous devez le savoir maintenant, un démon mort (qui ne s'exécute pas au démarrage) peut être en vie et démarrer à cause d'un événement.
Ubuntu a à la fois / etc / init, pour Upstart, et /etc/init.d, pour les anciens fichiers SysV. Certains de ses fichiers sont des scripts SysV Init standard qui n’ont pas encore été migrés. Cependant, certains services ayant migré maintiennent un lien entre /etc/init.d et / lib / init / upstart-job. Si vous en utilisez un, cela fonctionne, mais il affiche d'abord un avertissement:
Sur une machine Upstart, init vient de Upstart. Au lieu d'exécuter un script maître rc appelant les scripts pour un niveau d'exécution spécifique, init d'Uststart extrait les travaux de son répertoire de travaux.
Nous savons maintenant qu'il n'existe pas de moyen simple de répertorier les démons à démarrage automatique. Vous devez répertorier tous les démons et les vérifier un par un. Le démon peut être démarré par
init
ou parupstart
ou même par un événement ultérieur. Le moyen le plus simple d’obtenir cette liste est d’exécuter cette commande dans le shell:La sortie ressemble à ceci:
Certains éléments, comme le premier, sont si simples et
hostname
démarrent au démarrage. Mais d'autres éléments peuvent sembler plus compliqués. (Mais heureusement lisible par l'homme :-))la source
En fait, tous les services sont présents dans /etc/init.d uniquement:
Une dernière chose, tous les services sont présents
rc0.d
rc1.d
rc2.d
rc3.d
rc4.d
rc5.d
rc6.d
également, mais il ne s'agit que d'un lien symbolique/etc/init.d
.Voir ici c'est le contenu du
rc1.d
répertoire:Ici, vous pouvez observer le lien symbolique vers init.d (K15pulseaudio -> ../init.d/pulseaudio).
Mais ici chaque service est lié à init.d, non? Mais chaque service ne commencera pas; la raison est deux scripts.
Le premier est un script S (S30killprocs) ---> start
Le second est un script k (K15pulseaudio) ---> kill
Tous les services de script K tuent les services et tous les services de script S démarrent les services pour ce niveau d'exécution.
En bref
S70dns-clean -> ../init.d/dns-clean
commencer ledns-clean
service au niveau d'exécution 1.K15pulseaudio -> ../init.d/pulseaudio
tue lepulseaudio
service dans le niveau d'exécution 1.la source
Vous pouvez installer sysv-rc-conf qui est un programme ncurses pour configurer / afficher graphiquement les niveaux de rc.
la source
Regardez ici: update-rc-d-cheat-sheet
Aucune, à ma connaissance (ce qui ne veut rien dire;), mais vous pouvez commencer à lire ici: forum askubuntu - dépendance au service
la source