Raspberry Piを買ってUbuntuを入れるまで


# Raspberry Piを動かすのに必要なもの

* Raspberry Pi本体
* mini USB 電源ケーブル
  * 本体を買っただけではついてきません
* micro SDカード
  * micro SDにOSを焼いて起動します
* LANケーブル


# micro SDにubuntuのイメージを焼く

ubuntu以外も様々なOSをインストールすることができますが、今回はubuntuをインストールします。今回はMacを使ってこの作業を行いました。
https://wiki.ubuntu.com/ARM/RaspberryPi から 2015-04-06-ubuntu-trusty.zip  をダウンロード、解凍。 `2015-04-06-ubuntu-trusty.img` があることを確認します。

```
$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage                         250.1 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *249.8 GB   disk1
                                 Logical Volume on disk0s2
                                 C2E574EC-F942-4A26-AC52-D391C4309AFF
                                 Unlocked Encrypted
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *32.2 GB    disk2
   1:             Windows_FAT_32 NO NAME                 32.2 GB    disk2s1

# 間違えてMacのイメージを壊さないように
$ sudo dd if=2015-04-06-ubuntu-trusty.img of=/dev/disk2 bs=1m
dd: /dev/disk2: Resource busy

$ ls /Volumes
Macintosh HD@ NO NAME/      Recovery HD/

$ sudo umount /Volumes/NO\ NAME
umount(/Volumes/NO NAME): Resource busy -- try 'diskutil unmount'

$ sudo sudo diskutil umount /Volumes/NO\ NAME
Volume NO NAME on disk2s1 unmounted

$ sudo dd if=2015-04-06-ubuntu-trusty.img of=/dev/disk2 bs=1m
```

# Raspberry Piを起動し、SSH接続できるようにする

ubuntuをインストールしたmicroSDをRaspberry Piに刺した上で、HDMIケーブル、ネットワークケーブルを刺し、「最後に」電源ケーブルを挿して起動します。（電源ケーブルを指すと自動で電源が入ります）最後に電源を入れないと、画面が映らなかったり、ネットワークに接続できなかったりするので、ケーブル類を刺した状態で電源を入れましょう。

初期設定では、

* user: ubuntu
* pass: ubuntu

でログインできます。

最初はいろいろとやることがあります。とりあえずaptの更新をします。

```
$sudo apt-get upgrade
$sudo apt-get update
```

パスワードは一応初期設定から変えておきましょう

```
$ passwd ubuntu
```

aptのupgradeしたら、sshサーバーをインストールできるようになるので、インストールします。パスワードを変更する前にインストールしてしまうと、外からログインできてしまうので、パスワードを変更してからインストールするのが安全です。

```
$ sudo apt-get install openssh-server
```

これでssh接続して操作できるようになるので、ディスプレイは不要になります。 `ifconfig` でアドレスを確認してSSH接続しましょう。


# 言語設定をする

デフォルトではLANGが（多分）設定されておらず、 `language-pack-ja` も入っていないので、いろいろとwarningが出ます。language-packを入れると治ります。これを入れないと、Pythonが日本語のエンコードに失敗したりなど、各所に影響が出るので、入れるようにしましょう。

設定のチェック

```
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=
LANGUAGE=
LC_CTYPE="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_PAPER="ja_JP.UTF-8"
LC_NAME="ja_JP.UTF-8"
LC_ADDRESS="ja_JP.UTF-8"
LC_TELEPHONE="ja_JP.UTF-8"
LC_MEASUREMENT="ja_JP.UTF-8"
LC_IDENTIFICATION="ja_JP.UTF-8"
LC_ALL=
```

まず日本語パッケージを入れます。

```
$ apt-get install language-pack-ja
```

次にLANGを設定します

```
$ sudo update-locale LANG=ja_JP.UTF-8
```

これで問題なく言語がに言語に設定されました。

# タイムゾーンの設定

デフォルトではUTCになっているので直します。

```
$ date
2015年  9月 18日 金曜日 15:42:48 UTC
$ sudo cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ date
2015年  9月 19日 土曜日 08:52:55 JST
```

# ユーザーの作成

いつまでのubuntuユーザーで接続していると脆弱性原因となりますので、新しいユーザーを作って、ubuntuユーザーは削除するなり、sudo権限を剥奪するなりしましょう。

```
$ adduser yoshikyoto
# パスワードとか入力する
# 電話番号とかは空欄でしいです

# sudo権限を与える
$ sudo gpasswd -a yoshikyoto sudo

$ id yoshikyoto
uid=1001(yoshi) gid=1001(yoshi) groups=1001(yoshi),27(sudo)
```

ubuntu ユーザーを削除する場合は（-rは、ユーザーの削除と同時にホームディレクトリも削除するオプション）

```
$ sudo userdel -r ubuntu
```

sudo権限を外す場合は

```
$ sudo gpasswd -d ubuntu sudo
```

# おわり

これでとりあえず一通りの設定が終わった気がします。