banner コマンドを使う

banner コマンドを使いたいと思ったけど、Raspbian にはインストールされてなかった。

ということで banner コマンドが含まれるパッケージを調べる。

事前設定

$ sudo apt install apt-file
$ sudo apt update

banner コマンドが含まれるパッケージの調査

$ sudo apt-file search banner | grep "\/banner$"
afterstep-data: /usr/share/afterstep/banner
afterstep-data: /usr/share/afterstep/ucf/banner
album-data: /usr/share/doc/album-data/examples/banner
eggdrop-data: /usr/share/eggdrop/text/banner
epic4-help: /usr/share/epic4/help/4_Misc/set/banner
fortunes-it: /usr/share/games/fortunes/banner
fortunes-it: /usr/share/games/fortunes/it/banner
qt4-demos: /usr/lib/qt4/examples/declarative/text/fonts/banner/banner
surfraw: /usr/share/doc/surfraw/banner
sysvbanner: /usr/bin/banner
$ 

ということで、sysvbanner をインストールすれば良さそう。

$ sudo apt-get install sysvbanner
$ banner test

  #####  ######   ####    #####
    #    #       #          #
    #    #####    ####      #
    #    #            #     #
    #    #       #    #     #
    #    ######   ####      #

使用例

うまくいったので、/etc/motd に書き込む。

$ sudo cp -p /etc/motd{,_$(date +%Y%m%d)}
$ ll /etc/motd*
-rw-r--r-- 1 root root 286  728  2017 /etc/motd
-rw-r--r-- 1 root root 286  728  2017 /etc/motd_20190704
$ sudo banner $(uname -n) > /etc/motd
-bash: /etc/motd: 許可がありません

えぇぇぇぇぇ!?

$ sudo su -
# banner $(uname -n) > /etc/motd
# cat /etc/motd
(出力内容は省略)
# ls -l /etc/motd*
-rw-r--r-- 1 root root 390  74 12:01 /etc/motd
-rw-r--r-- 1 root root 286  728  2017 /etc/motd_20190704
# exit
$

なぜうまくいく?