[ラズパイ]一旦RAMディスクを解除する方法

急にSSL対応が気になりました。
証明書はお金がかかってしまうのですけど、
Let’s Encryptというのを使えば3ヶ月更新ではありますが無料で使えるそうです。
しかも、さくらインターネットのようなレンタルサーバーだと更新が面倒ですが、
ラズパイの場合はコマンド一発で更新までできるそうです。
これは使わない手はありません。

$ sudo git clone https://github.com/letsencrypt/letsencrypt
こうするとletsencryptというディレクトリにすべてコピーされてきます。

この中にある

  • letsencrypt-auto
  • certbot-auto

を使うのですけど、使ってみた感じどちらも同じようでした。
実際にはletsencryptがcertbotに変更になっているということで、letsencryptが名残なのでしょう。

sudo ./certbot-auto

のように実行しますと、必要なモジュールがインストールされます。

ところが・・・/tmpがいっぱいになってしまいどうしてもインストールが完了しませんでした。

RAMディスクを一旦無効にする

実はSDカードの延命の為に、tmpはRAMディスクに変更してあります。
ところがそのせいで容量が足りずエラーになっていました。

$ df -k
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/root 59388044 43522796 12825404 78% /
devtmpfs 468148 0 468148 0% /dev
tmpfs 472756 0 472756 0% /dev/shm
tmpfs 472756 6460 466296 2% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 472756 0 472756 0% /sys/fs/cgroup
tmpfs 32768 168 32600 1% /var/log
tmpfs 16384 0 16384 0% /var/tmp
tmpfs 32768 8 32760 1% /tmp
/dev/mmcblk0p1 57288 22288 35000 39% /boot
tmpfs 94552 4 94548 1% /run/user/1000
tmpfs 94552 0 94552 0% /run/user/1001

/tmpがtmpfsになっています。
以下のような確認方法でもいいです。

$ cd /tmp
$ df -k .
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
tmpfs 32768 8 32760 1% /tmp

これを変更するには/etc/fstabを編集します。

proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
# 一時フォルダをRAMディスクにマウント
tmpfs /tmp tmpfs defaults,size=32m,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,size=16m,noatime,mode=1777 0 0
# /var/log をRAMディスクにマウント
tmpfs /var/log tmpfs defaults,size=32m,noatime,mode=0755 0 0

とりあえず、tmpfsの行をコメントしてしまいます。
そうしたら、一旦再起動します。

$ df -k
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/root 59388044 43480152 12868048 78% /
devtmpfs 468148 0 468148 0% /dev
tmpfs 472756 0 472756 0% /dev/shm
tmpfs 472756 6448 466308 2% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 472756 0 472756 0% /sys/fs/cgroup
/dev/mmcblk0p1 57288 22288 35000 39% /boot
tmpfs 94552 4 94548 1% /run/user/1000
tmpfs 94552 0 94552 0% /run/user/1001

/tmpのマウントが消えました。
実際には1行目の/dev/rootに含まれるようになります。

$ cd /tmp
$ df -k .
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/root 59388044 43510900 12837300 78% /

この状態で

sudo ./certbot-auto

でやっとインストールが通りました。

インストールできたら、fstabを戻してまた再起動します。

ちゃんとRAMディスクに戻ったことも確認することを忘れることなく。