前回、これでセットアップは終わりみたいな宣言をしたと思うんですけど、すんません。もう1つだけやっておきたいことを見つけてしまったので、やっておきます。
前回:Raspberry Pi 4(8GB)セットアップ④:初回起動時の初期設定!ユーザー名変更と固定 IP アドレスの設定
ラズパイ使う上で欠かせないのが MicroSDカードですが、ネットの海で色々と調べてみるとラズパイで最も壊れやすいのが MicroSDカードのようです。
MicroSD カードが壊れる原因ナンバーワンは、電源ぶっち切り。(正しい方法で電源を落とさないこと)
そして2番目の原因は、書き込み上限回数の超過。いわゆる寿命というやつです。
電源ぶっち切りについては、必ずコマンドラインがGUIの画面からシャットダウンを行うように気をつけるしかありません。
しかし書き込み上限回数の超過については、ちょっとした設定をすることで書き込み回数を減らせます。
今回は、MicroSDカードの書き込み回数を減らすようにして、少しでも寿命が延ばせるように対策をしてしまいます。
目次
スワップを無効にする
ラズパイに搭載されているメモリ(RAM)が足りなくなった時に、メモリの代わりに MicroSDカードを使用することをスワップと言います。
そもそも僕が使うラズパイ4のメモリは8GBもあるので、ほぼスワップは起こらないと思いますが、スワップを無効にしておきます。
まず、以下のコマンドでどれくらいスワップされているかを確認。
free -h
思った通り使われていないですな。
で、以下の赤字のコマンドを1行ずつ実行してスワップを無効にします。
(スワップ機能をオフ→サービスでスワップファイルを止める→スワップファイルを無効にする)
sudo swapoff --all
sudo systemctl stop dphys-swapfile
sudo systemctl disable dphys-swapfile
再起動後にもう一度以下のコマンドでスワップが使われていないことを確認します。
free -h
Swap: の total / used / free がすべて 0 になっているのでオーケーですね。
一時ファイルとログをメモリ(RAM)へ
ラズパイを使用していると勝手に作られてしまう一時ファイルとログファイルは MicroSDカードではなく メモリ(RAM)に書き出すように設定してしまいます。
この変更を行うとラズパイの電源を落とした時に一時ファイルとログファイルは消えるので注意です。(今のところ僕はこいつらが消えても問題ない)
以下のコマンドを入力して、テキストエディタ nano で fstab ファイルを編集します。
sudo nano /etc/fstab
一番下までスクロールして、以下の3行を記述した後保存します。
tmpfs /tmp tmpfs defaults,size=128m,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,size=128m,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,size=128m,noatime,mode=0755 0 0
これで一時ファイルとログがメモリ(RAM)上のファイルシステム tmpfs に書き込まれるようになります。
保存後に以下の赤字のコマンドを1行ずつ実行して MicroSDカード内の一時ファイルとログファイルを削除します。
sudo rm -rf /tmp
sudo rm -rf /var/tmp
sudo rm -rf /var/log
再起動後に以下のコマンドを入力して、fstab ファイルに記述した内容が反映されているかを確認します。
df -h
オッケーです。メモリ(RAM)の tmpfs に一時ファイルとログファイルが書き込まれるようになっています。
使わないログを停止する
さっきログファイルをメモリ(RAM)に書き出すようにしたので、これはあまり意味がないかもしれませんが、一応やっておきます。
不要なログを出力させないように以下のコマンドで、rsyslog.conf ファイルを編集します。
sudo nano /etc/rsyslog.conf
テキストエディタの nano が開いたら、不要なものに # をつけてコメントアウトします。
(ほのほぼ無効にしてしまいました・・・ま、使うようになったらオンにすればいいしね・・・)
rsyslog.conf ファイルを保存したら、サービスを再起動します。
sudo systemctl restart rsyslog
以上、設定終わり!
今度こそこれでセットアップは終了。
セットアップ オブ ザ ラスト だ
次回からはちょっとしたプログラムを書いて遊んでみようと思います。
ラズパイ日記 vol.1:アプリ開発をするために Macパソコンに Python の開発環境を入れてみた
メモ:覚えとくと何かと便利なコマンド
#シャットダウン(電源断)
sudo shutdown -h now
#再起動
sudo reboot
#ラズパイのCPU温度表示
sudo vcgencmd measure_temp