Raspberry Pi OS 最低限セットアップ

スポンサーリンク

Raspbian(2020年5月にRaspberry Pi OSに名前が変わりました)のインストールが終わった後、最低限セットアップとなります。

随時、追加していくかもしれません。

最低限セットアップ

初期セットアップとして、コンソールでしかできないような最低限の設定のみを行ないます。

初回電源投入

初回の電源投入時に、MicroSDカードが使用可能な容量まで、自動的に拡張されます。

画面には、青バックで「Resized root filesystem. Rebooting in 5 seconds …」と、一瞬ですが表示されると思います。

無線LAN(WiFi)の有効化

無線LANが無効状態ですので、無線LANが利用できるようにします。

Raspbian GNU/Linx 10 raspberrypi tty1

raspberrypi login: pi  ← インストール直後のユーザー名
Password: raspberry  ← インストール直後のパスワード

Linux raspberrypi 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

Wi-Fi is currently blocked by rfkill.
Use raspi-config to set the country before use.

pi@raspberrypi:~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
pi@raspberrypi:~ $ sudo raspi-config nonint do_wifi_country JP
OK
pi@raspberrypi:~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP  ← 追加された
pi@raspberrypi:~ $ systemctl reboot

無線LANで接続をするための設定を行ないます。

Raspbian GNU/Linx 10 raspberrypi tty1

raspberrypi login: pi
Password: raspberry
Last login: Thu Feb 13 16:17:09 GMT 2020 on tty1
Linux raspberrypi 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
pi@raspberrypi:~ $ iwconfig wlan0
wlan0     IEEE 802.11  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=31 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on

pi@raspberrypi:~ $ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
    ssid="xxxxx"
    psk="xxxxx"
}

pi@raspberrypi:~ $ sudo raspi-config nonint get_ssh
1
pi@raspberrypi:~ $ sudo raspi-config nonint do_ssh 0 ← sshでログインできるように
pi@raspberrypi:~ $ sudo raspi-config nonint get_ssh
0
pi@raspberrypi:~ $ systemctl reboot

Teratermなど適当なターミナルからsshでログインができるかを確認します。接続先のIPアドレスは、DHCPサーバで振られているIPアドレスを確認してください。

ユーザー名 : pi
パスワード : raspberry

Linux raspberrypi 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Apr 29 16:00:00 2020 from 192.168.43.131

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

pi@raspberrypi:~ $

パッケージの更新

パッケージを更新して、最新のものを使うようにします。

$ sudo apt update ← パッケージリストのデータベースを更新
   : (割愛)
$ sudo apt upgrade ← インストール済パッケージの更新
   : (割愛)
The following package was automatically installed and is no longer required:
  rpi-eeprom-images
Use 'sudo apt autoremove' to remove it.
The following packages will be upgraded:
   : (割愛)
Do you want to continue? [Y/n] Y
   : (割愛)
$ sudo apt autoremove ← いらなくなったパッケージの自動削除
   : (割愛)
The following packages will be REMOVED:
  rpi-eeprom-images
   : (割愛)
Do you want to continue? [Y/n]Y
   : (割愛)

デフォルトのユーザー名とパスワードの変更

デフォルトのユーザー名「pi」とパスワード「raspberry」のままでは、セキュリティー的に良くないので変更します。

まずは、仮のユーザーを作成します。「pi」ユーザーでログインしている状態では、「pi」ユーザー自身の変更できないからです。

ユーザー名 : pi
パスワード : raspberry

pi@raspberrypi:~ $ sudo useradd -M tmpuser ← 「-M」でホームディレクトリーを作成しない
pi@raspberrypi:~ $ sudo gpasswd -a tmpuser sudo ← sudoグループに追加
Adding user tmpuser to group sudo
pi@raspberrypi:~ $ sudo passwd tmpuser
New password: tmppass
Retype new password: tmppass
passwd: password updated successfully
pi@raspberrypi:~ $ exit

先ほど、作成した仮のユーザーでログインします。

ユーザー名 : tmpuser
パスワード : tmppass

Linux raspberrypi 5.4.51-v7l+ #1327 SMP Thu Jul 23 11:04:39 BST 2020 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Could not chdir to home directory /home/tmpuser: No such file or directory

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

tmpuser@raspberrypi:/$ sudo usermod -l orange pi ← 「pi」ユーザーを「orange」に変更

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for tmpuser: tmppass
tmpuser@raspberrypi:/$ sudo usermod -d /home/orange -m orange ← ホームディレクトリーの変更
tmpuser@raspberrypi:/$ sudo groupmod -n orange pi ← 「pi」グループを「orange」に変更
tmpuser@raspberrypi:/$ exit

「pi」ユーザーの変更が出来ましたので、仮のユーザーは削除して、変更したユーザー名のパスワードを変更します。

ユーザー名 : orange
パスワード : raspberry

Linux raspberrypi 5.4.51-v7l+ #1327 SMP Thu Jul 23 11:04:39 BST 2020 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Jun 20 15:30:38 2020 from 192.168.11.5

orange@raspberrypi:~ $ sudo userdel tmpuser ← 仮のユーザーを削除

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for orange: raspberry ← まだデフォルトのまま
orange@raspberrypi:~ $ sudo passwd orange ← パスワードの変更
New password: xxxx
Retype new password: xxxx
passwd: password updated successful

IPアドレスの設定

デフォルトの状態では、DHCPにてIPアドレスが割り当てられるので、サーバー用途であれば、IPアドレスは固定化します。

