web-dev-qa-db-ja.com

motdを更新するための「--lsbsysinit」の有無にかかわらず実行パーツ

motdを編集しようとしているので、manページで説明されているベストプラクティスを維持しました( pdate-motd-dynamic MOTD generation

スクリプトを/etc/update-motd.d/に追加し、20-HDD-infoという名前を付けて実行可能にしました。

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

echo "$DISKUSAGE"

したがって、非常に簡単ですが、update-motdでまだ動作しません

私はupdate-motdがどのように動作するかを深く掘り下げ、run-parts --lsbsysinit /etc/update-motd.dコマンドを使用してmotdを更新することを発見しました。

オプション--lsbsysinitを破棄すると、このコマンドは突然機能しました

私の質問は、なぜですか? update-motdコマンドで動作するようにシステムを修復するにはどうすればよいですか?

Ubuntu 16.04.1 LTSを使用します

3
Flashbang007

man run-partsを読んでください。それは、部分的に言っています:

   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_-]+$).
1
waltinator