我正在尝试编辑我的motd
,因此我遵循了页面中描述的最佳做法man
(update-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_-]+$).