ディスプレイ等を接続しないでRaspberry Pi 2にRaspbian(jessie)をインストールしました。固定IPアドレスを使用するには、dhcp.confに設定します。
ディスプレイやキーボードが接続されていないヘッドレスRaspberry PiへRaspbian1をインストールする方法は、設定をネットワークから行うだけで基本的な手順はディスプレイ等が接続されたRaspberry Piへのインストールと同じです。
必要な物
- Raspberry Pi本体
- 今回は、Raspberry Pi2を使用しました。
- USB-ACアダプタ
- 急速充電対応のアダプタをオススメ。特にRaspberry Pi3を使用するときには、取れる電流値に注意する必要があります。
- SDメモリカード
- Raspberry Pi2以降は、マイクロSDカードを使用します。容量は最低4GBとなっていますが、私の4GBカードはOSイメージが入りきりませんでした。値段は大して変わらないので、8GBを使用することをオススメします。また、できればClass 10の製品を使ったほうがファイルへのアクセス速度が上がります。
- ネットワーク
- いきなり無線LANで接続するよりは、有線でまずつないでインストールすることをオススメします。
- OS
- 今回Raspbian (jessie)をインストールします。取得方法などは、この後に説明します。
またOSのイメージファイルをSDカードに書き込むためにパソコンが必要です。私はUbuntu 16.04が動いているマシンを使用しましたが、Windowsでもイメージを直接書き込めるソフト2を使用すれば問題ありません。
Raspbianの取得
Raspbianは、公式サイトのダウンロードページまたは国内のミラーサイトからダウンロードします。国内のミラーサイトを使用したほうが、もちろん早くダウンロードが完了します。
ダウンロードが完了したら、ファイルが壊れていないか(改変されていないか)SHA-1フットプリントを見て一応確認しておきます。
$ sha1sum 2016-05-10-raspbian-jessie.zip
66a50545358e80229d77ebba89ab01f1c0fb4a02 2016-05-10-raspbian-jessie.zip
この値が、公式サイトに書かれているSHA-1の値と同じになっているはずです。もし違っているときには壊れているので捨てます。問題なければ解凍してディスクイメージを取り出します。
$ sudo apt install zip
$ zipinfo -1 2016-05-10-raspbian-jessie.zip
2016-05-10-raspbian-jessie.img
$ unzip 2016-05-10-raspbian-jessie.zip
SDメモリカードへの書き込み
ディスクイメージのファイルを取り出せたら、SDメモリカードに書き込みます。この時普通のコピーではなく、dd
またはddrescue
を使用してブート領域の部分から直接上書きします。
# `usb-Multi_Flash_Reader_058F0O1111B1-0\:0`の部分は、SDメモリカードリーダ(アダプタ)に依って変わります。
$ sudo dd bs=4M if=2016-05-10-raspbian-jessie.img of=/dev/disk/by-id/usb-Multi_Flash_Reader_058F0O1111B1-0\:0
# or
$ sudo apt install ddrescue
$ sudo ddrescue 2016-05-10-raspbian-jessie.img /dev/disk/by-id/usb-Multi_Flash_Reader_058F0O1111B1-0\:0
このコマンドを実行する時に/(root)
のあるドライブを上書きしてしまう可能性があります。そのミスを防ぐために/dev/sd*
ではなく、/dev/disk/by-id/usb-*
を使用します。これならば、USB接続のストレージだと一目で分かります。
またdd
を使用した場合は、途中で進行状況が表示されません。進行状況を確認するには、別の端末から
$ pkill -USER1 dd
を実行して進行状況を表示させるシグナルを送ります。
Raspbianを起動
ディスクイメージをSDメモリカードに書き込んだら、Raspberry Piにセットして通電します。
電源が入ると赤と緑のLEDが両方共点灯します。その後一瞬緑のLEDが消えた後に細かく点滅を繰り返します。緑のLEDはディスク(SDメモリカード)アクセスを示しているので、ブートプロセスが完了すると大体の時間消灯するようになります。
ブートプロセスが完了したらDHCPサーバまたはルータのログを確認して、このRaspberry Piが使用しているIPアドレスを探します。
ログなどを調べられない場合は、IPアドレスの範囲をスキャンして当たりをつけます。この例では、10.0.0.1
から10.0.0.126
の範囲内で反応するIPアドレスを見つけます。
$ for i in {1..126}; do echo $i; ping -c 1 -W 1 10.0.0.$i >/dev/null && echo 10.0.0.$i; done
Raspberry Piが使用しているIPアドレスが分かったら初期ユーザでログインします。例えば10.0.0.4
を使っているとすると、次のようにログイン名を指定して接続します。WindowsのTeraTermでも同じ書き方で接続アドレスとユーザ名を指定できます。
$ slogin pi@10.0.0.4
# 初回は本当に接続するか確認を求められるので、`yes`と入力して続行します。
pi@10.0.0.4's password: # 初期パスワードは`raspberry`となっています。
ログインできれば、後はヘッドレスもディスプレイ等を接続したRaspberry Piもすることは同じです。
固定IPアドレスの設定
Jessieでは、固定IPアドレスを使用する設定を/etc/dhcpcd.conf
に設定を書き込みます。これまでは/etc/network/interfaces
に設定していましたが、変更されています。
固定IPアドレスを使用するには、man dhcpcd.conf
を参考にして/etc/dhcpcd.conf
の最後に次の設定を書き加えます。
interface eth0
static ip_address=10.0.0.130/24
static routers=10.0.0.254
static domain_name_servers=10.0.0.127 10.0.0.254
セットアップ
新規ユーザ登録
まずはadduser
コマンドで自分のアカウントを作成します。パスワードや名前などを質問されるので、それに答えて入力していきます。
$ adduser nosuz
Adding user `nosuz' ...
Adding new group `nosuz' (1001) ...
Adding new user `nosuz' (1001) with group `nosuz' ...
Creating home directory `/home/nosuz' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for nosuz
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
新しく追加したユーザが管理者権限で色々できるようにするため、/etc/sudoers
に次のエントリーを追加しておきます。
#nosuz ALL=(ALL) NOPASSWD: ALL
nosuz ALL=(ALL) ALL
NOPASSWD:
を指定すると、自分のパスワードを確認されずにコマンド(ここでは全てのコマンド)を管理者権限で実行できます。どちらにするかは、各サイトのセキュリティプリシーによります。
新しいユーザでログインして管理者権限を使えることを確認したら、ユーザ登録作業は完了です。
デフォルトユーザpi
の削除
Raspbianにはpi
というユーザがいることが公開されておりブルートフォース攻撃の標的になるので、ユーザpi
を削除しておきます。
まず/etc/sudoers
を編集してユーザpi
のエントリーを削除しておきます。削除しなくても良いのですが、後々pi
というユーザを作成して意図しないで管理者権限で操作できてしまうことを防ぎます。
ユーザを削除するには、deluser
コマンドを使用します。pi
でログインしている場合は、事前にログアウトしておきます。
$ sudo deluser --remove-home pi
Looking for files to backup/remove ...
Removing files ...
Removing user `pi' ...
Warning: group `pi' has no more members.
Done.
ソフトのアップデート
パッケージのダウンロードを速くするために、Raspbianのmirrorサイト3を参考にして近場のサイトからダウンロードするようにapt edit-sources
コマンドで/etc/apt/sources.list
の内容を変更します。直接ファイルを編集しても問題ありませんが、この方法だと書式に問題が有ると教えてくれます。
$ sudo apt edit-sources
# 初回はエディタの選択メニューが表示されます。
$ cat /etc/apt/sources.list
#deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb http://ftp.yz.yamagata-u.ac.jp/pub/linux/raspbian/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi
$ sudo apt update && sudo apt full-upgrade
# Raspberry Piのファームウェアをアップデート。しばらく時間がかかります。
$ sudo rpi-update
ディスク領域の拡張
SDメモリーカードの全領域をRaspbianから使えるようにするには、raspi-config
コマンドでパーティションを拡張します。
$ sudo raspi-config
┌─────────┤ Raspberry Pi Software Configuration Tool (raspi-config) ├─────────┐
│ │
│ 1 Expand Filesystem Ensures that all of the SD card │
│ 2 Change User Password Change password for the default │
│ 3 Boot Options Choose whether to boot into a de │
│ 4 Wait for Network at Boot Choose whether to wait for netwo │
│ 5 Internationalisation Options Set up language and regional set │
│ 6 Enable Camera Enable this Pi to work with the │
│ 7 Add to Rastrack Add this Pi to the online Raspbe │
│ 8 Overclock Configure overclocking for your │
│ 9 Advanced Options Configure advanced settings │
│ 0 About raspi-config Information about this configura │
│ │
│ │
│ <Select> <Finish> │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
# メニューの一番を選択します。上下の矢印で移動させて、1のところで`Enter`キーを押すと選択されます。
# `Tab`キーで`Finish`に移動して`Enter`キーを押すとrebootするか聞かれるので、再起動します。
# 再起動したら、`df -h`コマンドでディスク領域が拡張していることを確認します。
終了
終了するときは、次のコマンドで安全に終了させます4。
$ sudo shutdown -h now
このコマンドを実行すると緑色LEDがしばらく点滅します。この点滅が収まり緑色LEDが消灯したら、10秒ほど見守ってもう点滅することがないのを確認して電源を切ります。
-h
オプションの代わりに-r
を指定するとリブートします。
参照と脚注
-
Rasbianと間違えやすいのですが、Raspbianとbの前にpが入ります。間違えるのは私だけ? ↩
-
Win32DiskImagerやDD for Windowsなどを使用します。 ↩
-
Raspbian Mirrors 私は山形大学のミラーを使用しています。 ↩
-
もっとも電源をいきなり切っても大抵問題になりません。 ↩