前回までに、Rasberry Pi へ CentOS7 をインストールし、SSD を外付けUSB接続で起動後は全て SSD で動作するようにしました。
インストール直後に、各種モジュールをアップデートしたいところですが
date
コマンドを実行してみて下さい。
日付が初期の状態ですよね。
まず、日付、時間を設定してからアップデート作業をしたいと思います。
先に
yum -y install chrony
でタイムサーバーをインストールします。
vi /etc/chrony.conf
でディフォルトの設定を日本のタームサーバー又は、プロバイダのタイムサーバーへ変更します。
上から数行目の部分に
server 0.rhel.pool.ntp.org iburst
0の部分が 3 までの4行が設定されていると思います。
この4行、全ての先頭に # を挿入しコメントアウトします。
#server 0.rhel.pool.ntp.org iburst
このように4行全て編集して下さい。
コメントアウトしたら、その直後に
server ntp.nict.jp iburst
server ntp.jst.mfeed.ad.jp iburst
を追加して下さい。
これは日本のタイムサーバーとなります。
更に下の方に
# Allow NTP client access from local network.
allow 192.168/16
このようになっている行を探します。
これを
# Allow NTP client access from local network.
#allow 192.168/16
デフォルトをコメントアウトし
# Allow NTP client access from local network.
#allow 192.168/16
allow xxx.xxx.xxx/24
xxxの部分には、自身のネットワークアドレスを指定してください。
サーバーのみが、時計合わせするのであれば
allow xxx.xxx.xxx.xxx/32
でも問題ありません。最後に 32 を付ける事で、サーバー単体しかアクセスを許可しない設定になります。
編集が終わったら
systemctl start chronyd
systemctl enable chronyd
を実行し、タイムサーバーを起動します。
その後
chronyc sources
で調整確認をします。
再び
date
で確認をすると、UTCの時間になっていると思います。
これをローカライズするには
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
を実行します。
再び
date
で確認すると日本時間になっていると思います。
次に、CentOS自体をアップデートします。
まず、リポジトリをアップデートするために
yum update
を実行します。
次に、本来なら upgrade をしたいところですが 2016年4月現在、インストールした CentOS のカーネルと開発関連モジュールで誤差が発生しています。
そこで、最新のカーネルをダウンロードし、先にインストールしたいと思います。
直接、パッケージが保存されているサーバーからダウンロードするので、先に
を入手します。
次に、カーネル関連をダウンロードする為
wget http://mirror.centos.org/altarch/7/kernel/armhfp/kernel-rpi2/Packages/raspberrypi2-firmware-4.1.19-v7.1.20160311git3f98f2c.el7.armv7hl.rpm
wget http://mirror.centos.org/altarch/7/kernel/armhfp/kernel-rpi2/Packages/raspberrypi2-kernel-4.1.19-v7.1.20160311git3f98f2c.el7.armv7hl.rpm
wget http://mirror.centos.org/altarch/7/kernel/armhfp/kernel-rpi2/Packages/raspberrypi2-kernel-devel-4.1.19-v7.1.20160311git3f98f2c.el7.armv7hl.rpm
wget http://mirror.centos.org/altarch/7/kernel/armhfp/kernel-rpi2/Packages/raspberrypi2-kernel-firmware-4.1.19-v7.1.20160311git3f98f2c.el7.armv7hl.rpm
の4つのファイルをダウンロードして下さい。
また、これは 2016年4月現在のファイルなので
http://mirror.centos.org/altarch/7/kernel/armhfp/kernel-rpi2/Packages/
から、最新のファイルを上記の4種類に変更して下さい。
ダウンロードが終わったら、この4種類をインストールします。
この時、yumでインストールしますが、4種類のファイル以外に関連されるモジュールも一緒にインストールされるので、4種類以外が表示されても間違えではないので安心して下さい。
インストールは一気に4種類連続で行うので
yum localinstall raspberrypi2-*
で行って下さい。
インストールが正常に終了したら、一旦、再起動しましょう。
再起動終了後
yum upgrade
を実行し、現在インストールされている各種モジュールを一気にアップデートします。
ここまで正常に終了すれば、現状での最新モジュールで様々な操作が出来るようになりますが、他の各種モジュールをインストールする際に、必要とされる開発関係もインストールしましょう。
インストールは開発関連グループで一気にインストールする為
yum groupinstall base "Development Tools"
でインストールできます。
また、どんなグループインストールが出来るかを知る為には
yum grouplist
で、グループ一覧を見る事が出来ます。
ここまでで設定は、終了です。
補足として、前回の記事中に24時間稼働を目標としていると記載しました。
気になるのは、CPU温度ですよね。
現状での CPU温度を知るには
cat /sys/class/thermal/thermal_zone0/temp
で表示される数字が CPU温度ですが、1000で割ると実際の温度となります。
1000で割った値の整数値が、60を超えていた場合、誤動作をする可能性が出て来ます。
前回の記事でのファンを取りつけなかった場合、室温24度で39度前後でした。
ファンをオンにした場合、同様の室温24度で33度まで下がった事を確認しています。
恐らく、60度を超える事はないと思いますが、24時間稼働で真夏になった場合、動作するソフトの容量や数にも寄りますが、重要度が高い運用をする場合、上記の温度ファイルを利用して、Rasberry Pi本来の40ピン、GPIO で LED を点滅させる事や、Beep回路で音を出すなどを行うと共に、管理者にメールを送るなどした方が良いと思います。
また、この温度を監視する為に、cronなどで行うか、バックグラウンドシェルで無限ループを走らせると思いますが、監視タイミングを狭くしてしまうとOS側が数値変更に間に合わず間違った数値を出す可能性があります。なるべく監視タイミングは数分おきにした方が良いと思います。