Linux
AWS
AmazonLinux
Linuxコマンド

Amazon Linuxへの接続時のメッセージを非表示にしよう

最近プロジェクトでAmazon Linuxを使っているのですが、
yum updateをしろというメッセージがssh接続時に表示されるので、
メッセージが表示される原因と対策をまとめます。

/etc/motd

Linuxにssh接続時にヘッダーに出力される内容は/etc/motdという設定ファイルで設定します。
motdとはlinuxのログイン時に表示されるメッセージのことです。

motdの仕組み

/etc/motdはシンボリックリンクで以下のようになっています。

# ls -la /etc/motd
lrwxrwxrwx 1 root root 25  5月 10 05:02 2013 /etc/motd -> /var/lib/update-motd/motd

なので、実態は「/var/lib/update-motd/」配下にあることになります。
どんな設定ファイルがあるかというと。

# ls -la /etc/update-motd.d
合計 20
drwxr-xr-x  2 root root 4096  9月  9 10:45 2013 .
drwxr-xr-x 72 root root 4096  9月  9 11:48 2013 ..
-rwxr-xr-x  1 root root  334  9月  9 10:45 2013 30-banner
-rwxr-xr-x  1 root root  134  1月 23 08:47 2013 70-available-updates
-rwxr-xr-x  1 root root 2103  1月 23 08:47 2013 75-system-update

こんだけファイルがありました。

/var/lib/update-motd/motdはcron.dailyでupdate-motdというプログラムが実行されて、
日次で内容を書き換えます。

そのため、常時パッケージが新しくないと新しくしなさいとメッセージを出力します。

「Run "sudo yum update" to apply all updates.」メッセージの非表示・表示

yum updateを定期的に掛けない環境だとこのメッセージは大変鬱陶しいと思いますので、
今回は日次で実行されるupdate-motdを無効化・有効化させるコマンドでメッセージの非表示・表示をさせます。

表示
$ sudo update-motd --enable
非表示
$ sudo update-motd --disable

これで鬱陶しいメッセージはヘッダーに出力されてないので、
yum updateを実行した環境で是非試してみてください。