$ Sudo service cassandra status
● cassandra.service - LSB: distributed storage system for structured data
Loaded: loaded (/etc/init.d/cassandra; bad; vendor preset: enabled)
Active: active (running) since Wed 2016-10-12 15:54:40 IDT; 4min 4s ago
Que représente la partie bad;
sur la 2e ligne de la sortie? Je reçois cela pour de nombreux services, par exemple mysql, winbind, virtualbox, dont certains que j'ai déjà parfaitement utilisés (cassandra étant une nouvelle installation).
Réponse courte:
bad
name__: Affiche l'état d'activation de Systemd Unit files
systemd
name__vous pouvez vérifier l'état d'activation à l'aide de la commande:
Sudo systemctl is-enabled <unit-name>
si ce fichier d'unité est un service systemd natif, il générera une sortie enabled
name__, disabled
name__, etc. S'il ne s'agit pas d'un service systemd natif, un rapport comme celui-ci sera renvoyé.
Sudo systemctl is-enabled Apache2
Apache2.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install is-enabled Apache2
enabled
mais avec commande:
systemctl status Apache2
or
service Apache2 status
il donne le statut bad
name__. (c'est peut-être parce qu'il est impossible d'imprimer un message complet ou que le développeur a décidé d'imprimer bad
name__)
Réponse longue:
que sont les fichiers d'unité système?
Les unités sont les objets que systemd sait gérer. Il s’agit essentiellement d’une représentation normalisée des ressources système pouvant être gérées par la suite de démons et manipulées par les utilitaires fournis. Il peut être utilisé pour résumer des services, des ressources réseau, des périphériques, des montages de système de fichiers et des pools de ressources isolés. Vous pouvez lire en détail sur les unités systemd ici et ici
exemple:
systemctl status Apache2
* Apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/Apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/Apache2.service.d
`-Apache2-systemd.conf
Active: active (running) since Wed 2016-10-12 14:29:42 UTC; 17s ago
Docs: man:systemd-sysv-generator(8)
Process: 1027 ExecStart=/etc/init.d/Apache2 start (code=exited, status=0/SUCCESS)
systemctl vérifiera si Apache2
est une unité native ou non. Sinon, il demandera à systemd-sysv-generator
de générer un fichier au format d'unité offrant un support similaire à celui des unités natives. Dans l'exemple ci-dessus, le fichier généré est conservé à /lib/systemd/system/Apache2.service.d/Apache2-systemd.conf
Drop-In: /lib/systemd/system/Apache2.service.d
`-Apache2-systemd.conf
Remarque: vous pouvez trouver le générateur à /lib/systemd/system-generators/systemd-sysv-generator
et en savoir plus à ce sujet.
man systemd-sysv-generator
Point principal :
is-enabled NAME...
Checks whether any of the specified unit files are enabled (as with
enable). Returns an exit code of 0 if at least one is enabled,
non-zero otherwise. Prints the current enable status (see table).
To suppress this output, use --quiet.
Table 1. is-enabled output
+------------------+-------------------------+-----------+
|Name | Description | Exit Code |
+------------------+-------------------------+-----------+
|"enabled" | Enabled via | |
+------------------+ .wants/, .requires/ | |
|"enabled-runtime" | or alias symlinks | |
| | (permanently in | 0 |
| | /etc/systemd/system/, | |
| | or transiently in | |
| | /run/systemd/system/). | |
+------------------+-------------------------+-----------+
|"linked" | Made available through | |
+------------------+ one or more symlinks | |
|"linked-runtime" | to the unit file | |
| | (permanently in | |
| | /etc/systemd/system/ | |
| | or transiently in | > 0 |
| | /run/systemd/system/), | |
| | even though the unit | |
| | file might reside | |
| | outside of the unit | |
| | file search path. | |
+------------------+-------------------------+-----------+
|"masked" | Completely disabled, | |
+------------------+ so that any start | |
|"masked-runtime" | operation on it fails | |
| | (permanently in | > 0 |
| | /etc/systemd/system/ | |
| | or transiently in | |
| | /run/systemd/systemd/). | |
+------------------+-------------------------+-----------+
|"static" | The unit file is not | 0 |
| | enabled, and has no | |
| | provisions for enabling | |
| | in the "[Install]" | |
| | section. | |
+------------------+-------------------------+-----------+
|"indirect" | The unit file itself is | 0 |
| | not enabled, but it has | |
| | a non-empty Also= | |
| | setting in the | |
| | "[Install]" section, | |
| | listing other unit | |
| | files that might be | |
| | enabled. | |
+------------------+-------------------------+-----------+
|"disabled" | Unit file is not | > 0 |
| | enabled, but contains | |
| | an "[Install]" section | |
| | with installation | |
| | instructions. | |
+------------------+-------------------------+-----------+
|"bad" | Unit file is invalid or | > 0 |
| | another error occurred. | |
| | Note that is-enabled | |
| | will not actually | |
| | return this state, but | |
| | print an error message | |
| | instead. However the | |
| | unit file listing | |
| | printed by | |
| | list-unit-files might | |
| | show it. | |
+------------------+-------------------------+-----------+
si on lance la commande:
Sudo systemctl is-enabled ssh
enabled
Sudo systemctl is-enabled docker
enabled
Sudo systemctl is-enabled Apache2
Apache2.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install is-enabled Apache2
enabled
vous pouvez voir si les unités natives de systemd telles que ssh
et docker
name__, dans la sortie ci-dessus, il affichera uniquement enabled
name__, et pour les unités non natives telles que Apache2
mais toujours activées, il donnera des messages avec cela plutôt que d'imprimer bad
ici :
+------------------+-------------------------+-----------+
|"bad" | Unit file is invalid or | > 0 |
| | another error occurred. | |
| | Note that is-enabled | |
| | will not actually | |
| | return this state, but | |
| | print an error message | |
| | instead. However the | |
| | unit file listing | |
| | printed by | |
| | list-unit-files might | |
| | show it. | |
+------------------+-------------------------+-----------+
Solution:
status bad
ne créera pas de problème (je ne suis pas sûr que cela dépend), mais il ne fournira pas toutes les fonctionnalités de systemctl
name__. vous pouvez attendre la prochaine version de cette package
qui supportera nativement systemd
name__. ou vous pouvez écrire un fichier d'unité pour votre service ou toute autre ressource en utilisant des références données.
Vous pouvez lire plus en détail sur systemd, systemctl et les unités en utilisant les références ci-dessous: