我想显示不带交换信息的 MOTD,因为我的机器没有交换。
我找到了指向显示以下消息的ls /etc/update-motd.d/50-landscape-sysinfo
文件的链接:/usr/bin/landscape-sysinfo
System load: 7.5 Processes: 434
Usage of /: 84.2% of 9.72GB Users logged in: 1
Memory usage: 5% IP address for eth0: 10.9.8.161
Swap usage: 0%
Graph this data and manage this system at:
https://landscape.canonical.com/
ls /etc/update-motd.d/50-landscape-sysinfo
我添加了和的内容/usr/bin/landscape-sysinfo
在 pastebin 上。我想Swap usage: 0%
从此消息中删除,因为它可能会引起混淆。我不知道最好的方法是什么,有什么建议吗?
答案1
一种方法是禁用sysinfo
插入处理交换使用情况。不幸的是,显示交换使用情况的插件也会处理内存使用情况,因此禁用它会同时禁用以下两项:
$ landscape-sysinfo --exclude-sysinfo-plugins=Memory
System load: 0.0 Users logged in: 3
Usage of /: 56.0% of 15.62GB IP address for eth0: 10.1.1.1
Processes: 202
Graph this data and manage this system at:
https://landscape.canonical.com/
可以使用/etc/landscape/client.conf
配置文件为 MOTD 进行设置:
[sysinfo]
exclude_sysinfo_plugins = Memory
/usr/bin/landscape-sysinfo
另一种方法是通过编辑来处理 的输出/etc/update-motd.d/50-landscape-sysinfo
(这实际上是 中文件的符号链接/usr/lib
,因此升级时您的更改可能会丢失)。类似于:
/usr/bin/landscape-sysinfo | sed 's/Swap usage: *[0-9]+%//'
如果列表中还有一个项目(例如第二个网络接口),这也会导致难看的输出。
作为Kevin 指出,对于没有交换的具体情况,可以整理输出并简化表达式:
/usr/bin/landscape-sysinfo | sed 's/Swap usage: *0% *//'
这会将 Swap 条目旁边的任何条目移至 Swap 条目所在的位置。