
注意:這不是一個新問題,並且已經持續了一段時間。
如果您在有新更新可用時或安裝更新後透過 SSH 登錄,MOTD 不會反映您上次所做的變更...除非您登出然後再次登入。
我今天早上以無權sudo
訪問的用戶身份登錄,並在 MOTD 中看到了以下內容:
8 packages can be updated.
6 updates are security updates.
因此,我打開了第二個 SSH 會話,並以具有訪問權限的用戶身份登錄sudo
,並在 MOTD 中看到了這一點:
16 packages can be updated.
14 updates are security updates.
我安裝了這些更新,並且專門測試這個將我的非 sudo 用戶註銷並在單獨的終端上重新登錄,該終端在 MOTD 中顯示此信息
16 packages can be updated.
14 updates are security updates.
我將該用戶登出並再次登錄,並在 MOTD 中看到了這一點:
0 packages can be updated.
0 updates are security updates.
*** System restart required ***
是否正在進行某些快取或需要停用某些設定才能使其正確更新?
答案1
這被歸檔為錯誤 1368864在 Ubuntu 的追蹤器中。
該修復需要修改一對文件:
第一個是/etc/pam.d/login
找到這些行:
session optional pam_motd.so motd=/run/motd.dynamic noupdate
session optional pam_motd.so
並將它們更改為:
session optional pam_motd.so motd=/run/motd.dynamic
session optional pam_motd.so noupdate
接下來,打開/etc/pam.d/sshd
找到這些行:
session optional pam_motd.so motd=/run/motd.dynamic noupdate
session optional pam_motd.so # [1]
並將它們更改為:
session optional pam_motd.so motd=/run/motd.dynamic
session optional pam_motd.so noupdate # [1]
需要修改這兩個檔案的原因是,如果僅更改login
,則首次登入時透過 SSH 進行的任何登入都將無法顯示系統資訊。