Raspberry Piを使っていると面倒なのがシャットダウンです。最近のRaspbian(Raspberry Pi OS)にはoverlayfsがあるので使ってみることにしました。
設定自体は簡単で、raspi-configを起動して「Performance Options」の中にある「Overlay File System」を設定するだけです。設定して再起動すると有効になります。また、再度raspi-configを起動して設定を無効にして再起動すると無効になります。これで普段有効にしておけばいきなり電源断しても大丈夫になります。
一方で、有効になったままいろいろ作業して再起動してしまうとすべて失われてしまいます。ですので、ちょっと工夫をすることにしました。
まず、起動時にoverlayfsの状態を表示させます。.bashrcの最後に
# check overlayfs
ESC=$(printf '\033')
echo `mount` | grep "overlay" > /dev/null
if [ $? = 0 ]; then
echo -e "\n${ESC}[1;33m*CAUTION*: overlayfs enabled${ESC}[m"
else
echo -e "\nINFO: overlayfs disabled"
fi
を加えて、有効になっている場合には黄色の文字で警告します。さらに、.bashrc のプロンプト設定の部分も修正して以下のようにします。修正箇所はハイライト行です。
if [ "$color_prompt" = yes ]; then
echo `mount` | grep "overlay" > /dev/null
if [ $? = 0 ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w \$\[\033[00m\] '
else
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w \$\[\033[00m\] '
fi
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
これで、
といった感じで、ログイン時に警告行を出力し、通常は緑色のログインプロンプトのユーザー名の部分を赤字で出力します。
もちろん、この修正は overlayfs が無効の状態で行わなければなりません。