ラズパイ4を購入したので、Raspbianではなく一般的なサーバーとしてよく使われるCentOSを入れてみたいと思います!!
ただし、実用的じゃないので自分はすぐにRaspbianに戻しました(笑)
参考にさせて頂いたサイト
Raspberry Pi 4 で CentOS 7 を動かす
CentOSにntpサーバを入れて、日本標準時刻に自動的に合わせるためのメモ
CentOS 7 NTP設定・・・ちょっと待て!?
Raspberry Pi Imagerの準備
こちらは、microSDのフォーマットやOSの書き込みなどを自動で行ってくれるソフトです!
Raspberry Pi Downloads - Software for the Raspberry Pi
ここから、任意のOSを選択してダウンロード&インストールをしましょう!
私は、microSDの書き込みをWindowsで行ました。
ディスクイメージのダウンロード
上記のサイトだと、CentOSをデフォルトでサポートしていないので、下記のリンクからラズパイ4用のCentOS7のディスクイメージをダウンロードしましょう。
Raspberry Pi Imagerを使って、microSDに書き込む
ディスクイメージのダウンロードが終わったら、インストールしたRaspberry Pi Imagerを使って、microSDに書き込みます。
- Operating System:ダウンロードしたディスクイメージ
- SD Card:PCに挿している書き込みたいSDカード
2つ指定すると、「WRITE」が押せるようになるので押して書き込みましょう。
しばらく待って、この画面がでたら書き込みが完了!!
ラズパイに有線LANを挿して、SSHで接続する
書き込みが終了したら、書き込んだSDカードをラズパイに挿して起動しましょう!
起動したら、デフォルトの以下のユーザーでログインして、IPアドレスを確認します。
ユーザ名:root
パスワード:centos
ログインできたら、以下のコマンドを打って、IPアドレスを確認しましょう !
ip a | grep 192
そうすると、192から始まるIPアドレスが取得できます。
[root@localhost ~]# ip a | grep 192
inet 192.168.0.2/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0
ここから分かるとおり、このラズパイのIPアドレスは「192.168.0.2」ということが分かりましたので、別のPC(今回はmac)からSSHでログインします。
(Windowsの方はTera TermというソフトをDLをしてそこからログインします。)
まずは、ターミナルで以下のコマンドをうち、ラズパイでログインした通りにここでもログインしましょう。
ssh root@調べたラズパイのIPアドレス
私の場合だと、以下のようなコマンドになります。
ssh root@192.168.0.2
そしたら、このようになるのでyesと入力します。
The authenticity of host '192.168.0.2 (192.168.0.2)' can't be established.
ECDSA key fingerprint is SHA256:mOsYHnXBZPXZIAs0bzk7eOv3hZ4Rt2mJKfzlZiylR3o.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
次は、パスワードが求められるので「centos」と入力してEnterを押します。
Warning: Permanently added '192.168.0.2' (ECDSA) to the list of known hosts.
root@192.168.0.2's password:
このような状態になれば、ログインは成功です!!
Last login: Tue Apr 21 17:23:37 2020 from 192.168.0.7
[root@localhost ~]#
ここまでをまとめると、このような感じになるはずです
rootのパスワードを変更する
初期状態だと、誰でもログインできてしまうので以下のコマンドを打って、任意のパスワードへ変更しましょう。
passwd root
すると、新しいパスワードの入力と確認が求められるので2回入力します。
「passwd: すべての認証トークンが正しく更新できました。」
と表示されたら完了です!!!
パーティションの拡張を行う
まず、以下のコマンドを打ってください。
df -h
そうするとこのような結果が表示されると思います。
[root@localhost ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/root 1.4G 1.2G 211M 85% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 17M 1.9G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/mmcblk0p1 286M 52M 235M 18% /boot
tmpfs 391M 0 391M 0% /run/user/0
/def/rootを見てみると、microSDは32GBのものを使用しているのに、うまく使いきれていません…
なので、以下のコマンドを入力して拡張しましょう!
/usr/bin/rootfs-expand
そうすると、最後にDone.と表示されると成功です
なので、もう一度df -hと入力すると拡張されていることが分かります。
vimエディタのインストール
以下のコマンドを入力して、vimというエディタをインストールしましょう。
sudo yum install vim -y
NTPサーバーを入れて日本の標準時に合わせる
/etc/chrony.confを編集して、NTPサーバーの指定しましょう!
デフォルトでは以下のようになっているので
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
このserver から始まる行が、海外の時刻を提供しているサーバーらしいので、全部コメントアウトして、以下の行を追加します。
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
### ↓ここからコメントアウト
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
######## ↑ここまでコメントアウト
### ↓ここから追加
# 日本標準時を提供しているNTPサーバー(stratum 1)
server ntp.nict.jp iburst
# 上記サーバーと直接同期しているNTPサーバー(stratum 2)
server ntp.jst.mfeed.ad.jp iburst
####### ↑ここまで追加
今回は、時刻補正のためのNTPなので、以下の行を追加してサーバーとしては使わないようにする。
port 0
海外のNTPサーバーと大幅にずれていると設定出来ないらしいので、以下のコマンドで手動設定しましょう。
chronyc makestep
以下のコマンドを入力して、NTPサーバーの再起動と起動時に自動で実行するようにします。
systemctl restart chronyd
systemctl enable chronyd
dateコマンドを入力して見ます。
2020年 4月 23日 木曜日 16:23:00 UTC
JSTになってない!!!!
ちゃんとJSTになって時刻が日本時間になっているかたは、以上です、お疲れ様でした。
なので、timedatectlコマンド入力して見ます。
Local time: 水 2020-04-22 16:23:51 UTC
Universal time: 水 2020-04-22 16:23:51 UTC
RTC time: n/a
Time zone: UTC (UTC, +0000)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
!?!?!?!?
そもそも、タイムゾーンがUTCだったのでいくらやってもUTC時刻に補正されちゃうんですね….😭😭😭
なので、以下のコマンドでタイムゾーンを東京に変更して、もう一度NTPサーバーの再起動を行い、dateで時間を確認します。
timedatectl set-timezone Asia/Tokyo
systemctl restart chronyd
date
すると….
2020年 4月 23日 木曜日 01:24:14 JST
ちゃんとJSTの時刻が設定されました!!!!
ちなみに、ラズパイを再起動して確認してみても
[root@localhost ~]# date
2020年 4月 23日 木曜日 01:39:05 JST
うまく設定できてることが確認できました🎊🎊🎊