Raspberry PiにUbuntuのサーバー版をインストールする!
Raspberry Pi で Ubuntu のデスクトップ版は簡単にインストールできました。Ubuntu のサーバ版も同じようにインストールできますが、やってみたらちょっと面倒でした。この記事は、Raspberry Pi に Ubuntu のサーバー版をインストールの例を紹介します。
Ubuntu のサーバー版のインストールはちょっと違う!
Raspberry Pi に既に Ubuntu のデスクトップ版をインストールしていたので、要領は同じと思い実際にインストールするのを後回しにしていました。ようやく、今日、Ubuntu のサーバ版の OS をインストールしたのでその報告を兼ねて詳細を紹介します。
インストールの手順は、Ubuntu のデスクトップ版のインストールと同じです。 「Raspberry Pi Imager」を使って、Ubuntu のサーバ版の OS を選択して、マイクロ SD カードにイメージを書き込めば完了です。
しかし。。。。。
実際にやってみると、デスクトップ版とは違いました!
デスクトップ版は、書き込んだマイクロ SD カードを Raspberry Pi に差し込むと、Ubuntu のインストーラーが起動されて、Ubuntu デスクトップをインストールするという形で完了できました。特に難しいこともなく簡単にできました。
Ubuntu のサーバ版の場合は、OS が立ち上がって「login:」が表示されました。
あれ!?
ユーザーの設定はまだやっていないのに。。。。
という事態になりました。やってみないとわからないものです。
標準設定のユーザー名とパスワードは?
ということで早速 Google 検索をしてみると。。。。
ありました!
ユーザー名とパスワードは予め設定されていました。
* ユーザー名:ubuntu
* パスワード:ubuntu
です。最初に入力すると、パスワードを変更するように求めてきますので、パスワードを変更します。 この段階では、まだネットワークのアクセスができないので、Raspberry Pi に直接キーボードを繋いで直接 Raspberry Pi にアクセスします。
では、早速ネットワークに接続して利用しようと思い、まずは IP アドレスを調べると
$ ip a
を実行すると WiFi に接続されていません。当たり前ですが、設定をしていないので当然ですが、この状態ではネットワークには接続されていません。LAN ケーブルを繋げば良いのですが、あいにく作業をしている場所には LAN ポートからは離れていて接続できない状況なので、WiFi に接続する必要がありました。
WiFi の設定は?
これも、「Ubuntu server install to Raspberry Pi」で検索をすると、Ubuntu のサイトにちゃんと説明がありました。
やり方は二つあって、
* イメージを書き込んだ際に、設定ファイルに WiFi の接続情報を追記する方法
* 最初に Ubuntu のサーバー版の OS を立ち上げたあと設定ファイルに WiFi の接続情報を追記する方法
のどちらかで設定できます。
イメージを書き込んだ際には、マイクロ SD カードにアクセスして「system-boot」というフォルダにある「network-config」というファイルに以下の情報を追記します。
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
SVSW_WIFI:
password: "changeme"
この変更を行なった後に変更内容を保存してからマイクロ SD カードを書き込んだ PC から取り出して Raspberry Pi に差し込んで起動すると、WiFi が使えるようになります。
最初のブート後に変更する場合には、
$ sudo vi /etc/netplan/50-cloud-init.yaml
で設定ファイルを編集します。利用するエディタはコマンドラインから利用できるものならば何でも利用できます。通常は「vi」か「nano」を使って編集できます。
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
eth0:
dhcp4: true
optional: true
version: 2
wifis:
wlan0:
access-points:
SVSW_WIFI:
password: changeme
dhcp4: true
optional: true
設定する内容は同じ内容です。変更後再起動すれば WiFi が利用できます。
リモートアクセスの確認
これで、ネットワーク経由で Raspberry Pi にアクセスできるようになります。 ネットワーク経由で Raspberry Pi にアクセスするには、Raspberry Pi の IP アドレスが必要です。
「ip a」というコマンドを実行すると IP アドレスがわかります。
ubuntu@ubuntu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether dc:a6:32:ef:3c:6d brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether dc:a6:32:ef:3c:70 brd ff:ff:ff:ff:ff:ff
inet 192.168.86.240/24 brd 192.168.86.255 scope global dynamic wlan0
valid_lft 85270sec preferred_lft 85270sec
inet6 fe80::dea6:32ff:feef:3c70/64 scope link
valid_lft forever preferred_lft forever
ubuntu@ubuntu:~$
利用しているネットワークは WiFi(wlan0)なので、この Raspberry Pi の IP アドレスは「192.168.86.240」になります。
リモートアクセスは
$ ssh ubuntu@192.168.86.240
を別の PC から実行すればアクセスできるようになります。これで、Raspberry Pi に接続したキーボードとディスプレがなくても色々な設定がネットワーク経由でできるようになります。
まとめ
Raspberry Pi を利用して、Linux や Web サービスの仕組みを実際に体験するために、色々な例をお届けしています。 今回は、Ubuntu のサーバー版の OS を実際にインストールしてみました。
やり方は、 Ubuntu のデスクトップをインストールする要領と同じですが、細かい所は Google 検索のお世話になりました。 予め設定されている、ユーザー名やパスワードの情報、WiFi を利用する場合には設定が必要になります。
SSH はサーバー版の場合標準で設定がされているので特に何もしなくても利用できます。
サーバー版のパッケージの場合、マイクロ SD カードも 16GB~32GB 程度あれば大抵の事はできますし、一度設定をしてしまえば電源を繋いで置くだけでネットワーク経由で利用できるので場所も取らないので便利です。
サーバーの設定ができたので、次回以降はこのサーバーを利用して Web 関連の実装を実際にやってみようと思います。 既に、シンプルな Web サーバーの例は紹介したので別の例を紹介する予定です。