如果你正在使用最新的 Ubuntu 伺服器版本,你可能已經注意到歡迎訊息中有一些與 Ubuntu 伺服器平台無關的促銷連結。你可能已經知道 MOTD,即 Message Of The Day 的開頭首字母,在 Linux 系統每次登入時都會顯示歡迎資訊。通常,歡迎訊息包含作業系統版本,基本系統資訊,官方文件連結以及有關最新安全更新等的連結。這些是我們每次通過 SSH 或本地登入時通常會看到的內容。但是,最近在終端歡迎訊息中出現了一些其他連結。我已經幾次注意到這些連結,但我並在意,也從未點選過。題圖是我的 Ubuntu 18.04 LTS 伺服器上顯示的終端歡迎訊息。
正如你在上面截圖中所看到的,歡迎訊息中有一個 bit.ly 連結和 Ubuntu wiki 連結。有些人可能會驚訝並想知道這是什麼。其實歡迎資訊中的連結無需擔心。它可能看起來像廣告,但並不是商業廣告。連結實際上指向到了 Ubuntu 官方部落格 和 Ubuntu wiki。正如我之前所說,其中的一個連結是不相關的,沒有任何與 Ubuntu 伺服器相關的細節,這就是為什麼我開頭稱它們為廣告。
雖然我們大多數人都不會存取 bit.ly 連結,但是有些人可能出於好奇去存取這些連結,結果失望地發現它只是指向一個外部連結。你可以使用任何 URL 去短網址服務,例如 unshorten.it,在存取真正連結之前,檢視它會指向哪裡。或者,你只需在 bit.ly 連結的末尾輸入加號(+
)即可檢視它們的實際位置以及有關連結的一些統計資訊。
2009 年,來自 Canonical 的 Dustin Kirkland 在 Ubuntu 中引入了 MOTD 的概念。它是一個靈活的框架,使管理員或發行包能夠在 /etc/update-motd.d/
位置新增可執行指令碼,目的是生成在登入時顯示有益的、有趣的訊息。它最初是為 Landscape(Canonical 的商業服務)實現的,但是其它發行版維護者發現它很有用,並且在他們自己的發行版中也採用了這個特性。
如果你在 Ubuntu 系統中檢視 /etc/update-motd.d/
,你會看到一組指令碼。一個是列印通用的 “歡迎” 橫幅。下一個列印 3 個連結,顯示在哪裡可以找到作業系統的幫助。另一個計算並顯示本地系統包可以更新的數量。另一個指令碼告訴你是否需要重新啟動等等。
從 Ubuntu 17.04 起,開發人員新增了 /etc/update-motd.d/50-motd-news
,這是一個指令碼用來在歡迎訊息中包含一些附加資訊。這些附加資訊是:
另一個特點是非同步,啟動後約 60 秒,systemd 計時器執行 /etc/update-motd.d/50-motd-news –force
指令碼。它提供了 /etc/default/motd-news
指令碼中定義的 3 個設定變數。預設值為:ENABLED=1, URLS="https://motd.ubuntu.com", WAIT="5"
。
以下是 /etc/default/motd-news
檔案的內容:
$ cat /etc/default/motd-news# Enable/disable the dynamic MOTD news service# This is a useful way to provide dynamic, informative# information pertinent to the users and administrators# of the local systemENABLED=1# Configure the source of dynamic MOTD news# White space separated list of 0 to many news services# For security reasons, these must be https# and have a valid certificate# Canonical runs a service at motd.ubuntu.com, and you# can easily run one tooURLS="https://motd.ubuntu.com"# Specify the time in seconds, you're willing to wait for# dynamic MOTD news# Note that news messages are fetched in the background by# a systemd timer, so this should never block boot or loginWAIT=5
好事情是 MOTD 是完全可客製化的,所以你可以徹底禁用它(ENABLED=0
)、根據你的意願更改或新增指令碼、以秒為單位更改等待時間等等。
如果啟用了 MOTD,那麼 systemd 計時器作業將迴圈遍歷每個 URL,將它們的內容縮減到每行 80 個字元、最多 10 行,並將它們連線到 /var/cache/motd-news
中的快取檔案。此 systemd 計時器作業將每隔 12 小時執行並更新 /var/cache/motd-news
。使用者登入後,/var/cache/motd-news
的內容會列印到螢幕上。這就是 MOTD 的工作原理。
此外,/etc/update-motd.d/50-motd-news
檔案中包含自定義的使用者代理字串,以報告有關計算機的資訊。如果你檢視 /etc/update-motd.d/50-motd-news
檔案,你會看到:
# Piece together the user agentUSER_AGENT="curl/$curl_ver $lsb $platform $cpu $uptime"
這意味著,MOTD 檢索器將向 Canonical 報告你的作業系統版本、硬體平台、CPU 型別和正常執行時間。
到這裡,希望你對 MOTD 有了一個基本的了解。
現在讓我們回到主題,我不想要這個功能。我該如何禁用它?如果歡迎訊息中的促銷連結仍然困擾你,並且你想永久禁用它們,則可以通過以下方法快速禁用它。
要禁用這些廣告,編輯檔案:
$ sudo vi /etc/default/motd-news
找到以下行並將其值設定為 0
(零)。
[...]ENABLED=0[...]
儲存並關閉檔案。現在,重新啟動系統,看看歡迎訊息是否仍然顯示來自 Ubuntu 部落格的連結。
看到沒?現在沒有來自 Ubuntu 部落格和 Ubuntu wiki 的連結。
這就是全部內容了。希望這對你有所幫助。更多好東西要來了,敬請關注!
順祝時祺!