見出し画像

ラズパイのSDカードを長持ちさせるためのシステムログの出力設定(とクリア)とスワップの無効化

題名の通りSDカードへのアクセス頻度を減らして長持ちさせるためにやっている設定について書いてみました。
役に立ちそうなことは随時追加していこうと思います。

ログのクリア

/var/log/ 配下にあるログファイルを一括してクリアしてみます。

$sudo find /var/log/ -type f -name \* -exec cp -f /dev/null {} \;

findコマンドで/var/log/ 配下のファイル全てにに対して、cpコマンドを実行。
cpコマンドは対象ファイルの内容をnullにします。

$ cd /var/log
/var/log
$ls -l
合計 3128
-rw-r--r-- 1 root root    7248  120 20:56 Xorg.0.log
-rw-r--r-- 1 root root    7340  120 20:38 Xorg.0.log.old
-rw-r--r-- 1 root root    5917  57 22:20 alternatives.log
drwxr-xr-x 2 root root    4096  57 22:05 apt
-rw-r----- 1 root adm    76168  518 20:22 auth.log
-rw-r--r-- 1 root root    4441  57 22:24 boot.log
-rw-r--r-- 1 root root       0 109  2018 bootstrap.log
-rw------- 1 root utmp       0 109  2018 btmp
-rw-r----- 1 root adm   502115  518 19:59 daemon.log
-rw-r----- 1 root adm    30937  57 22:24 debug
-rw-r--r-- 1 root root  296004  57 22:20 dpkg.log
-rw-r--r-- 1 root root       0 109  2018 faillog
-rw-r--r-- 1 root root    2287  57 22:20 fontconfig.log
-rw-r----- 1 root adm   538700  57 22:24 kern.log
-rw-rw-r-- 1 root utmp  292292  518 19:59 lastlog
drwx--x--x 2 root root    4096  120 20:38 lightdm
-rw-r----- 1 root adm   520023  518 20:22 messages
drwxr-x--- 3 root adm     4096  57 20:21 samba
-rw-r----- 1 root adm  1067394  518 20:22 syslog
-rw-r----- 1 root adm    12208  57 22:24 user.log
-rw-rw-r-- 1 root utmp   59136  518 19:59 wtmp
/var/log $sudo find /var/log/ -type f -name \* -exec cp -f /dev/null {} \;
/var/log
$ls -l
合計 16
-rw-r--r-- 1 root root    0  518 20:25 Xorg.0.log
-rw-r--r-- 1 root root    0  518 20:25 Xorg.0.log.old
-rw-r--r-- 1 root root    0  518 20:25 alternatives.log
drwxr-xr-x 2 root root 4096  57 22:05 apt
-rw-r----- 1 root adm    87  518 20:25 auth.log
-rw-r--r-- 1 root root    0  518 20:25 boot.log
-rw-r--r-- 1 root root    0  518 20:25 bootstrap.log
-rw------- 1 root utmp    0  518 20:25 btmp
-rw-r----- 1 root adm     0  518 20:25 daemon.log
-rw-r----- 1 root adm     0  518 20:25 debug
-rw-r--r-- 1 root root    0  518 20:25 dpkg.log
-rw-r--r-- 1 root root    0  518 20:25 faillog
-rw-r--r-- 1 root root    0  518 20:25 fontconfig.log
-rw-r----- 1 root adm     0  518 20:25 kern.log
-rw-rw-r-- 1 root utmp    0  518 20:25 lastlog
drwx--x--x 2 root root 4096  120 20:38 lightdm
-rw-r----- 1 root adm     0  518 20:25 messages
drwxr-x--- 3 root adm  4096  57 20:21 samba
-rw-r----- 1 root adm     0  518 20:25 syslog
-rw-r----- 1 root adm     0  518 20:25 user.log
-rw-rw-r-- 1 root utmp    0  518 20:25 wtmp
/var/log $

シスログの設定の見直し

/etc/rsyslog.confを編集してログの出力設定を変更します。
daemon、lpr、mail、debug関連のところをコメントアウトして保存します。

###############
#### RULES ####
###############

#
# First some standard log files.  Log by facility.
#
auth,authpriv.*			/var/log/auth.log
*.*;auth,authpriv.none		-/var/log/syslog
#cron.*				/var/log/cron.log
#daemon.*			-/var/log/daemon.log
kern.*				-/var/log/kern.log
#lpr.*				-/var/log/lpr.log
#mail.*				-/var/log/mail.log
user.*				-/var/log/user.log

#
# Logging for the mail system.  Split it up so that
# it is easy to write scripts to parse these files.
#
#mail.info			-/var/log/mail.info
#mail.warn			-/var/log/mail.warn
#mail.err			/var/log/mail.err

#
# Some "catch-all" log files.
#
#*.=debug;\
#	auth,authpriv.none;\
#	news.none;mail.none	-/var/log/debug
*.=info;*.=notice;*.=warn;\
	auth,authpriv.none;\
	cron,daemon.none;\
	mail,news.none		-/var/log/messages

#
# Emergencies are sent to everybody logged in.
#
*.emerg				:omusrmsg:*

保存したらrsyslogを再起動します。

$sudo systemctl restart rsyslog

スワップの無効化

SDカードにはスワップファイルがいるのですがそんなにメモリをバンバン使うのでなければ、スワップをオフしてもいいのでは?ということで無効化します。

$ free -h
             total        used        free      shared  buff/cache   available
Mem:          926Mi       330Mi        61Mi        37Mi       534Mi       490Mi
Swap:          99Mi        26Mi        73Mi
$ sudo swapoff --all
$ free -h
             total        used        free      shared  buff/cache   available
Mem:          926Mi       351Mi        40Mi        39Mi       533Mi       465Mi
Swap:            0B          0B          0B
$ 

99MBあったスワップファイルが0Bになったのでサービス停止と自動起動停止。

$sudo systemctl stop dphys-swapfile
$sudo systemctl disable dphys-swapfile
Synchronizing state of dphys-swapfile.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable dphys-swapfile
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = "ja_JP.EUC-JP",
	LC_ALL = "ja_JP.EUC-JP",
	LANG = "ja_JP.UTF-8"
   are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("ja_JP.UTF-8").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = "ja_JP.EUC-JP",
	LC_ALL = "ja_JP.EUC-JP",
	LANG = "ja_JP.UTF-8"
   are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("ja_JP.UTF-8").
Removed /etc/systemd/system/multi-user.target.wants/dphys-swapfile.service.

もとに戻すときはdsableをenableにしてstartコマンドを打ちます。
リブートして確認。

$sudo shutdown -r now
$free -h
              total        used        free      shared  buff/cache   available
Mem:          926Mi       170Mi       531Mi        13Mi       224Mi       677Mi
Swap:            0B          0B          0B
$

これで完了です。

この記事が気に入ったらサポートをしてみませんか?