トニーさんの備忘録

アメバより引越しの為、古い記事も再掲載しています

Rasberry Pi CentOS7 初期設定(ワンポイント)

前回までに、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カーネルと開発関連モジュールで誤差が発生しています。
そこで、最新のカーネルをダウンロードし、先にインストールしたいと思います。
直接、パッケージが保存されているサーバーからダウンロードするので、先に


yum -y install wget


を入手します。


次に、カーネル関連をダウンロードする為


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側が数値変更に間に合わず間違った数値を出す可能性があります。なるべく監視タイミングは数分おきにした方が良いと思います。