microSDのパーティションの拡張
これだけはraspi-configを使用。"Expand Filesystem"を選択して拡張を行ったら、リブートを促されるので一度リブートする。
$ sudo raspi-config
ロケールの設定
文字化けしたら面倒なので触らずに英語のままで行くことにした。サーバー用途なので特に不便はない。もし、設定する場合は以下のコマンドで。
$ sudo dpkg-reconfigure locales
タイムゾーンの設定
$ sudo dpkg-reconfigure tzdata
[Asia]-[Tokyo]と選択する。
キーボードの設定
$ sudo dpkg-reconfigure keyboard-configuration
ところがこれが警告が出て動かない。
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
なので、直接設定ファイルを書き換える。こんな設定にした。
$ sudo nano /etc/default/keyboardXKBMODEL="OADG109A"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
IPアドレスを固定する
サーバー用途として使用するのでIPアドレス(有線)を固定する。いつからなのか今のバージョンは/etc/network/interfacesとは違うらしい。今はこのファイルに設定を書くみたい。このファイルの最後に以下の内容を追記。アドレスは環境に合わせて適宜変更。
$ sudo nano /etc/dhcpcd.confinterface eth0
static ip_address=192.168.0.200/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
RASPBIAN STRETCH LITE(August 2017)の場合
RASPBIAN STRETCH LITEの場合はinterfaceの記述の仕方がeth0から変わっている。ifconfigで調べたインターフェイス名を使用する。
$ ifconfig
enxb827xxxxxxxx: flags=4163 mtu 1500
上のenxb827xxxxxxxxの部分をinterfaceに記載する。
$ sudo nano /etc/dhcpcd.confinterface enxb827xxxxxxxx
static ip_address=192.168.0.200/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
ホスト名を設定する
$ sudo nano /etc/hostnamerpi3
$ sudo nano /etc/hosts127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# 上のhostnameで指定したホスト名と合わせておく
127.0.1.1 rpi3
NTPサーバーを設定する
時刻同期用のサーバーを設定する。デフォルトのserverをコメントにして最後の行を追加する。
$ sudo nano /etc/ntp.conf# pool.ntp.org maps to about 1000 low-stratum NTP servers. Your server will
# pick a different set every time it starts up. Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>
#server 0.debian.pool.ntp.org iburst
#server 1.debian.pool.ntp.org iburst
#server 2.debian.pool.ntp.org iburst
#server 3.debian.pool.ntp.org iburst
pool ntp.nict.jp iburst
RASPBIAN STRETCH LITE(August 2017)の場合
以下のコマンドでNetwork time on: yesになっているか確認する。
$ timedatectl status
Local time: Tue 2017-08-29 21:08:10 JST
Universal time: Tue 2017-08-29 12:08:10 UTC
RTC time: n/a
Time zone: Asia/Tokyo (JST, +0900)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
yesになっていなければ以下のコマンドで有効にする。
$ sudo timedatectl set-ntp true
NTPサーバーを指定する。FallbackNTPには予備のサーバーを指定しておく。
$ sudo nano /etc/systemd/timesyncd.conf[Time]
NTP=ntp.nict.jp
FallbackNTP=time.google.com
アップデートを行う
ここまでの設定内容を反映させるため、ここで一旦リブートする。
$ sudo reboot
リブート後にアップデートをかけて正常にアップデートできるかを確認する。
$ sudo apt-get update
$ sudo apt-get upgrade
microSDカードの延命対策
microSDカードは頻繁に書き込みが起こると極端に寿命が短くなってしまう。気のせいレベルかもしれないけど一応対策しておく。実際、カードが壊れるまで使ったことないので、果たしてどの程度の効果があるのか不明だけど。
SWAP領域を無効にする
$ sudo swapoff --all
$ sudo apt-get remove dphys-swapfile
RAM DISKを設定する
tmpディレクトリをRAM DISKを使用するようにしておく。さらにlogディレクトリもそうした方がいいんだけど、ディレクトリやログファイルが存在しないとエラーになる処理もあるので、そういうのは起動時にRAM DISKに作っておかないと、思わぬところで引っかかったりするので今回はしないことに。RAM DISKのサイズはあまり小さくし過ぎるとWordPressなんかのアップロード時に支障が出るので適宜。とはいえ256mも必要ないかもしれないけど、その辺はトライアルアンドエラーで。
$ sudo nano /etc/fstabtmpfs /tmp tmpfs defaults,size=256m,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,size=128m,noatime,mode=1777 0 0
一度リブートしてみて、こんな感じでSwapが0で/var/tmpと/tmpのファイルシステムがtmpfsになっていればオーケー。
$ free
total used free shared buffers cached
Mem: 947736 78452 869284 6324 6916 39248
-/+ buffers/cache: 32288 915448
Swap: 0 0 0
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 955M 14G 7% /
devtmpfs 459M 0 459M 0% /dev
tmpfs 463M 0 463M 0% /dev/shm
tmpfs 463M 6.2M 457M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 463M 0 463M 0% /sys/fs/cgroup
tmpfs 128M 0 128M 0% /var/tmp
tmpfs 256M 0 256M 0% /tmp
/dev/mmcblk0p1 63M 21M 43M 34% /boot
- この記事で書かれている製品やソフトについて
- Raspberry Pi 3 Model B
- RASPBIAN JESSIE LITE(September 2016)