使用或不使用“--lsbsysinit”来运行部件以更新 motd

使用或不使用“--lsbsysinit”来运行部件以更新 motd

我正在尝试编辑我的motd,因此我遵循了页面中描述的最佳做法manupdate-motd - 动态 MOTD 生成

我将脚本添加到/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

答案1

阅读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_-]+$).

相关内容