Edited at

Raspbian初期セットアップの備忘録

More than 3 years have passed since last update.

Mac用。RaspbianでもChefが使えるのでknife-soloを実行するまでのメモ。


RaspbianをSDカードに焼く



  1. DownloadからRaspbianイメージをダウンロードする



    • .zipの場合は.imgファイルに展開しておく



  2. SDカードを指す


  3. df -hでSDカードのディスク名をチェックする



    • /dev/diskNsXがディスク名なら /dev/rdiskN がrawディスク名となる

    • 例えば /dev/disk1s1 なら /dev/rdisk1




  4. ddコマンドでイメージを焼く

Macがインストールされたハードドライブを間違えて更新しないように指定するディスクは注意して確認すること

実行例: SDカードが/dev/disk2s1~/Download/2015-05-05-raspbian-wheezy.imgを焼く場合


Terminal(OSX)

cd ~/Downloads

sudo diskutil unmount /dev/disk2s1
sudo dd bs=1m if=2015-05-05-raspbian-wheezy.img of=/dev/rdisk2
sudo diskutil eject /dev/disk2s1


raspi-config

最初の起動時にraspi-configが起動する。しない場合はTerminalから sudo raspi-configを実行する。任意のタイミングでraspi-configは呼び出せる。

設定後、rebootを促されたら再起動する。


パーティションの拡張

初期イメージのままだと2GBまでしか使えないのでSDカードをフルに利用するためにパーティションの拡張を実行する。


  • Expand Filesystem


日本仕向け設定

日本語フォントがないとja_JP.UTF-8で文字化けするのでLocaleの設定はPCからリモートで繋いでからでも良いかもしれない。


  • Internationalisation Options > Change Locale > ja_JP.UTF-8

  • Internationalisation Options > Change Timezone > Asia > Tokyo

  • Internationalisation Options > Change Keyboard Layout > Generic 101-key PC > Other > Japanese > Japanese > The default for the keyboard layout > No compose key


ホスト名設定

ホスト名を変更しておく、デフォルトだとraspberrypiなので複数台管理するとややこしくなる。


  • Advanced Options > A2 Hostname > rpi01


無線LANの設定

優先LANを使うのであれば必要なし、USB無線LANアダプタ使う場合は無線LANの設定をする。


(Raspbian)

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf



/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={
ssid="YOUR_SSID"
psk="YOUR_PASSWORD"
# 0: default, 1: stealth
scan_ssid=0
}


YOUR_SSIDYOUR_PASSWORDを置き換えて、ステルスSSIDならscan_ssid1に設定するなど。


(Raspbian)

sudo reboot



IPアドレスのチェック

リブート後、Username: pi Password: raspberry でログインし、IPアドレスを調べる。


(Raspbian)

ifconfig


実行するコマンドをコピペしていきたいのでIPアドレスがわかったらPCからsshで接続する。(192.168.1.30を置き換えて読む)


Terminal(OSX)

ssh pi@192.168.1.30



パッケージを更新

パッケージを更新。時間がかかるのでしばし待つ。


(Raspbian)

sudo apt-get update

sudo apt-get upgrade


vimを使う

nanoが使いこなせないので /usr/bin/vim.tiny を使う。


(Raspbian)

sudo apt-get install -y vim

sudo update-alternatives --set editor /usr/bin/vim.tiny


ユーザの作成

電気工作で遊ぶだけならpiユーザのままでいいけど、外部公開するサーバの場合は以下のような対応を行うのが良いと思われる。(<youraccount>のところを自分のアカウント名に置き換えて読む)



  • piユーザでpasswdコマンドを実行しpiユーザのパスワードを変更しておく


  • sudo passwdコマンドを実行しrootのパスワードを変更しておく


  • sudo adduser <youraccount>でユーザを追加する


  • sudo visudo<youraccount> ALL=(ALL) NOPASSWD: ALLを最後に追加する


    • Chef Soloを使うため パスワード無しsudoを実行できるようにしておく



#includedir /etc/sudoers.d

pi ALL=(ALL) NOPASSWD: ALL
<youraccount> ALL=(ALL) NOPASSWD: ALL


sshの設定

sshの公開鍵を送りつける。(ssh-copy-idはHomebrewからインストールできる)


Terminal(OSX)

ssh-copy-id 192.168.1.30


追加できたらパスワードなしでssh出来るかチェック。


Terminal(OSX)

ssh 192.168.1.30


ログインできたらsudo vi /etc/ssh/sshd_configで編集してrootのログインとパスワード認証を無効にしておく。外部公開するサーバならポートも変更しておく。


/etc/ssh/sshd_config

#PermitRootLogin yes

PermitRootLogin no
...
#PasswordAuthentication yes
PasswordAuthentication no

一番最後に以下を追加してLAN内からはパスワード認証を許可しておく。


/etc/ssh/sshd_config

Match Address 192.168.*.*

PasswordAuthentication yes

ssh再起動


(Raspbian)

sudo /etc/init.d/ssh restart



Chefでセットアップ

chef-soloでセットアップしたい人向け。

jessieではRaspbian側にruby2.1-devを入れておかないとknife solo prepareでchefがインストールされなかった、以下でruby2.1-devをインストールする。


(Raspbian)

sudo apt-get install ruby2.1-dev


Ruby 2.2.2以上が必要なRack 2.0がインストールされるようになりknife solo prepareでchefがインストールされない場合、自分でchefをインストールする。


(Raspbian)

sudo gem i rack -v 1.6.4 --no-ri --no-rdoc

sudo gem i chef --no-ri --no-rdoc

あとはChefのレシピ書いてMacからknife-soloで頑張る。


Terminal(OSX)

knife solo prepare 192.168.1.30

knife solo cook 192.168.1.30

ChefでPlatformを使って分岐する場合、Raspbianは以下のような値を持つ。

key
value

platform
raspbian

platform_family
debian


その他