初心者が試行錯誤しながらチャレンジするRaspberry Pi入門シリーズ。
自分の作業内容の整理がてら、人の役に立ててもらうようにブログに公開しています。
前回の記事で、Raspberry PiにRaspbianをインストールしました。
前回の記事はこちら:Raspberry Pi 2 Model BにRaspbian(Jessie)をインストールする手順(2016年2月版)
とりあえずOSを無事にインストールできたけど、まだまだ快適につかうためにはやっておいたほうが良い設定があります。
この記事ではそれらをまとめたうえで、それぞれの手順を記載します。
Raspberry PiにRaspbianをインストール完了したらまずやるべき初期設定まとめ(2016年2月版)
この記事では、以下について設定手順を説明します。
- タイムゾーンの設定
- パスワードの設定
- ファイルシステムの最適化
- パッケージのアップデート
- ファームウェアのアップデート
- 日本語表示のためのプログラムのインストール
- SSH接続のための設定
インターネット接続が必要な作業もあるので、LANケーブルをRaspberry Piに接続しておきましょう。
インターネット接続はRaspberry PiにLANケーブルを挿すだけで確立します。
はじめに: raspi-config画面にアクセスする
まずはターミナルを開いてみましょう。
ターミナルというのはコマンドを打ち込む例の真っ黒い画面ですね。
上の画像にある黒い画面のアイコンを叩けば開くことができます。
ターミナルを開いたら pi@raspberrypi:~ $ というコマンドプロンプトが来ていて入力待ちとなっているはずです。
そこに以下を打ち込んで、raspi-config画面を立ち上げましょう。
sudo raspi-config
すると前回の記事では設定せずにとばしたraspi-configの画面に移動できます。
本記事での各種設定は、ターミナル上もしくはraspi-config画面上で行います。
その1: タイムゾーンの変更
Raspberry Piの時刻は初期設定ではGMTに設定されているので、この手順で東京のタイムゾーンに設定します。
上の画像はraspi-configの画面です。
タイムゾーンの設定を行うには 5 Internationalisation Options を選択します。
I2 Change Timezoneを選択します。
次の画面でAsiaを選択。
次にアジアの都市がババーッと出てくるので、その中からTokyoを選びましょう。
ターミナル画面で上の画像のように Current default time zone: ‘Asia/Tokyo’ となっていればOKです。
これでRaspberry Piの時刻設定が日本時間になりました。
その2: パスワードの変更
次にパスワードを変更します。
Raspberry Piのユーザ情報はデフォルトだと以下のように設定されています。
User: pi Pass: raspberry
でもこのままだと全世界的にモロバレなのでセキュリティ的には全然よろしくない。
自分だけがわかるようなパスワードにしておいたほうがよさげです。
これを変更するには、raspi-config画面で 2 Change User Password を選択します。
すると、「いまからpiというユーザの新しいパスワードを訊くから入力してね?」という画面が出ます。
心のなかで新しいパスワードを決めたら、OKで進みます。
すると上の画像のように Enter new UNIX password: という状態で入力待ちになるので、新しいパスワードを入力します。
入力しても *** みたいな文字は現れませんが、入力は受け付けられています。
入力し終わったらEnterを押します。
すると確認用でもう一回入力するために再度入力待ちとなるので、同じパスワードを入力します。
2回入力したパスワードが同一であれば上の画面が現れます。
これで新しいパスワードが登録され、古いパスワード(=raspberry)は使えなくなりました。
この手続きによって、Raspberry Piのユーザ情報は以下のように変更された事になります。
変更されたのはパスワードのみで、piというUserはまだ生きています。
User: pi Pass: 新たに設定したパスワード
ここで設定したパスワードは、あとでSSH接続したりVNCでリモートデスクトップ接続する際に訊かれるので忘れないようにしてください。
その3: ファイルシステムの最適化
少し前のRaspbianでは、十分大きな容量を持つSDカードを挿してもデフォルトのままだとRaspberry Piがその容量をきちんと認識してくれませんでした。
そうなるとせっかく容量の大きなSDカードを挿しても無駄ということになります。
(たとえば8GBのSDカードを挿しても3GBしか認識していなかったりした)
なのでその場合は、ファイルシステムの最適化が必要でした。
ぼくは2016年2月にNOOBSを使ってRaspbianをインストールしましたが、自分の環境では既に最適化がされていてこの手順をする必要はないとのことでした。
今後はやる必要がなくなっていく手順なのかもしれませんが、念のため、手順は以下に示します。
まずターミナルで、df -hというコマンドを実行します。
すると以下の様な出力が出てくるはず。
pi@raspberrypi:~ $ df -h Filesystem Size Used Avail Use% Mounted on /dev/root 14G 3.9G 8.9G 30% / devtmpfs 459M 0 459M 0% /dev tmpfs 463M 0 463M 0% /dev/shm tmpfs 463M 6.3M 457M 2% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 463M 0 463M 0% /sys/fs/cgroup /dev/mmcblk0p6 63M 20M 44M 31% /boot tmpfs 93M 4.0K 93M 1% /run/user/1000 /dev/mmcblk0p5 30M 398K 28M 2% /media/pi/SETTINGS
上から3行目の左端に、/dev/rootという文字列があります。
ここの右隣はSizeという欄になっていて、上の出力では14Gとなっています。
これはRaspbianに14GB分の容量が認識されているということです。
ぼくは16GBのmicroSDカードを挿しています。
実効的に使用可能な容量として14GBが認識されているならば問題はなさそうです。
もしdf -hコマンドで確認した結果、あまりに認識されている容量が小さい場合は、ファイルシステムの最適化を行ったほうが良いです。
その場合は、上の画像にあるとおりraspi-config画面に移動して、 1 Expand Filesystem を選択します。
ぼくの環境で次に出てきた画面はこちら。
「パーティションレイアウトをここから変えることはできないよ。でもたぶんあなたはNOOBSを使ってインストールしたよね?だったらどっちにしろすでに最適化はされているのでここで最適化する必要はないよ」というメッセージが出てきました。
de -hコマンドの出力を見ても、ぼくの場合はファイルシステムに問題はなさそうなので、ここはこれでOKということにしました。
その4: パッケージのアップデート
インターネット上のサーバにアクセスして、パッケージを最新のものにアップデートします。
パッケージのアップデートは、ターミナルで以下のふたつのコマンドを実行することで行います。
このふたつはセットで実行するもののようです。
sudo apt-get update
sudo apt-get upgrade
まず、sudo apt-get updateを実行すると下のような実行結果となりました。
pi@raspberrypi:~ $ sudo apt-get update Get:1 http://mirrordirector.raspbian.org jessie InRelease [15.0 kB] Get:2 http://archive.raspberrypi.org jessie InRelease [13.2 kB] Get:3 http://mirrordirector.raspbian.org jessie/main armhf Packages [8,963 kB] Get:4 http://archive.raspberrypi.org jessie/main armhf Packages [139 kB] Hit http://archive.raspberrypi.org jessie/ui armhf Packages Ign http://archive.raspberrypi.org jessie/main Translation-en_GB Ign http://archive.raspberrypi.org jessie/main Translation-en Ign http://archive.raspberrypi.org jessie/ui Translation-en_GB Get:5 http://mirrordirector.raspbian.org jessie/contrib armhf Packages [37.5 kB] Ign http://archive.raspberrypi.org jessie/ui Translation-en Get:6 http://mirrordirector.raspbian.org jessie/non-free armhf Packages [70.3 kB ] Get:7 http://mirrordirector.raspbian.org jessie/rpi armhf Packages [1,356 B] Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en_GB Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en Ign http://mirrordirector.raspbian.org jessie/main Translation-en_GB Ign http://mirrordirector.raspbian.org jessie/main Translation-en Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en_GB Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en_GB Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en Fetched 9,239 kB in 38s (239 kB/s) Reading package lists... Done
次に引き続き、sudo apt-get upgradeを実行した結果が下のもの。
pi@raspberrypi:~ $ sudo apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: libc-bin libc-dev-bin libc6 libc6-dbg libc6-dev libgcrypt20 libgraphite2-3 locales multiarch-support raspi-config 10 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 15.0 MB of archives. After this operation, 420 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.raspberrypi.org/debian/ jessie/main raspi-config all 201602 10 [14.3 kB] Get:2 http://mirrordirector.raspbian.org/raspbian/ jessie/main libc6-dev armhf 2 .19-18+deb8u3 [1,724 kB] Get:3 http://mirrordirector.raspbian.org/raspbian/ jessie/main libc-dev-bin armh f 2.19-18+deb8u3 [231 kB] Get:4 http://mirrordirector.raspbian.org/raspbian/ jessie/main libc6-dbg armhf 2 .19-18+deb8u3 [3,182 kB] Get:5 http://mirrordirector.raspbian.org/raspbian/ jessie/main libc-bin armhf 2. 19-18+deb8u3 [1,208 kB] Get:6 http://mirrordirector.raspbian.org/raspbian/ jessie/main libc6 armhf 2.19- 18+deb8u3 [4,081 kB] Get:7 http://mirrordirector.raspbian.org/raspbian/ jessie/main libgcrypt20 armhf 1.6.3-2+deb8u1 [334 kB] Get:8 http://mirrordirector.raspbian.org/raspbian/ jessie/main libgraphite2-3 ar mhf 1.3.5-1~deb8u1 [62.1 kB] Get:9 http://mirrordirector.raspbian.org/raspbian/ jessie/main multiarch-support armhf 2.19-18+deb8u3 [180 kB] Get:10 http://mirrordirector.raspbian.org/raspbian/ jessie/main locales all 2.19 -18+deb8u3 [3,944 kB] Fetched 15.0 MB in 38s (385 kB/s) Preconfiguring packages ... (Reading database ... 140137 files and directories currently installed.) Preparing to unpack .../libc6-dev_2.19-18+deb8u3_armhf.deb ... Unpacking libc6-dev:armhf (2.19-18+deb8u3) over (2.19-18+deb8u2) ... Preparing to unpack .../libc-dev-bin_2.19-18+deb8u3_armhf.deb ... Unpacking libc-dev-bin (2.19-18+deb8u3) over (2.19-18+deb8u2) ... Preparing to unpack .../libc6-dbg_2.19-18+deb8u3_armhf.deb ... Unpacking libc6-dbg:armhf (2.19-18+deb8u3) over (2.19-18+deb8u2) ... Preparing to unpack .../libc-bin_2.19-18+deb8u3_armhf.deb ... Unpacking libc-bin (2.19-18+deb8u3) over (2.19-18+deb8u2) ... Processing triggers for man-db (2.7.0.2-5) ... Setting up libc-bin (2.19-18+deb8u3) ... (Reading database ... 140137 files and directories currently installed.) Preparing to unpack .../libc6_2.19-18+deb8u3_armhf.deb ... Unpacking libc6:armhf (2.19-18+deb8u3) over (2.19-18+deb8u2) ... Setting up libc6:armhf (2.19-18+deb8u3) ... Processing triggers for libc-bin (2.19-18+deb8u3) ... (Reading database ... 140137 files and directories currently installed.) Preparing to unpack .../libgcrypt20_1.6.3-2+deb8u1_armhf.deb ... Unpacking libgcrypt20:armhf (1.6.3-2+deb8u1) over (1.6.3-2) ... Setting up libgcrypt20:armhf (1.6.3-2+deb8u1) ... Processing triggers for libc-bin (2.19-18+deb8u3) ... (Reading database ... 140137 files and directories currently installed.) Preparing to unpack .../libgraphite2-3_1.3.5-1~deb8u1_armhf.deb ... Unpacking libgraphite2-3:armhf (1.3.5-1~deb8u1) over (1.2.4-3) ... Preparing to unpack .../multiarch-support_2.19-18+deb8u3_armhf.deb ... Unpacking multiarch-support (2.19-18+deb8u3) over (2.19-18+deb8u2) ... Setting up multiarch-support (2.19-18+deb8u3) ... (Reading database ... 140137 files and directories currently installed.) Preparing to unpack .../locales_2.19-18+deb8u3_all.deb ... Unpacking locales (2.19-18+deb8u3) over (2.19-18+deb8u2) ... Preparing to unpack .../raspi-config_20160210_all.deb ... Unpacking raspi-config (20160210) over (20160209) ... Processing triggers for man-db (2.7.0.2-5) ... Processing triggers for systemd (215-17+deb8u3) ... Setting up libc-dev-bin (2.19-18+deb8u3) ... Setting up libc6-dev:armhf (2.19-18+deb8u3) ... Setting up libc6-dbg:armhf (2.19-18+deb8u3) ... Setting up libgraphite2-3:armhf (1.3.5-1~deb8u1) ... Setting up locales (2.19-18+deb8u3) ... Generating locales (this might take a while)... en_GB.UTF-8... done Generation complete. Setting up raspi-config (20160210) ... Processing triggers for libc-bin (2.19-18+deb8u3) ...
注意点ですが、sudo apt-get upgradeは結構時間がかかります。
「固まったかも?」と不安になりますが、じっくり待ってください。
ご飯食べてお風呂に入って戻ってきたくらいには終わっているはずです。
念のため、もう一回ずつsudo apt-get updateとsudo apt-get upgradeを行った結果は下のとおり。
pi@raspberrypi:~ $ sudo apt-get update Hit http://mirrordirector.raspbian.org jessie InRelease Hit http://archive.raspberrypi.org jessie InRelease Hit http://mirrordirector.raspbian.org jessie/main armhf Packages Hit http://mirrordirector.raspbian.org jessie/contrib armhf Packages Hit http://archive.raspberrypi.org jessie/main armhf Packages Hit http://mirrordirector.raspbian.org jessie/non-free armhf Packages Hit http://mirrordirector.raspbian.org jessie/rpi armhf Packages Hit http://archive.raspberrypi.org jessie/ui armhf Packages Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en_GB Ign http://mirrordirector.raspbian.org jessie/contrib Translation-en Ign http://mirrordirector.raspbian.org jessie/main Translation-en_GB Ign http://archive.raspberrypi.org jessie/main Translation-en_GB Ign http://mirrordirector.raspbian.org jessie/main Translation-en Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en_GB Ign http://archive.raspberrypi.org jessie/main Translation-en Ign http://mirrordirector.raspbian.org jessie/non-free Translation-en Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en_GB Ign http://archive.raspberrypi.org jessie/ui Translation-en_GB Ign http://mirrordirector.raspbian.org jessie/rpi Translation-en Ign http://archive.raspberrypi.org jessie/ui Translation-en Reading package lists... Done
pi@raspberrypi:~ $ sudo apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1回目にsudo apt-get upgradeを実行した時は大量のログが出ましたが、2回目に実行した時のログは短くなっており、最終行にも0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.と出力されていることがわかります。
これでパッケージのアップデートは無事にできたようです。
その5: ファームウェアのアップデート
ファームウェアの更新コマンドは、sudo rpi-updateです。
さっそく実行してみたところ、以下の様な出力が得られました。
pi@raspberrypi:~ $ sudo rpi-update *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** Performing self-update % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 10666 100 10666 0 0 4843 0 0:00:02 0:00:02 --:--:-- 4845 *** Relaunching after update *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** We're running for the first time *** Backing up files (this will take a few minutes) *** Backing up firmware *** Backing up modules 4.1.17-v7+ ############################################################# This update bumps to rpi-4.1.y linux tree Be aware there could be compatibility issues with some drivers Discussion here:############################################################## *** Downloading specific firmware revision (this will take a few minutes) % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 168 0 168 0 0 19 0 --:--:-- 0:00:08 --:--:-- 36 100 49.2M 100 49.2M 0 0 384k 0 0:02:11 0:02:11 --:--:-- 437k *** Updating firmware *** Updating kernel modules *** depmod 4.1.17-v7+ *** depmod 4.1.17+ *** Updating VideoCore libraries *** Using HardFP libraries *** Updating SDK *** Running ldconfig *** Storing current firmware revision *** Deleting downloaded files *** Syncing changes to disk *** If no errors appeared, your firmware was successfully updated to 2ea8550c0fc6f4b916b3698fad857138d8a2da64 *** A reboot is needed to activate the new firmware302 Found
ファームウェアのバージョン確認のコマンドは、umane -aです。
差分をみたかったので、ファームウェアの更新コマンドを打つ前後にそれぞれ”uname -a”コマンドを実行しました。
ファームウェア更新コマンドを実行する前に”uname -a”コマンドを実行すると;
Linux raspberrypi 4.1.17-v7+ #838 SMP Tue Feb 9 13:15:09 GMT 2016 armv7l GNU/Linux
そのあとファームウェア更新コマンドを実行し、バージョンアップを反映するため以下のコマンドで一回リブートしました。
sudo reboot
そのあと、もう一度”uname -a”コマンドを実行すると;
Linux raspberrypi 4.1.17-v7+ #843 SMP Mon Feb 15 23:35:33 GMT 2016 armv7l GNU/Linux
ファームウェア実行コマンドの前後で特に大きな変化はありませんでした。
まぁこれはこれで良かったということでOKかな。
その6: 日本語表示のためのプログラムをインストール
ぼくは「むりやり日本語化すると逆にどういう意味だったのかわからなくなるタイプ」なので英語のまま使っていますが、Raspberry Piを日本語表示で使いたい方はJFBTERMをインストールする必要があります。
コマンドとしては以下のものを打つようです。
sudo aptitude -y install jfbterm
詳しい方法は以下のリンクをみてみてください。
DEVICE PLUSさんの記事はとても良くまとまっていて、ぼくもたくさん参照しました。
Raspberry Pi遊び初め! | Device Plus – デバプラ
その7: SSH接続の設定
Raspberry Pi側ではデフォルトでSSH接続が有効になっています。
ほかのパソコンからRaspberry PiへSSHで接続できると、Raspberry Piのターミナルをほかのパソコン上から操作できるようになります。
これにより、Raspberry PiからキーボードとマウスとHDMIケーブルを取り外すことができます。
ケーブルが減るのは嬉しいです。
Raspberry Pi側のSSH設定が有効になっているかを確認するには、raspi-config画面から 9 Advanced Optionsにすすみます。
次に現れる画面で A4 SSH を選択。
すると、Would you like the SSH server enabled or disabled? という選択肢が出てきます。
デフォルトではSSHは有効なのでEnableが赤色で選択されていると思います。
引き続きSSH接続を有効にしておきたい場合はEnableを選択したままでEnter。
すると、 SSH server enabled というコメントがでて、SSHが有効であることがわかります。
ここでOKを押して抜ければ、SSHが有効かどうかの確認は完了です。
まとめ
初期設定を済ませたRaspberry Piをどのようなスタイルでいじくっていくかは、人それぞれだと思います。
たとえば、キーボードとマウスとディスプレイをつないだまま使い続ける人もいれば、SSH接続を使う人、VNCでリモートアクセスしながら使う人もいることでしょう。
しかしいずれの場合でも、この記事で紹介した各設定はひととおり触れる部分だと思います。
ここに書いた内容は、2016年2月現在でぼくが実際に作業しながら設定したものです。
時間の経過とともに次第に古くなるかもしれませんが、役立てる部分はぜひ活用していただけると幸いです。
それではよいRaspberry Piライフを!
次の記事はこちら:WindowsからPuTTYでRaspberry PiにSSH接続する手順