$ cd /etc/.
$ sudo cp -p dhcpcd.conf dhcpcd.conf.original
$ sudo vi dhcpcd.conf
   : (省略)
# Example static IP configuration:
interface wlan0
static ip_address=192.168.11.100/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.11.1
static domain_name_servers=192.168.11.90
   : (省略)
$ diff dhcpcd.conf dhcpcd.conf.original
44,45c44,45
< interface wlan0
< static ip_address=192.168.11.100/24
---
> #interface eth0
> #static ip_address=192.168.0.10/24
47,48c47,48
< static routers=192.168.11.1
< static domain_name_servers=192.168.11.90
---
> #static routers=192.168.0.1
> #static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1

ホスト名の変更

$ cd /etc/.
$ sudo cp -p hostname hostname.original
$ sudo vi hostname
raspi01 ← 新しいホスト名に変更
$ sudo cp -p hosts hosts.original
127.0.0.1       localhost
::1                 localhost ip6-localhost ip6-loopback
ff02::1          ip6-allnodes
ff02::2          ip6-allrouters

127.0.1.1       raspi01 ← 新しいホスト名に変更
$ diff /etc/hostname /etc/hostname.original
1c1
< raspi01
---
> raspberrypi
$ diff /etc/hosts /etc/hosts.original
6c6
< 127.0.1.1       raspi01
---
> 127.0.1.1       raspberrypi
$ sudo systemctl reboot

タイムゾーンの変更と時刻同期の設定

タイムゾーンを日本時間に変更します。
また、時刻同期の設定も行います。Raspberry Pi OS(Buster)では、timesyncdを使用して時刻同期を行います。

timesyncdとは、、、

SNTPクライアントとしての動作をします。
chronyなどのNTP実装とは対照的に、timesyncd はクライアント側しか実装しておらず、完全なNTPの複雑性に悩むことなく、リモートサーバーに時刻を問い合わせてそれにローカルクロックを同期させることだけに焦点を置いています。
Raspberry PiなどのRTCを載せてないシステムのために、新しいNTPの同期が取得される度にディスクに現在の時刻を保存し、起動時には、その情報を元にシステム時刻を修正することができ、時刻が常に正しいわけではないときでも、それらのシステムで時刻がモノトニック(単純)に進むことを保証します。

$ sudo raspi-config nonint do_change_timezone Asia/Tokyo ← タイムゾーン設定

Current default time zone: 'Asia/Tokyo'
Local time is now: Wed Aug 12 00:38:18 JST 2020.
Universal Time is now: Tue Aug 11 15:38:18 UTC 2020.

$ timedatectl status
               Local time: Fri 2020-08-14 08:58:03 JST
           Universal time: Thu 2020-08-13 23:58:03 UTC
                 RTC time: n/a
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active ← 動作している
          RTC in local TZ: no
$ cd /etc/systemd
$ sudo cp -p timesyncd.conf timesyncd.conf.original
$ sudo vi timesyncd.conf
   : (割愛)
[Time]
NTP=ntp.jst.mfeed.ad.jp ntp.nict.jp time.google.com
#FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048
$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-timesyncd.service
$ systemctl status systemd-timesyncd.service
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/systemd-timesyncd.service.d
           mqdisable-with-time-daemon.conf
   Active: active (running) since Fri 2020-08-14 09:07:48 JST; 11s ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 25293 (systemd-timesyn)
   Status: "Synchronized to time server for the first time 210.173.160.87:123 (ntp.jst.mfeed.ad.jp)."
    Tasks: 2 (limit: 2187)
   CGroup: /system.slice/systemd-timesyncd.service
           └25293 /lib/systemd/systemd-timesyncd

Aug 14 09:07:48 tka2wb01 systemd[1]: Starting Network Time Synchronization...
Aug 14 09:07:48 tka2wb01 systemd[1]: Started Network Time Synchronization.
Aug 14 09:07:48 tka2wb01 systemd-timesyncd[25293]: Synchronized to time server for the first time 210.173.160.87:123 (ntp.jst.mfeed.ad.jp).

各種ソフトウェアのインストール

必要な各種ソフトウェアをインストールします。

$ sudo apt install dnsutils ← 「nslookup」や「dig」コマンドを使いたいため
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
   : (割愛)
Suggested packages:
   : (割愛)
The following NEW packages will be installed:
   : (割愛)
The following packages will be upgraded:
   : (割愛)
7 upgraded, 2 newly installed, 0 to remove and 21 not upgraded.
Need to get 3,346 kB of archives.
After this operation, 952 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
   : (割愛)
Setting up libisc1100:armhf (1:9.11.5.P4+dfsg-5.1+deb10u2) …
Setting up liblwres161:armhf (1:9.11.5.P4+dfsg-5.1+deb10u2) …
Setting up libisccc161:armhf (1:9.11.5.P4+dfsg-5.1+deb10u2) …
Setting up libdns1104:armhf (1:9.11.5.P4+dfsg-5.1+deb10u2) …
Setting up libisccfg163:armhf (1:9.11.5.P4+dfsg-5.1+deb10u2) …
Setting up libbind9-161:armhf (1:9.11.5.P4+dfsg-5.1+deb10u2) …
Setting up libirs161:armhf (1:9.11.5.P4+dfsg-5.1+deb10u2) …
Setting up bind9-host (1:9.11.5.P4+dfsg-5.1+deb10u2) …
Setting up dnsutils (1:9.11.5.P4+dfsg-5.1+deb10u2) …
Processing triggers for libc-bin (2.28-10+rpi1) …
Processing triggers for man-db (2.8.5-2) …