Raspberry Pi3 インストールガイド
1 OSインストール
Raspbianををダウンロード こちらから。
Raspbian Buster with desktop and recommended softwareを選択。
Download ZIPをダウンロードする。
日本語サイト
こちらから。
2019-07-10-raspbian-buster.zipをダウンロード。
2 SDカードに書き込む(Windows)
DD for Windowsを使う方法
旧バージョンの最新 Ver.0.9.9.8を選択。こちらから。
入手したzipを解凍。出て来たDDWin.exeを 管理者として実行 します。(SDカードを検出できない為)
実行したら対象のSDカードと、書き込むimgファイルを選択。
※注意※ ※imgファイル選択時に「All files」にしないと表示されない※
「<<書込<<」をクリックするとファイルをSDカードに書き込
ヘッドレス運用するつもりであれば。
デフォルトではSSHが無効なので、ヘッドレス起動したい場合はSSHを有効にする必要があります。
やり方は、bootパーティションに「ssh」という名前のファイルを作成すればOK。(中身は空で良い)
Windows環境だと「新規作成->テキストドキュメント」とする。ファイル名に.txtが付いている。
(この部分は削除する。)
Wi-Fiの設定をする
必要であればWi-Fiの設定も事前に行うことが出来る。
具体的には、bootパーティションに「wpa_supplicant.conf」を作成して設定を書き込みます。(改行コードはLFにする必要があるかと思われる)
設定例はこんな感じ
ctrl_interface=/var/run/wpa_supplicant
country=JP
network={
ssid="SSID"
psk="パスワード"
key_mgmt=WPA-PSK
proto=WPA WPA2
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
}
(パスワードは暗号化する事も可能、ここで書くと長くなるので省略)
ちょっと面倒なので、個人的には強い理由でもない限りは有線にした方が良いと思う(有線の場合、当然ながらこの手順での設定は不要)
起動とログイン
書き込みが終わったSDカードをラズパイにセットする。(必要なら)LANケーブルを差し込む。
電源につなぐ。
電源を刺せば起動する。
DHCPに対応している環境であればIPも自動で割り当てられる。
割り当てられたIPをどうにかして確認する。
Raspberry PiのベンダID(Macアドレスの上6個の英数字)は「B8:27:EB」です。
手に入れたIPを元にSSHクライアントを使って接続する。
Raspbianの場合はユーザ:pi、パスワード:raspberryがデフォルト設定です。
最低限やっておきたい設定
ローカルIPを固定しておく
RaspbianでローカルIPを固定するには「/etc/dhcpcd.conf」に設定する。
具体的な設定は以下の通り
interface eth0
# IPアドレス
static ip_address=192.168.x.x
# デフォルトゲートウェイ
static routers=192.168.x.1
# DNS
static domain_name_servers=192.168.x.1 8.8.8.8
余談ですが、インデントを入れると見やすいです
これで保存して再起動すればローカルIPアドレスが固定出来る。
現在のIPアドレスは「ifconfig」で確認できるよ。
ソフトウェアアップデート
最初にaptでソフトウェアのアップデートを行っておく。
コピペ用:sudo apt-get update && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove && sudo apt-get autoclean
raspi-config
「sudo raspi-config」コマンドでラズパイの設定が行える。必要に応じて設定を行う。
必要そうな設定は以下の通り。
Localisation Options->Change Locale: ここは日本なので「ja_JP.UTF-8」にしている。
その次の画面で選べと言われるのはデフォルトのロケール、これも「ja_JP.UTF-8」でOK
(CUIなら英語のままでもいいかも知れない)
Localisation Options->Change Timezone: ここは日本、なので「Asia」を選んでから「Tokyo」
Localisation Options->Change Wi-fi Country: Wi-Fiを使う場合はJPにしておく方が良いかと思う
Advanced Options->Memory Split: GPUメモリの割り当て、ヘッドレスで運用しているのでアプリケーションが使える分を最大にすべく16にしている。
(もちろん用途に合わせて設定してちょうだいね)
必要ならやれば的な設定は以下の通り
Advanced Options->Hostname: 適当にホスト名を付ける。
Change User Password: パスワードを変える、サーバにするなら変えること。
Localisation Options->Change Keyboard Layout: キーボードの種類、JISキーボードとか繋いでいるなら設定しないとパイプ(|)で困る(SSH接続なら不要)
Advanced Options->Expand Filesystem: SDカードを一杯まで使う、いつからか初回起動時に自動で実行されるようになったので普通は不要
ちなみに、raspi-configは非対話モードがあり、以下のような感じで利用可能
# GPUメモリ割り当て
sudo raspi-config nonint do_memory_split 16
# ホスト名
sudo raspi-config nonint do_hostname remilia
# Wi-Fiの国選択
sudo raspi-config nonint do_wifi_country JP
# SDカードの拡張
sudo raspi-config nonint do_expand_rootfs
具体的な使い方はrc_guiのコードを参考にすると良い。
非対話モードで設定できないものも、自分で設定すればなんとかなりそう。
# TimeZone
sudo timedatectl set-timezone Asia/Tokyo
# おそらく必要ないだろうけど一応reconfigureしておく
sudo dpkg-reconfigure -f noninteractive tzdata
# Locale
# /etc/locale.genのja_JP.UTF-8 UTF-8をアンコメント
sudo perl -pe 's/^# (ja_JP.UTF-8 UTF-8)/$1/g' -i /etc/locale.gen
# 言語設定
sudo locale-gen
sudo update-locale LANG=ja_JP.UTF-8
# 念のため
sudo dpkg-reconfigure -f noninteractive locales
Raspbianを自動でセットアップするスクリプトなどを作成する際には積極的に利用していきたい
SSHホスト鍵の更新
SSHのホスト鍵も更新しておく
sudo rm -v /etc/ssh/ssh_host*
sudo dpkg-reconfigure openssh-server
必要に応じて鍵交換方式に変更したりする。
パスワードの変更、パス無しsudoの禁止
、この操作は最後にやった方がセットアップが楽です。
パスワードの変更は「sudo passwd」で出来ます(raspi-configからでも可、やっている事は同じ)
rootのログインはデフォルトで無効にされているのでパスワードを設定しない方が良い(つまり、「sudo passwd root」をしてはいけない)
また、パスワードなしでのsudoの利用を禁止しておきましょう。
設定は「/etc/sudoers.d/010_pi-nopasswd」にあるので、この中の「pi ALL=(ALL) NOPASSWD: ALL」をコメントアウトする。
もしくは「sudo rm /etc/sudoers.d/010_pi-nopasswd」でファイルそのものを消してしまいましょう。(どうせ要らないのですから消してしまった方が良いかも)
ユーザ名の変更
サーバ目的だとパスワードと同じくらい必須だと思います。
こちらをご覧ください:[Raspbian]ユーザ名変更の個人的に「正しい」と思うやり方
必要であればやる設定
やらなくても問題はありませんが、場合によっては使い易さ向上が見込めると思います。
aptのミラーを変える
デフォルトだと「mirrordirector.raspbian.org」からaptのパッケージを取得するようになっています。
適切なミラーサーバにリダイレクトしてくれるみたいなのですが、ここが日本なのは分かっていますし最初から日本ミラーよりダウンロードするように設定したい人も居るでしょう。(しなくても日本のサーバにリダイレクトされるはず)
まずは「/etc/apt/sources.list」を適当なエディタで開きます。
きっとデフォルト設定があるでしょうから、それをお好みのRaspbianのミラーサーバへと書き換える。
NTPの設定
NTPは「systemd-timesyncd」を利用する、従来までの「/etc/ntp.conf」は使わない。
有効になっているかどうかは「timedatectl status」で確認できる。
Local time: 日 2019-07-21 13:30:33 JST
Universal time: 日 2019-07-21 04:30:33 UTC
RTC time: n/a
Time zone: Asia/Tokyo (JST, +0900)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
「Network time on」が「yes」になっていれば有効です、そうでない場合は「sudo timedatectl set-ntp true」で有効にする。
同期元サーバの設定は「/etc/systemd/timesyncd.conf」です。以下のように設定する。
[Time]
NTP=ntp.jst.mfeed.ad.jp ntp.nict.jp
FallbackNTP=time.google.com
同期元のNTPサーバは恐らくPing最短であろうと思われるプロバイダのサーバを利用するのが良いと思う。
プロバイダがNTPサーバを提供していない場合はMFEEDやNICTを利用する。
後は「sudo systemctl restart systemd-timesyncd」で再起動すればOK
Wi-Fiを無効にする
Pi3のWi-Fiを無効化するには、「/boot/config.txt」に「dtoverlay=pi3-disable-wifi」を追記する。
別にやらなくても問題はない、ZabbixやMuninで監視する時に邪魔になるので私は無効化している。
avahiを無効にする
Unboundなどの内向きDNSが設定出来ている環境ではavahi-daemonは不要なので止めちゃう。
sudo systemctl stop avahi-daemon.socket
sudo systemctl disable avahi-daemon
これでOKなはず
dhcpcdを無効にする
/etc/dhcpcd.confを編集するのではなく、dhcpcdを無効にして普通に/etc/network/interfacesを使うという手もある。
(基本的には不要な手順、普通はdhcpcdを利用したのでよし)
dhcpcdはsystemctlで無効にする
sudo systemctl disable dhcpcd
その後、「[Ubuntu]ローカルIPアドレスを固定にする」で紹介しているのと同じように、
「/etc/network/interfaces」に以下のような設定を追加。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1 8.8.8.8
# 必要なら
#iface eth0 inet6 auto
#iface eth0 inet6 static
# address 2001:db8:1::abcd
# netmask 64
#iface eth0 inet6 static
# address fd00:192:168:1::1
# netmask 64