RaspberryPi3のセットアップ続き〜VimやNFS設定

## 前回までのあらすじ

1. [RaspberryPi3を買ってSSHして電源を切るまで](http://qiita.com/B73W56H84/items/f84763e9e5f9d3b21f7d)
2. [RaspberryPi3のセットアップ続き〜VNCやWi-fi設定](http://qiita.com/B73W56H84/items/bbf04ae2374687a9f1c0)

## <i class="fa fa-pencil-square-o" aria-hidden="true"></i> vim の再インストール

デフォルトでインストールされている `vim-tiny` は色々物足りないので `vim` にインストールし直します。

```bash:インストールされているviの確認
$ dpkg -l | grep vi
```

```bash:さよならvim-tiny
$ sudo apt-get --purge remove vim-common vim-tiny
```

```bash:あらためてvimインストール
$ sudo apt-get install vim
```

```bash:.vimrcファイル編集
$ vi ~/.vimrc
```

```vim
" お好みの設定に。
syntax on
set autoindent
set expandtab
" ……
" …
```

## <i class="fa fa-server" aria-hidden="true"></i> NFSサーバー(Raspberry Pi3での設定)

Mac で `/Users/kujira/workspace/raspberrypi/hoge.py` を作成したら、
Raspberry Pi3 の `/home/kujira/src/hoge.py` として参照できるようにする。

開発期間中のみの設定で、Mac と Raspberry Pi3 で同じ UID のユーザを用いる。

#### Wi-fi のIPアドレス固定

```bash
$ sudo vi /etc/dhcpcd.conf
```

```bash
# 以下を追記
interface wlan0
static ip_address=192.168.11.12/24
static routers=192.168.11.1
static domain_name_servers=192.168.11.1
```

```bash
# 再起動
$ sudo reboot
```

#### nfs-kernel-server インストール

```bash:インストール
$ sudo apt-get purge rpcbind
$ sudo apt-get install nfs-kernel-server
```

#### nfs server 設定

```bash:export用ディレクトリ作成
$ sudo mkdir -p /export/src

$ mkdir /home/kujira/src

$ sudo mount --bind /home/kujira/src /export/src

$ sudo chown -R kujira:pi /export/src
```

```bash:/etc/exportsに追記
$ sudo vi /etc/exports
```

```text
/home/pi/exports 192.168.11.0/24(rw,sync,no_subtree_check,no_root_squash)
```

```bash:nfs-kernel-server(再)起動
$ sudo /etc/init.d/nfs-kernel-server restart
[ ok ] Restarting nfs-kernel-server (via systemctl): nfs-kernel-server.service.
```

```bash:status確認
$ sudo /etc/init.d/nfs-kernel-server status
● nfs-kernel-server.service - LSB: Kernel NFS server support
   Loaded: loaded (/etc/init.d/nfs-kernel-server)
   Active: active (running) since 月 2017-05-01 23:22:49 JST; 4s ago
  Process: 20820 ExecStop=/etc/init.d/nfs-kernel-server stop (code=exited, status=0/SUCCESS)
  Process: 20831 ExecStart=/etc/init.d/nfs-kernel-server start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nfs-kernel-server.service
           └─20856 /usr/sbin/rpc.mountd --manage-gids

 5月 01 23:22:49 raspberrypi systemd[1]: Starting LSB: Kernel NFS server support...
 5月 01 23:22:49 raspberrypi nfs-kernel-server[20831]: Exporting directories for NFS kernel daemon....
 5月 01 23:22:49 raspberrypi rpc.mountd[20856]: Version 1.2.8 starting
 5月 01 23:22:49 raspberrypi systemd[1]: Started LSB: Kernel NFS server support.
 5月 01 23:22:49 raspberrypi nfs-kernel-server[20831]: Starting NFS kernel daemon: nfsd mountd.
```

## <i class="fa fa-laptop" aria-hidden="true"></i> NFSクライアント(Mac)での設定

#### /etc/hosts の追記

```bash
$ sudo vi /etc/hosts
```
```bash:以下を追記
192.168.11.12 raspberrypi
```

#### nfs client 設定

```bash:NFSサーバ確認
$ showmount -e raspberrypi
Exports list on raspberrypi:
/home/pi/exports                    192.168.11.0/24
```

```bash:マウント先ディレクトリ作成
$ mkdir -p workspace/raspberrypi
```

```bash:マウント
$ sudo mount -t nfs -o sec=sys -o vers=4 -o tcp -o rw,resvport raspberrypi:/src /Users/kujira/workspace/raspberrypi

$ df | tail -1
raspberrypi:/src   27Gi  5.0Gi   21Gi    20%  141795    1685021    8%   /Users/kujira/workspace/raspberrypi
```

## 参考と注釈

* [Raspberry Pi Vimで方向キーを押すとABCDが出る問題を直す](http://marupeke296.com/IKDADV_PI_ABCDProb.html)
* [[Ubuntu]Ubuntu 10.04LTS Serverに最初から入っているvimで、.vimrcのコマンドがエラーする](http://d.hatena.ne.jp/PRiMENON/20110213/1297600770)
* [Fix rpcbind not enabled at startup with Raspbian Jessie Lite](https://github.com/geerlingguy/raspberry-pi-dramble/issues/65)
* [Raspberry Pi 3 (Raspbian Jessie)の無線LANに固定IPアドレスを設定する](http://qiita.com/momotaro98/items/fa94c0ed6e9e727fe15e)