Githubでdotfilesを管理して、環境構築を一瞬で終わらせる
- dotfilesとは
- dotfilesリポジトリの作成
- 管理するファイルをdotfilesへ移動
- シンボリックリンクを貼る(link.sh)
- 必要なソフトをインストールする(install.sh)
- リポジトリ毎にユーザ名とメールアドレスを設定
「プログラミングは環境構築が9割だ」
とプログラマーの方が言ってました。私は卒業研究中に操作ミスでPCのHDを吹き飛ばし、環境構築をはじめからやり直すことになったことがあります。dotfilesはPCが吹き飛ぶ恐怖と戦うための精神安定剤になること間違えなしです!これでムカついた友人があなたのPCを叩き割ってもあっという間に別のPCで環境構築できます。さあ、覚悟を決めてdotfilesを作りましょう!
dotfilesとは
dotfilesとは.vimrcや.profileといった'.'で始まる設定ファイルのことです。
dotfilesリポジトリにてこうしたdotfileを管理することで、現状の環境をすぐにマシンにコピーできるので、いつPCが飛んでも大丈夫だという圧倒的安心感が得られます。さらにdotfilesリポジトリによく使うソフトなどをまとめてインストールするシェルスクリプトなどをまとめて管理して、このリポジトリ1つですべての環境構築ができるようになります。
参考までに私のdotfilesです。
github.com
さらにもっともっと参考になる諸先輩方のdotfilesです。私にはまだ理解が及びません...。
github.com
github.com
dotfilesリポジトリの作成
Githubにdotfilesリポジトリを作成します。作り方は下記記事を参考にしてください。
www.g104robo.com
他人の目に触れるのはちょっとという方は非公開リポジトリも作成できます(下記参照)
Gitのための非公開リポジトリを作成する(Googleドライブ編) - 極楽とんぼのロボット製作記
Gitのための非公開リポジトリを作成する(Bitbucket編) - 極楽とんぼのロボット製作記
homeにdotfilesリポジトリをcloneしておきます。
ex)
$ git clone git@github.com:username/dotfiles.git
管理するファイルをdotfilesへ移動
管理したい設定ファイルをdotfilesに移動します。
$ mv ~/.vimrc ~/dotfiles/
$ mv ~/.vim/ ~/dotfiles/
# .config以下のdotfileを管理する場合はディレクトリを作成します
$ mkdir ~/dotfiles/.config/terminator/
$ mv ~/.config/terminator/config ~/dotfiles/.config/terminator/
シンボリックリンクを貼る(link.sh)
アプリケーションごとに設定ファイルの読み込み先を変更するのは大変なので、シンボリックリンク(ショートカットのようなもの)を貼ってあたかもこれまで通りのディレクトリにあるかのようにします。
1つ1つコマンドで
$ ln -snfv ~/dotfiles/.vimrc ~/.vimrc
のように設定しても良いのですが、今後管理したいファイルが増えてきた時に同じ作業をしなければならず、"dotfilesの環境構築"なる作業ができてしまうので、シェルスクリプトを作成します。
link.sh
8〜15行目で.configを除いた設定ファイルのリンクを生成しています。
dotfiles内に入っていながら設定ファイルから除きたいファイルは
[ "$f" = ".git" ] && continue
のようにして除外します。
18〜22行目で.config内の設定ファイルのリンクを生成します。
当初は.configディレクトリもまとめて管理していたのですが、.configにリンクを貼ってしまうと管理したくもない他のアプリケーションの設定ファイルが~/dotfiles/.config/に混入してしまいます。それらのファイルを1つ1つ.gitignoreに追加していくのも面倒に感じたので、.configに関してはディレクトリ内のファイルにリンクを貼ることにしました。
findコマンドを使用してしまうと、どうしても出力結果に./が含まれてしまい、これに対処するのに時間がかかりました。結果的に21行目のようにfile:2とすることで最初の2文字を飛ばして出力することができるとわかり、この方法で実装しています。もっとスマートな方法がありましたらご教授願います。
- maxdepth 8 はfindコマンドが探索するディレクトリ階層の深さです。流石に設定ファイルで8階層を超えることはないと考え、この値にしました。
- type f は探索する種類をファイルに限定するオプションです。-type dでディレクトリを探索します。詳しくは $ man findしてください。
シェルスクリプトを作成したら
$ chmod 755 link.sh
として権限を変更しましょう。その後、
$ ./link.sh
してリンクが正常に貼れたか確認しましょう。うまく実行できていれば
link home directory dotfiles '/home/username/.vim' -> '/home/username/dotfiles/.vim' '/home/username/.vimrc' -> '/home/username/dotfiles/.vimrc' link .config directory dotfiles '/home/username/.config/redshift.conf' -> '/home/username/dotfiles/.config/redshift.conf' '/home/username/.config/terminator/config' -> '/home/username/dotfiles/.config/terminator/config' '/home/username/.config/fcitx/config' -> '/home/username/dotfiles/.config/fcitx/config' linked dotfiles complete!
のように表示されます。
必要なソフトをインストールする(install.sh)
よく使うソフトをインストールするためのスクリプトを作成します。
install.sh
インストールしたいパッケージをpackagelistに""で囲って入れておきます。
あとはapt-get installするだけです。
リポジトリ毎にユーザ名とメールアドレスを設定
dotfilesは様々なPCを行き来することが予想されるので、リポジトリにGitのユーザ名とメールアドレスを設定しておけば、うっかりいつもと違う名前でcommitしてしまうなんてことがなくなるので便利です。実はいつもの設定から--globalを除くだけです。--globalのほうが先に入ってきてしまうので私も調べるまで知りませんでした。
$ git config user.name username $ git config user.email useremail@example.com
参考:特定のGitリポジトリだけAuthorを変更する - Qiita
さて、これで晴れてPC環境が吹き飛ぶ恐怖からお別れですね。これからは安心して環境を壊せます!
参考サイト
ナウなヤングのためのgithub入門講座 -基本機能からdotfiles管理まで- - tumblr
『GitHub+dotfiles』は環境構築を一瞬で終わらせるすごいやつ | vdeep
qiita.com
qiita.com
qiita.com
参考dotfiles
github.com
github.com
GithubにSSHで接続し、リポジトリを作成する
今回はSSHを利用してGithubに接続し、リポジトリを作成します。SSH鍵の作成、Githubへの公開鍵の登録、SSHを利用してGithubへpushを行います。SSHの利点としては、httpsのようにいちいちパスワードを入力する必要が無い点ですね。
githubのアカウントは作成されている前提です。作成方法がわからない方はこちらへ
Githubのアカウント作成方法 - Qiita
鍵の作成
まずはsshの公開鍵と秘密鍵を作成します。
$ cd ~/.ssh $ ssh-keygen -t rsa -C your.email@sample.com Generating public/private rsa key pair. #ssh鍵を保存するディレクトリを設定する。何も入力しなければ ~/.sshに作成される Enter file in which to save the key (/home/tombo/.ssh/id_rsa): Enter passphrase (empty for no passphrase): #パスフレーズの入力 Enter same passphrase again: #パスフレーズの再入力 Your identification has been saved in /home/username/.ssh/id_rsa. Your public key has been saved in /home/username/.ssh/id_rsa.pub. The key fingerprint is: SHA256:.... your.email@gmail.com The key's randomart image is: +---[RSA 2048]----+ | ....| +----[SHA256]-----+
id_rsaが秘密鍵、id_rsa.pubが公開鍵です。
公開鍵暗号については下記が参考になります。
公開鍵暗号方式
秘密鍵のパーミッションをユーザのみが読み書きできるように変更しましょう。
$ chmod 600 id_rsa
さらに~/.ssh/configにgithubに接続する際の設定を登録しておきましょう。こうすることで、接続する際の設定をまとめて行うことができます。
ssh configに関しては下記記事が参考になります。
~/.ssh/configについて - Qiita
$ vim ~/.ssh/config Host github.com Hostname github.com Identityfile ~/.ssh/id_rsa User git
githubに公開鍵を登録
githubに公開鍵を設定します。
$ cat ~/.ssh/id_rsa.pub
と入力し、出力内容をコピーしておきます。
下記にアクセスして公開鍵の登録をします。
Sign in to GitHub · GitHub
またはアイコンをクリックして、Settingsを選択し、SSH and GPG keysを選択してください。
New SSH keyをクリックして、TitleとKeyを入力します。
Title: id_rsa.github.com.pub
Key: 先ほどcatしたもの
入力後、Add SSH keyをクリックして公開鍵を登録します。
試しにgithubにsshしてみましょう。
$ ssh -T git@github.com
ここで
The authenticity of host 'github.com (192.30.255.113)' can't be established. RSA key fingerprint is <フィンガープリント>.
とでる場合、下記記事が参考になります。
GitHubに入門(その1) - Qiita
対応策としては
$ eval `ssh-agent` Agent pid 22222 $ ssh-add ~/.ssh/id_rsa Enter passphrase for /home/username/.ssh/id_rsa: Identity added: /home/username/.ssh/id_rsa (/home/username/.ssh/id_rsa) $ ssh -T git@github.com Hi username! You've successfully authenticated, but GitHub does not provide shell access.
を実行します。
さらに、
Warning: Permanently added the RSA host key for IP address '192.30.255.112' to the list of known hosts.
が出る場合は下記記事が参考になります。
SSH接続でgit pushしたときに警告が出るやつへの対処法 - Qiita
この場合は
$ ssh-keygen -R 192.30.255.112
を実行します。
githubにリポジトリを作成する
githubにアクセスし、ユーザーアイコンの隣の+▼をクリックし、New repositoryを選択します。
リポジトリ名を入力してCreate repositoryをクリックします。
Repository name: testrepos
Description: test repository
次に表示される画面でgithubから新しいリポジトリの作成方法が案内されます。至れり尽くせりですね。
今回はSSHで接続するのでSSHをクリックします。基本的には案内通りでできますが、ここまでの流れで、まだディレクトリやファイルを作成していないので、作成します。
$ mkdir ~/testrepos
$ cd ~/testrepos
$ touch README.md
ここからはgithubの案内と同様です。
$ git init $ git add . #README.mdでも可 $ git commit -m "first commit" $ git remote add origin git@github.com:username/testrepos.git $ git push origin master
これで晴れてsshからgithubへpushすることができました。
参考サイト
qiita.com
Githubのアカウント作成方法 - Qiita
公開鍵暗号方式
~/.ssh/configについて - Qiita
GitHubに入門(その1) - Qiita
SSH接続でgit pushしたときに警告が出るやつへの対処法 - Qiita
Raspberry Piバージョン確認方法まとめ
ふとRaspberry Piのバージョンが確認したくなった時のメモです。
uname -a Linux TomboroboRasPiZ 4.9.35+ #1014 Fri Jun 30 14:34:49 BST 2017 armv6l GNU/Linux
"4.9.35"がカーネルのリリース番号、"#1014 Fri Jun 30 14:34:49 BST 2017"がカーネルバージョン、"armv6l"がマシンのハードウェア名です。
lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 8.0 (jessie) Release: 8.0 Codename: jessie
参考サイト
raspbianのバージョン確認方法 | Raspberry Pi | マイノリティでいこう
Raspberry Pi – OSのバージョン確認方法 – Logicky BLOG
raspbian(Raspberry Pi)のバージョン確認方法 | Check!Site
Raspberry Pi 初期設定
Raspberry PiにRaspbianをインストールしたらまずやっておくべき設定をまとめました。raspi-config,SSH,日本語化に関する設定を解説しています。
使用環境
Raspberry Pi Zero
Raspbian 8.0 (Jessie)
NOOBSを使用してインストール
パッケージのアップデート
$ sudo apt-get update $ sudo apt-get upgrade
raspi-configからの設定
terminalを起動して
$ sudo raspi-config
と打ちます。
下のような画面が表示されるので、カーソルキーを使って移動しながら、設定します。
1.パスワードの設定
デフォルトではraspberryのままなので、パスワードを変更しましょう。
Change User Passwordを選択してEnterします。
"You will now be asked to enter a new password the pi user"と表示されるのでOKします。
ターミナルの画面に戻るので、新しいパスワードを設定します。
設定後、"Password changed successfully"と表示されれば完了です。
2.ホスト名の変更
ホスト名を変更します。
Hostnameを選択してEnterします。
Hostnameは大文字小文字は区別されません。
3.Bootオプション
Raspberry Piを起動したときに、コマンドライン、デスクトップ、スクラッチのどれを起動するか選択することができます。
4.言語とロケーションの設定
言語とロケーションの設定をします。
Localisation Optionsを選択してEnterします。
4.1言語の設定
Change Localeを選択してEnterします。
下のような画面が表示されるので、ja-_JP.UTF-8 UTF-8を選択します。
その後、システムのデフォルトLocaleを設定するかどうか聞かれます。
ここでもja_JP.UTF-8を選択します。
4.2ロケーション(Time Zone)の設定
Change Time を選択してEnterします。
Asia→Tokyoと選択します。これで時刻が自動的にTokyoの時刻に設定されます。
5.インターフェースオプション
Camera,SSH,I2Cの有効・無効の設定をします。
Interfacing Optionsを選択してEnterします。
切り替えられるオプションはCamera,SSH,VNC,SPI,I2C,Serial,1-Ware,Remote GPIOです。
SSHを有効にすることで、PC上からRaspberry Piにコマンドを送って実行させることが可能になります。わざわざRaspberry Piにキーボードやらマウスやらを接続する必要がなくなるため、設定しておくことをおすすめします。
カメラを使う予定があったり、I2Cでセンサ情報を受け取る場合はそれぞれ有効にしておく必要があります。
IPの固定
SSHするたびにいちいちRaspberry Pi上でifconfigしたり、PC上でarp -aするのは面倒なので、IPアドレスを固定します。
まずは自分のIPアドレスをifconfigで確認します。
$ ifconfig wlan0 Link encap:イーサネット inetアドレス:192.168.xx.yy
有線の場合はeth0、無線の場合はwlan0を確認します。このinetアドレスがこのRaspberry PiのIPアドレスです。
$ sudo vim /etc/dhcpcd.conf
として、
interface eth0 static ip_address=192.168.xx.yy static routers=192.168.zz.aa static domain_name_servers=192.168.zz.aa
を加えます。無線LANの場合はeth0のところをwlan0に変えます。
TeraTerm等で実際にSSHできるか確認しましょう。
TeraTermのインストールはこちら
Tera Termのインストール - Tera Termの使い方 - Linux入門 - Webkaru
TeraTermを使ったRaspberry PiのSSHはこちら
Raspberry PiをWindowsで操作する(SSH) | S2
下のようにIPアドレスを指定します。
さらに、ユーザ名piでログインします。
下のような画面が表示されたら成功です。試しにコマンドを実行してみましょう。
Linuxの場合は
$ ssh -l pi 192.168.xx.yy または $ ssh pi@192.168.xx.yy
として接続できます。
日本語の設定
日本語フォント,日本語入力メソッド,日本語マニュアルのインストール
ターミナルから日本語フォント、日本語入力メソッド、日本語マニュアルをインストールします。
日本語フォントのインストール
$ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname
日本語入力メソッドのインストール
$ sudo apt-get install fcitx-mozc
日本語マニュアルのインストール
$ sudo apt-get install manpages-ja manpages-ja-dev
インストールが終了したら、一度Raspberry Piを再起動します。
$ reboot
fcitx-mozcの設定
ターミナルから下記コマンドを実行して、fcitx-mozcの設定を行います。
$ fcitx-configtool
入力メソッドが
キーボード-日本語
Mozc
に設定してあることを確認します。
全体の設定からHotkeyにて
入力メソッドのオンオフをZenkakuhankaku
拡張オプションをクリックして
入力メソッドをオンにHenkanmode
入力メソッドをオフにMuhenkan
に設定すると使いやすくなります。
パス無しsudoの禁止
現状ではsudo raspi-configをパスワード無しに実行できてしまい、Raspberry Piが起動していればパスワードが分からなくてもパスワードを変更できてしまいます。そこでsudoを実行するためにパスワード入力が必要な設定に変更します。
/etc/sudoers.d/010_pi-nopasswdを開いて "pi ALL=(ALL) NOPASSWD: ALL" をコメントアウトします。
$ sudo su - # vim /etc/sudoers.d/010_pi-nopasswd
下のように行頭に#を加えてください
#pi ALL=(ALL) NOPASSWD: ALL
保存の際には
:w !sudo tee % > /dev/null
とすると保存できます。
あるいは010_pi-nopasswdの権限を下のように変更してから編集します。
# chmod 640 /etc/sudoers.d/010_pi-nopasswd
念のため、編集後はもとに戻しておくことをおすすめします。
元に戻す際は
# chmod 440 /etc/sudoers.d/010_pi-nopasswd
とします。
参考サイト
Raspberry Pi のアップデート – Output48
Raspberry Piの初期設定まとめ – Output48
Raspberry Piの初期設定まとめ(オプション設定編) – Output48
Raspbianのインストールと初期設定 | 純規の暇人趣味ブログ
Raspberry Pi 初期設定(Raspbian Jessie) - Qiita
[メモ] Raspberry Pi: 初期設定 - Qiita
「画面のオーバーレイを検出」AndroidをMarshmallow(6.0)にしたらひどい目にあった件
- 方法1:画面オーバーレイしているアプリを1つずつ終了させる
- 方法2:設定の許可から直接権限を変更する
- ユーザが求めているのはオーバーレイしているアプリの設定を変更することじゃない、使いたいアプリの設定を変更することなんだ!
- Marshmallowとの別れ
- 方法3:Nougat(7.0)にする
とある休日にスマホをいじっていると、"ソフトウェアアップデート"の通知が来た。特にやることも無く暇な日であったし、新機能も気になったのでAndroid Lollipop(5.0)からAndroid Marshmallow(6.0)にしてみることにした。やることはアップデートボタンを押すだけだと、この時まで本当に信じ込んでいた。このワンタップが私のスマホ環境を徹底的に不便にすることなど、この時の私には想像もつかなかった。
アップデートが終了し、Twitterに飯テロ画像でもアップしようと思ったその矢先、それは起こった。
なんだ、いつものアクセス権限の認証かと思って「許可」を押すと、
画面オーバーレイの検出!?何のことだ?
ググると以下のサイトで解説されている。ブルーライトカットを行うアプリやリンクをタップすると自動でブラウザが起動するようなアプリはこの画面オーバーレイに相当する。要するに他のアプリの上に表示できるようなアプリということだ。
Androidの「画面オーバーレイを検出」の表示オフにする方法!
画面オーバーレを検出が消えないのを消す方法 | スターミント
「画面オーバーレイを検出」エラーが表示されるときに確認すべきこと | TeraDas-テラダス
こうしたアプリはその性質上、ユーザに上書きされた画面を見せながら意図したものとは別の操作を行えてしまうとして、権限の変更時にはこれらのアプリが使用できないようになっている(なら権限設定変更時のみ自動的に画面オーバーレイを行っているアプリを強制終了してくれればよいのだが...)。したがって、設定変更する際には手動で画面オーバーレイをしているアプリを終了する必要がある。
方法1:画面オーバーレイしているアプリを1つずつ終了させる
先程の画面オーバーレイを検出のダイアログで「設定を開く」をタップすると
ここで他のアプリの上に表示が許可されているアプリをユーザが1つ1つ丁寧に確認して他のアプリの上に表示を"不可"にする。現在起動中の画面オーバーレイアプリ全てを終了させることができればユーザの勝利だ。私はスマホに入っている150近いアプリを1つ1つ確認することにした。何せ暇だった。ところが程なくして壁に突き当たる。画面オーバーレイを不可にできないアプリが存在するのだ。これを見てほしい。
ドコモデータコピー、おそらくスマホの引っ越しをする際にドコモが使用を推奨しているアプリなのだろう。こういった購入時にデフォルトで入っているアプリは設定がほとんど変更できない。私のスマホにはこうしたアプリが20以上は確認できた。こうしたアプリが現在起動中なのかどうか、それらを1つ1つ調べる気には到底なれず、別の方法を調べることにした。
方法2:設定の許可から直接権限を変更する
設定→アプリから権限を変更したいアプリ(今回はTwitter)を選択する。
ここから「許可」を選択する
ストレージが不可になっているため、許可する。多くの解説サイトはここですんなりと権限を許可することができている。だが、私のスマホでは再び画面オーバーレイが検出され、私は振り出しに戻された。
ユーザが求めているのはオーバーレイしているアプリの設定を変更することじゃない、使いたいアプリの設定を変更することなんだ!
誰が好き好んで設定変更のための設定変更をするんだ。俺はTwitterで飯テロ画像を上げたいだけなんだ。それともこれは飯テロを阻止するための何者かの謀略なのか!
Marshmallowとの別れ
私は彼と過ごした3時間を忘れない。私の貴重な休日をいとも簡単に奪い去った彼を一生忘れない。どうしてこんな致命的な欠陥を抱えたままリリースしてしまったのか理解できない。私は彼に別れを告げ、新天地を目指すことにした。
方法3:Nougat(7.0)にする
このオーバーレイ検出の問題はMarshmallowのみで確認されている。私はMarshmallowよりまだ見ぬNougatの方が使いやすくなっていることを信じて、アップデートボタンをタップした。
アップデート終了後、無事アプリの権限が変更できるようになっていることを確認した。これでようやくTwitterに画像をアップできる。
Raspberry Pi ZeroにRaspbianをインストールする
Raspberry Pi ZeroにRaspbianをインストールする手順を説明します。
- NOOBSのダウンロード(時間の目安:30分)
- SDカードフォーマッター(時間の目安: 5分)
- NOOBSをSDカードにコピー(時間の目安: 3分)
- Raspberry Pi Zeroの起動準備(時間の目安:10分)
- NOOBSを使ってRaspbianのインストール(時間の目安: 40分)
NOOBSのダウンロード(時間の目安:30分)
まずはRaspberry Piの公式ページからNOOBSをダウンロードします。NOOBSはRaspbianのインストールをより手軽に行うためのOSインストーラーです。NOOBSの"Download ZIP"をクリックしてダウンロード開始です。イメージは1.4GB(version 2.4.2)程度あるのでダウンロードに時間がかかると思われます(ネット環境にも依りますが私は30分程度かかりました。)。ダウンロードしながら、他の作業をすることをおすすめします。
Raspberry Pi Downloads - Software for the Raspberry Pi
ちなみに、NOOBSはOSイメージが既に入っているタイプで、NOOBS Liteはインストール時にOSイメージをダウロードするタイプです。したがってインストール時にネットワークに接続されている必要があります。
SDカードフォーマッター(時間の目安: 5分)
NOOBSのダウンロードをしている間にSDカードのフォーマットをします。
SDメモリカードフォーマッター - SD Association
Windows用、Mac用ともに用意されています。
SDカードフォーマッターを起動すると以下のような画面が出ます。
カードの選択にてフォーマットするSDカードを選択し、フォーマットオプションでクイックフォーマットを選択し、フォーマットを行います。
NOOBSをSDカードにコピー(時間の目安: 3分)
NOOBSのダウンロードが終了したら、Zipファイルを解凍し、解凍したNOOBSのファイルをSDカードにコピーします。
Raspberry Pi Zeroの起動準備(時間の目安:10分)
上の写真のようにRaspberry Pi ZeroにMicroSD,HDMI,USBハブ,電源用USBを接続します。電源が供給されると自動的にRaspberry Pi Zeroが起動します。
NOOBSを使ってRaspbianのインストール(時間の目安: 40分)
起動すると下のような画面が表示されます。
画面下の言語設定にて日本語に設定できます。
インストールを押してインストールを開始します。
「SDカードの既存データが上書きされます」という警告がでるため、はいを選択します。
インストールが開始されます。30分ほどお待ちください。
インストール終了後、下のような画面が出ます。
OKを押すとRaspberry Pi Zeroがリブートします。下の画面が表示されればインストール終了です。お疲れ様でした。
参考サイト
はじめてのRaspberry Pi : OSインストール編 – Output48
第2回: micro SDカードにRaspbianをインストールする – Blue-black.ink
Noobsを使ってRaspberry PiにOSをインストールする
インストールが終了したらRaspberry Piの初期設定を行いましょう。
www.g104robo.com
Raspberry Pi Zeroに必要な物リスト
ついにRaspberry Pi Zero Wの技適が通り、本日07/18(火)からSwitchScienceやKSYなどで販売が開始されます。今回はRaspberry Pi Zeroを起動させるために必要な物をまとめました。周辺機器に関してはほとんどがAmazonで手に入ると思います。Raspberry Pi Zero Wの方は最後の無線LAN子機のに無視していただければ、問題なく買い揃えることができるようになっています。
全体の構成
まずこれからセットアップしようとしているRaspberry Pi Zeroの構成は下の写真のようになります。
Raspberry Pi Zero基板にはMicro-USB-Bケーブルで電源が供給され、入出力用のUSB-Hubも接続されています。ディスプレイへはminiHDMIを通して接続されています。
本体
Raspberry Pi Zero本体はKSYやSwitch Scienceなどで購入できます。品薄状態が続いているため、在庫が切れていることが多いです。
ホーム - Raspberry Pi Shop by KSY
Raspberry Pi Zero v1.3 - スイッチサイエンス
送料はKSYが756円(5000円以上お買上げで無料)、Switch Scienceが150円(3000円以上お買上げで無料)となっています(2017/07/16現在)。
周辺機器
Raspberry Pi Zero本体以外に必要な物品をまとめておきます。自分で全て揃えるのが面倒な場合はスターターキットもおすすめです。
Raspberry Pi Zero v1.3 スターターキット - スイッチサイエンス
MicroSDカード
Raspberry PiのOSであるRaspbianを入れるためのMicroSDカードです。8GB程度あれば十分です。
USBハブ
Raspberry Pi Zeroはmicro-USB-Bの差し口が1箇所のみしか無いので、USBハブがほぼ必須です。
おすすめはこちら
USB(microB to A)変換ケーブル
上記のUSBハブは出力端子がUSB-Aのオスなので、Raspberry Pi Zeroに接続できるようにmicroUSB-Bに変換します。
マウス&キーボード
Logicoolで揃えることをおすすめします。LogicoolのUnifyingを利用して、一つのUSBアダプタでマウスとキーボードを接続できるので、USBポートを節約できます。
マウス
キーボード
ディスプレイ&miniHDMI to HDMI (&HDMI to VGA)
ディスプレイに関してはお手持ちのものがあればそれで構いません。ただしRaspberry Pi Zeroへの接続はminiHDMIですのでHDMIから変換する必要があります。
ディスプレイがVGA(D-sub)を利用した接続の場合はHDMI to VGAも必要です。
無線LAN子機(Raspberry Pi Zero Wは不要)
ネットに接続する方法はUSBの無線LAN子機を用いる方法と有線LANアダプタを接続する方法があります。おすすめは無線LAN子機を接続する方法です。ただでさえUSBハブやら電源やらモニタやらの配線があり、この上有線LANなんてつなげたらスパゲッティになってしまいます。おすすめはこちら
FRISK
オプションです。通常サイズは削らないとボードが収まらず、かと言って120%BOOSTERでは微妙にボードが動いてしまうので悩ましいところです。
参考サイト
第1回: セットアップに必要なもの – Blue-black.ink
フリスクでRaspberry Pi Zeroのケースを作る - 猫の手も借したい