お家インフラ日記 (1)- Raspbian Stretch Liteのインストールと初期設定

唐突ですが、今日Raspberry Pi 3 Model Bを3つ買いました。今日からこの子たちを使ってk8sクラスタを作ったり、gitサーバー立てたりして、そのことを記事にしていこうかなと考えてます。

購入したものについて

Raspberry Pi 3 Model B

今発売されてるモデルで一番新しいのはRaspberry Pi 3 Model B+だと思うんですけど、あえてこの旧モデルを購入しました。その理由はお安いからです。以上。

AmazonにはRaspberry Piを売ってるショップがいくつかあるんですけど、中には対応がひどいショップもあるらしいんで注意してください。自分は日本の正規代理店(以下のリンク)から購入しました。

Sandisk Ultra 64GB (microSD)

microSDはラズパイのストレージとして使います(最近はPiServerを使えばmicroSDなしでもラズパイを使っていけるらしいですね)

microSDは正直どれを選べばいいかよくわからないんですけど、とりあえず容量が64GBあって、安いけど信頼できるような有名な会社のがいいなと思ってました。で、なんとなくSanDiskmicroSDにしようと思いました。

SanDiskHow To Choose MicroSDを見るとUltraはReadが80mbps、Writeが60mbpsらしいです。その一個上のクラスのExtremeは特典としてデータ復旧ソフトが使えたり、Readの速度がちょっと速くなったりするんですけど、Ultraより2000円くらい高かかったのでやめときました。

AC電源アダプタ

ラズパイが動けばなんでもいいや(適当)

追記(2019/2/16)

このACアダプタのせいかはしらないけど起動時に下記のようなメッセージが表示されます。

[12.471526] Under-voltage detected! (0x00050005)

