Raspberry Piでoverlayfsを使う

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 が無効の状態で行わなければなりません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)