OSのセットアップだよ〜
さてさて、前回はRaspberry Pi 3 Model BでとりあえずCentOS7が起動したっぽい所まで確認できました。
というわけで、今回はその続きをやることにしませぅ。
そうです!CentOS7の初期設定です。ここからはRaspberry Pi特有のネタもありつつ、そうじゃないネタもありつつでお届けする事になります(`・ω・´)
まずは起動!
早速セットアップ!……と行きたいところですが、まず起動しましょう。
起動するのは非常に簡単で、
- OS書き込み済みのSDカードを所定の位置にセットする
- 有線LAN、USBキーボード、HDMIディスプレイを接続する
- 電源を繋ぎ、ディスプレイに流れるアレコレ眺める
- 起動したら、ユーザ名が「root」、パスワードが「centos」でログイン
って手順を着実に実行するだけでOK。
ちゃんともろもろ環境を整えてさえいれば、電源を入れてから5秒程度で起動する感じですね。遅くても10秒はかからないかなーって印象。
ipアドレスを知ろう!
で、ログインしたらrootなコマンドプロンプトが使えるようになっているので、下記のコマンドでIPアドレスをチェックします。
[root@centos-rpi3 ~]# ip addr
このコマンドを実行すると、下記みたいな表示が現れてラズパイにアサインされたIPアドレス1)DHCPでIPアドレスを取得しているケースが大半なので、こうやって今のアドレスをチェックしているってイメージっすを知ることができます。赤枠の所ですね。
私は秘密主義者なので、内部ネットワークに関する部分はボカしてます。
そのため、ちょっと分かりにくくはあるんですが、「eth0」の「inet」ってところの右隣にIPv4なIPアドレスが表示されているはずです。
これをコピっておいてください。
ここからのお約束だよ(`・ω・´)
とはいえ、このまま進むと説明がアレになってしまうので、RFC 6890 – Special-Purpose IP Address Registries2)と、ついでにRFC 5737 – IPv4 Address Blocks Reserved for Documentation(ついでのついでに、RFC 3849 – IPv6 Address Prefix Reserved for Documentation)に基づいて、下記のIPアドレス等を使用したものとしてアレします。
用途 | アドレス等 | 備考 |
---|---|---|
ネットワークアドレス | 192.0.2.0 | TEST-NET-1 |
サブネットマスク | 255.255.255.0 | /24 |
ブロードキャスト アドレス |
192.0.2.255 | |
ルータ | 192.0.2.1 | |
内部サーバ (DNS/DHCP/NTP等) |
192.0.2.10 192.0.2.11 |
|
Raspberry Pi 3 Model B |
192.0.2.100 | |
自端末 | 192.0.2.200 |
SSHでログインしよう!
IPアドレスが分かったので、手元のPCからログインしましょう。
ターミナルエミュレータ3)Macなら「ターミナル」、Winなら「Tera Term」とかを起動して、ラズパイにアサインされたIPアドレスへrootとして接続します。
例えば、手元のMacからやると下記のような感じになります。
[foobar@Mac]$ ssh root@192.0.2.100 The authenticity of host '192.0.2.100 (192.0.2.100)' can't be established. ECDSA key fingerprint is SHA256:{フィンガープリント(省略)} Are you sure you want to continue connecting (yes/no)? (「yes」と入力し、エンター) Warning: Permanently added '192.0.2.100' (ECDSA) to the list of known hosts. root@192.0.2.100's password:(「centos」と入力し、エンター) Last login: Wed Aug 3 HH:mm:ss YYYY [root@centos-rpi3 ~]#
途中で2回ほどキーボード入力が必要4)「yes」って入力する所は初回だけでOKですなですね。
これで、手元のPCからラズパイちゃんに接続できるようになったので、本格的な設定をおこないましょう。
rootのパスワード変更!
なにはともあれ、rootのパスワードをデフォルトから変更しましょう。
特に変わったこともなく、passwdコマンドを使って変更すればOKです。
[root@centos-rpi3 ~]# passwd ユーザー root のパスワードを変更。 新しいパスワード: 新しいパスワードを再入力してください: passwd: すべての認証トークンが正しく更新できました。 [root@centos-rpi3 ~]#
このパスワードは忘れないようにしましょうね(はぁと
CentOS7でネットワーク周りを手動設定する
DHCP経由じゃなくてStaticにIPアドレスをアサインするようにしましょう。……いちいち、ディスプレイ繋げて「ip addr」とかタイプしたくないので!
CentOS7ではネットワーク周りはNetworkManagerで管理されています。ので、CentOS6までとはちょっと操作が異なるっぽいですね。
やり方はいろいろある5)ちょっとでもグラフィカル(TUI)にやりたい人は「nmtui」でググると幸せになれますんですけど、CLIでやるのがお好きなので「nmcli」コマンドを使ってみましょう。
今の設定はどうなってる?
まずは現行の設定がどうなってるのかを見てみませぅ。
まずは、ラズパイのCentOSが認識しているデバイスの一覧を見てみましょう。
[root@centos-rpi3 ~]# nmcli device デバイス タイプ 状態 接続 eth0 ethernet 接続済み eth0 lo loopback 管理無し --
今回は、「eth0」を使うのでそのデバイスがどういう設定になっているかを見てみます。
[root@centos-rpi3 ~]# nmcli connection show eth0 connection.id: eth0 (中略) connection.autoconnect: yes ipv4.method: auto ipv4.dns: (中略) ipv4.addresses: ipv4.gateway: -- ipv4.routes: (中略)
関係ありそうなところだけ抜粋するとこんな感じですね。
実際に設定してみる
DHCP用の設定になっているので、これらを変更していきます。
下記のコマンドで、固定のIPアドレスとルータ(ゲートウェイ)のアドレスを設定できました。
[root@centos-rpi3 ~]# nmcli connection modify eth0 ipv4.method manual ipv4.addresses "192.0.2.100/24" ipv4.gateway "192.0.2.1"
続いて、ネームサーバもセットしましょう。
[root@centos-rpi3 ~]# nmcli connection modify eth0 ipv4.dns "192.0.2.10 192.0.2.11"
これで最低限の設定はできたので、NICを再起動して設定を反映させてみます。
[root@centos-rpi3 ~]# nmcli connection down eth0 && nmcli connection up eth0
ターミナルエミュレータから実行すると、SSHの接続が切れちゃうので再接続します。
[Mac]$ ssh root@192.0.2.100 ECDSA key fingerprint is SHA256:{フィンガープリント(省略)} Are you sure you want to continue connecting (yes/no)? (「yes」と入力し、エンター) Warning: Permanently added '192.0.2.100' (ECDSA) to the list of known hosts. root@192.0.2.100's password:(「centos」と入力し、エンター) Last login: Wed Aug 3 HH:mm:ss YYYY [root@centos-rpi3 ~]#
ちゃんと設定できていれば、普通に再接続できますね〜。これからはIPアドレスが固定になっているので、再起動をしても悩むことはなくなりますね。
疎通をテストする
今やった設定で支障がないか、簡単にテストしてみましょう。
まずは内部ネットワーク向けの疎通テスト。ルータにpingを打ってみます。
[root@centos-rpi3 ~]# ping -c 4 192.0.2.1 PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data. 64 bytes from 192.0.2.1: icmp_seq=1 ttl=64 time=1.18 ms 64 bytes from 192.0.2.1: icmp_seq=2 ttl=64 time=0.568 ms 64 bytes from 192.0.2.1: icmp_seq=3 ttl=64 time=0.550 ms 64 bytes from 192.0.2.1: icmp_seq=4 ttl=64 time=0.519 ms --- 192.0.2.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3001ms rtt min/avg/max/mdev = 0.519/0.705/1.184/0.277 ms
大丈夫そうですね(`・ω・´)b
続いてインタネット向けの疎通テスト。どこでもいいんですけど、今回は自社のWebサーバにpingを打ってみます。
[root@centos-rpi3 ~]# ping -c 4 agent-grow.com PING agent-grow.com (163.44.168.161) 56(84) bytes of data. 64 bytes from v163-44-168-161.a065.g.tyo1.static.cnode.io (163.44.168.161): icmp_seq=1 ttl=47 time=15.0 ms 64 bytes from v163-44-168-161.a065.g.tyo1.static.cnode.io (163.44.168.161): icmp_seq=2 ttl=47 time=14.3 ms 64 bytes from v163-44-168-161.a065.g.tyo1.static.cnode.io (163.44.168.161): icmp_seq=3 ttl=47 time=14.0 ms 64 bytes from v163-44-168-161.a065.g.tyo1.static.cnode.io (163.44.168.161): icmp_seq=4 ttl=47 time=14.0 ms --- agent-grow.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 14.056/14.368/15.022/0.400 ms
名前解決も疎通も大丈夫そうですね(`・ω・´)b
アップデートを適用する
ネットワーク周りも落ち着いたところで、各種アップデートを適用しておきましょう!
ファームウェアアップデート
RASPBIANだったら、専用のファームウェアアップデートコマンド「rpi-update」が最初から入ってます。
これを使えば良いのですが……。CentOSには入ってない!……ので、Hexxeh/rpi-updateにアクセスしましょう。
ここに書いてある説明を読みつつ、rpi-updateをインストールします。
まずはインストール。
[root@centos-rpi3 ~]# sudo curl -L --output /usr/bin/rpi-update https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update && sudo chmod +x /usr/bin/rpi-update % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 12022 100 12022 0 0 9833 0 0:00:01 0:00:01 --:--:-- 9846
そして、アップデートの適用。
[root@centos-rpi3 ~]# sudo rpi-update *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** Performing self-update *** Relaunching after update *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** We're running for the first time *** Backing up files (this will take a few minutes) *** Backing up firmware *** Backing up modules 4.1.19-v7 This update bumps to rpi-4.4.y linux tree Be aware there could be compatibility issues with some drivers Discussion here: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=144087 ############################################################## *** Downloading specific firmware revision (this will take a few minutes) % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 168 0 168 0 0 107 0 --:--:-- 0:00:01 --:--:-- 107 100 51.1M 100 51.1M 0 0 1652k 0 0:00:31 0:00:31 --:--:-- 2198k *** Updating firmware *** Updating kernel modules *** depmod 4.4.16-v7+ *** depmod 4.4.16+ *** Updating VideoCore libraries *** Using HardFP libraries *** Updating SDK *** Running ldconfig *** Storing current firmware revision *** Deleting downloaded files *** Syncing changes to disk *** If no errors appeared, your firmware was successfully updated to e7178c06ac5b527085ceb380aa56f1ed52558ea0 *** A reboot is needed to activate the new firmware [root@centos-rpi3 ~]#
コレで適用できたはずなので、ラズパイちゃんを再起動します。
[root@centos-rpi3 ~]# shutdown -r now
念のため10秒ほど待ってみた後、SSHで再接続します。ここでちゃんとログインできたらアップデート成功ですね!
[Mac]$ ssh root@192.0.2.100 root@192.0.2.100's password:(「centos」と入力し、エンター) Last login: Wed Aug 3 HH:mm:ss YYYY [root@centos-rpi3 ~]#
OSのアップデート
続いてOSのアップデートを適用しましょう。「yum update」コマンドですね!
[root@centos-rpi3 ~]# yum update 読み込んだプラグイン:fastestmirror base | 3.6 kB 00:00:00 extras | 2.9 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/4): extras/7/armhfp/primary_db | 14 kB 00:00:01 (2/4): base/7/armhfp/group_gz | 154 kB 00:00:02 (3/4): updates/7/armhfp/primary_db | 828 kB 00:00:02 (4/4): base/7/armhfp/primary_db | 2.6 MB 00:00:04 Determining fastest mirrors 依存性の解決をしています --> トランザクションの確認を実行しています。 (中略) --> 依存性解決を終了しました。 依存性を解決しました ====================================================================================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ====================================================================================================================================================== 更新します: (中略) トランザクションの要約 ====================================================================================================================================================== 更新 nn パッケージ 総ダウンロード容量: nn M Is this ok [y/d/N]:(ここで「y」と入力し、エンター) Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. 警告: /var/cache/yum/armhfp/7/updates/packages/NetworkManager-libnm-1.0.6-30.el7.armv7hl.rpm: ヘッダー V4 RSA/SHA1 Signature、鍵 ID 62505fe6: NOKEYTA NetworkManager-libnm-1.0.6-30.el7.armv7hl.rpm の公開鍵がインストールされていません (中略) ------------------------------------------------------------------------------------------------------------------------------------------------------ 合計 nn MB/s | nn MB nn:nn:n file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。 Importing GPG key 0xF4A80EB5: Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Package : centos-userland-release-7-2.1511.el7.centos.0.4.armv7hl (@centos-base_rbf) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 上記の処理を行います。よろしいでしょうか? [y/N](ここで「y」と入力し、エンター) file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32 から鍵を取得中です。 Importing GPG key 0x62505FE6: Userid : "CentOS AltArch SIG - Arm32 (https://wiki.centos.org/SpecialInterestGroup/AltArch/Arm32) <security@centos.org>" Fingerprint: 4d9e 39f1 499c a21d d289 77f8 cafe f11b 6250 5fe6 Package : centos-userland-release-7-2.1511.el7.centos.0.4.armv7hl (@centos-base_rbf) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-AltArch-Arm32 上記の処理を行います。よろしいでしょうか? [y/N](ここで「y」と入力し、エンター) Running transaction check Running transaction test Transaction test succeeded Running transaction (中略) 完了しました! [root@centos-rpi3 ~]#
お手軽ですね(`・ω・´)b
ルートパーティションの拡張
最後に、ルートパーティションを拡張します。
デフォルトでは、SDカードの容量すべてを使ってはいません。手元の環境だと下記のようになっていました。
[root@centos-rpi3 boot]# df -aH ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/root 2.1G 1.1G 871M 55% / devtmpfs 481M 0 481M 0% /dev sysfs 0 0 0 - /sys proc 0 0 0 - /proc tmpfs 486M 0 486M 0% /dev/shm devpts 0 0 0 - /dev/pts tmpfs 486M 13M 473M 3% /run tmpfs 486M 0 486M 0% /sys/fs/cgroup cgroup 0 0 0 - /sys/fs/cgroup/systemd cgroup 0 0 0 - /sys/fs/cgroup/net_cls cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct cgroup 0 0 0 - /sys/fs/cgroup/freezer cgroup 0 0 0 - /sys/fs/cgroup/devices cgroup 0 0 0 - /sys/fs/cgroup/memory cgroup 0 0 0 - /sys/fs/cgroup/blkio systemd-1 0 0 0 - /proc/sys/fs/binfmt_misc debugfs 0 0 0 - /sys/kernel/debug mqueue 0 0 0 - /dev/mqueue configfs 0 0 0 - /sys/kernel/config /dev/mmcblk0p1 315M 75M 240M 24% /boot tmpfs 98M 0 98M 0% /run/user/0
なので、拡張したいのですが……。どうやればいいんでせぅ(´・ω・`)?
……って答えは「/root/README」に書いてあります。6)ちなみに、Wifiを有効にする方法もここに書いてあります
それに従ってやってみましょう。
[root@centos-rpi3 boot]# touch /.rootfs-repartition [root@centos-rpi3 boot]# shutdown -r now
この後10秒程度待って、再接続できるかを確認して……。
[Mac]$ ssh root@192.0.2.100 root@192.0.2.100's password:(「centos」と入力し、エンター) Last login: Wed Aug 3 HH:mm:ss YYYY [root@centos-rpi3 ~]#
接続できたら、拡張されたかどうかを見てみましょう。手元の環境だとこんな感じ!
[root@centos-rpi3 ~]# df -aH ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/root 30G 933M 28G 4% / devtmpfs 481M 0 481M 0% /dev sysfs 0 0 0 - /sys proc 0 0 0 - /proc tmpfs 486M 0 486M 0% /dev/shm devpts 0 0 0 - /dev/pts tmpfs 486M 13M 473M 3% /run tmpfs 486M 0 486M 0% /sys/fs/cgroup cgroup 0 0 0 - /sys/fs/cgroup/systemd cgroup 0 0 0 - /sys/fs/cgroup/memory cgroup 0 0 0 - /sys/fs/cgroup/freezer cgroup 0 0 0 - /sys/fs/cgroup/devices cgroup 0 0 0 - /sys/fs/cgroup/net_cls cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct cgroup 0 0 0 - /sys/fs/cgroup/blkio systemd-1 0 0 0 - /proc/sys/fs/binfmt_misc mqueue 0 0 0 - /dev/mqueue debugfs 0 0 0 - /sys/kernel/debug configfs 0 0 0 - /sys/kernel/config /dev/mmcblk0p1 315M 75M 240M 24% /boot tmpfs 98M 0 98M 0% /run/user/0
ルートパーティションが拡張されたことが確認できました(`・ω・´)b
ひとまずこれで最低限の設定はできたかな?
ってことで、ひとまずの設定はできたかな〜って感じですかね。
まあ、実際に使うためにはもう一手間二手間が必要ですが、そのあたりは今後順次やっていこうかと思うです(`・ω・´)b
注訳はこちら
↑1 | DHCPでIPアドレスを取得しているケースが大半なので、こうやって今のアドレスをチェックしているってイメージっす |
---|---|
↑2 | と、ついでにRFC 5737 – IPv4 Address Blocks Reserved for Documentation(ついでのついでに、RFC 3849 – IPv6 Address Prefix Reserved for Documentation) |
↑3 | Macなら「ターミナル」、Winなら「Tera Term」とか |
↑4 | 「yes」って入力する所は初回だけでOKですな |
↑5 | ちょっとでもグラフィカル(TUI)にやりたい人は「nmtui」でググると幸せになれます |
↑6 | ちなみに、Wifiを有効にする方法もここに書いてあります |