3 votes

exécuter les parties avec et sans "--lsbsysinit" pour mettre à jour motd

J'essaie de modifier mon motd J'ai donc suivi la meilleure pratique décrite dans le guide de l'utilisateur. man pages ( update-motd - génération dynamique de MOTD )

J'ai ajouté mon script à /etc/update-motd.d/ et l'a nommé 20-HDD-info et l'a rendu exécutable.

#!/bin/sh
DISKUSAGE=$(df |egrep "sda1|sdb1|sdc1")

echo "$DISKUSAGE"

C'est donc très simple, mais cela ne fonctionne toujours pas avec update-motd

J'ai creusé profondément dans la façon dont update-motd fonctionne et j'ai découvert qu'il utilise la commande run-parts --lsbsysinit /etc/update-motd.d pour mettre à jour le motd.

Et cette commande a soudainement fonctionné, lorsque j'ai écarté l'option --lsbsysinit

Alors ma question est, pourquoi ? Et comment je peux réparer mon système pour qu'il fonctionne avec les update-motd commande ?

J'utilise Ubuntu 16.04.1 LTS

2voto

waltinator Points 32821

Lire man run-parts . Elle dit, en partie :

   If  the  --lsbsysinit option is given, then the names must not end in .dpkg-old  or .dpkg-dist or .dpkg-new or .dpkg-tmp, and must belong to one or more of the following
   namespaces: the LANANA-assigned namespace (^[a-z0-9]+$); the LSB hierarchical and reserved namespaces (^_?([a-z0-9_.]+-)+[a-z0-9]+$); and the Debian cron  script  names
   pace (^[a-zA-Z0-9_-]+$).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X