どうやら入力電圧が低い時に表示されるものらしい(参考: RaspberryPi Under-voltage detected!と言われる

ちなみにケーブルはこの商品に同梱されていたものを使っています。とりあえず今使ってる感じは何も問題がないので、何か起きたらここにまた追記しようと思います。

ケース

ラズパイをサーバーとして常時稼働させるため熱がこもりにくく、かつ見栄えがクラスタっぽくなる(?)ケースがいいなと思いました。で、これにぴったりの積層式ケースというのを見つけました。

ラズパイ1個1個のために個別にケース買うよりもお得ですし、ヒートシンクなんかも付いてくるみたいですね

Raspbianのインストール

インストールの作業にはMacを使います

microSDカードのフォーマット

購入したSanDiskmicroSDはすでにexFATでフォーマットしてあったので、microSDのフォーマットの作業はやってません。

$ diskutil list
/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         500.3 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:          Apple_CoreStorage Macintosh HD            499.3 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           +499.0 GB   disk1
                                 Logical Volume on disk0s2
                                 C7F4AAD8-D7F2-4997-9FFD-7CA99EE02414
                                 Unlocked Encrypted

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *63.9 GB    disk2
   1:               Windows_NTFS                         63.8 GB    disk2s1

$ diskutil info /dev/disk2s1
   Device Identifier:        disk2s1
   Device Node:              /dev/disk2s1
   Whole:                    No
   Part of Whole:            disk2

   Volume Name:              
   Mounted:                  Yes
   Mount Point:              /Volumes/Untitled

   Partition Type:           Windows_NTFS
   File System Personality:  ExFAT
   Type (Bundle):            exfat
   Name (User Visible):      ExFAT

   OS Can Be Installed:      No
   Media Type:               Generic
   Protocol:                 USB
   SMART Status:             Not Supported
   Volume UUID:              B5D683B0-13DD-3ABB-8A4E-1B19743E59B6

   Disk Size:                63.8 GB (63847792640 Bytes) (exactly 124702720 512-Byte-Units)
   Device Block Size:        512 Bytes

   Volume Total Space:       63.8 GB (63831015424 Bytes) (exactly 124669952 512-Byte-Units)
   Volume Used Space:        8.5 MB (8519680 Bytes) (exactly 16640 512-Byte-Units) (0.0%)
   Volume Available Space:   63.8 GB (63822495744 Bytes) (exactly 124653312 512-Byte-Units) (100.0%)
   Allocation Block Size:    131072 Bytes

   Read-Only Media:          No
   Read-Only Volume:         No

   Device Location:          External
   Removable Media:          Removable
   Media Removal:            Software-Activated

$ 

(/dev/disk2はSDカードリーダー)

フォーマットの作業をする場合は、ネットで調べるとSD Card Formatterを使え!って記事がいっぱい出てきますが、Mac OSだったらDisk Utilityを使えばそれをダウンロードする必要はなさそうですね。

Raspbianのダウンロードと書き込み

Raspbianのイメージは公式サイトのDownloadsからダウンロードできます。サーバーとして動かすのならデスクトップ環境なんかいらないし、Raspbian Stretch Liteという軽量のイメージを使うことにしました。

イメージのzipをダウンロードしたら、ハッシュを確認して解凍。

$ shasum -a 256 2018-11-13-raspbian-stretch-lite.zip
47ef1b2501d0e5002675a50b6868074e693f78829822eef64f3878487953234d  2018-11-13-raspbian-stretch-lite.zip
$ unzip 2018-11-13-raspbian-stretch-lite.zip 
Archive:  2018-11-13-raspbian-stretch-lite.zip
  inflating: 2018-11-13-raspbian-stretch-lite.img  
$

イメージの書き込みはInstalling operating system imagesに「Etcherを使ったら簡単にできるよー」って書いてあったんで、これを使うことにしました。

Etcherを使った作業の流れは

  1. 「Select Image」で解凍済みのイメージのファイルを選択
  2. 「Select Drive」でmicroSDを選択
  3. Flash」で書き込み開始

これだけです。

ラズパイの起動

ラズパイにイメージを書き込んだmicroSDを挿して、ACアダプタを繋げたら起動します。ちょっと待ってると

raspberrypi login:

っていうメッセージが表示されるので、ここでユーザー名とパスワードを入力してログインします。デフォルトではユーザー名pi、パスワードはraspberryでログインできます。

起動したあとやったこと

※以下の設定には一部インターネットへの接続が必要なものがあります(aptとかね)

piユーザーのパスワードの変更

# passwd pi

パッケージの更新

# apt update
# apt upgrade -y

ファームウェアの更新

ファームウェアの更新は推奨されていないみたいですが、やっちゃった。最新版が安定しているとは言えないので、もしかしたら何かしらの不具合が起きるみたいです。

# rpi-update
# reboot

キーボードのJIS配列に対応させる

注意してほしいのが、これはレイアウトの設定であって日本語入力を可能にするものではないです。

# nano /etc/default/keyboard
/etc/default/keyboard
...
XKBLAYOUT="jp"   <-ここたぶん"gb"になってるので"jp"に変更
...

あとは再起動

sshdの起動

# systemctl enable ssh
# systemctl status sshd

ちなみにデフォルトでsshのパッケージがインストールされてます。systemctl start sshdを実行した場合はFailed to restart sshd.service: Unit sshd.service not found.と表示され失敗するので注意。(How do I restart sshd on raspbian?

別の方法として/boot/の下にsshというファイルを作ることで、起動時にsshdが起動するようにできるみたいです。(A security update for Raspbian PIXEL - Raspberry Pi

ホスト名の変更

/etc/hostname/etc/hostsを編集します。まずhostnameの方

/etc/hostname
1goki

ラズパイ3つにそれぞれ1goki、2goki、3gokiという名前をつけました。次はhostsファイル。127.0.0.1の右側に書いてある古いホスト名(おそらくデフォルトだとraspberrypiになってるはず)を新しいホスト名に書き換えます。

/etc/hosts
127.0.0.1    1goki

あとは再起動すればこの設定が反映されます。

とりあえず今回はここまで。ラズパイをサーバーとして動かすならIPの固定化とかもしたいんですけど、その辺の設定はまた後々。

参考(作業中に読んでてためになった記事)