mavericks に boxen (...疲れたので導入までの話)

macbook pro に mavericks をクリーンインストールしました.

そして今度は,設定.

この設定作業については,以前defaults コマンドなり plistbuddy コマンドを使ってのアクセス,方法について検討してみました.

が,
実は,この作業着手,随分前からずっと横目に捉えていたのが boxen と.

boxe とは何ぞや,については,他の優れた参照先があるので,詳細はそちらにお任せするとして...

利用シーンは,やはり,マシンを新しくしたとか os 新しくした,リプレイスしたって時.その度繰り返してきた "面倒で何気ストレスフルな割に甲斐のない" 設定/構築作業を楽にしてくれるのが boxen かと.

先日 os を入れ替えたことは,
ちょうどいい切っ掛けなので,見ているだけでなく,実際に boxen を導入してみることに.

なお,現在のマシンの状態としては,;

となっています.

step 01: xcode/command line tools の準備

まず xcode のダウンロードおよびインストールを行います.
boxen 自身のお話しによれば,command line tools があれば良いとなってますが,同時に xcode のフルインストール推奨とあったので,一応,ここではそれに従ってフルでインストールすることにしました.

この作業は,ターミナル上で出来るようです.
ここに書いてありました.*2

xcode-select --install

ダウンロードから行われますので時間は掛かります.ご注意を.

残念ながら,すでにここでターミナルを離れます.finder 上での作業となります.

処理が終わると,確認ダイアログが現れます.
ここでは [Xcode を入手] を選択.

さらに,ここでももう一つ注意なのですが,
このステップ,完結でなかったりします.

残念なことに apple store が開き,結局 apple store の ui 上で [インストール] をクリック,とマウスに手を伸ばし普通に普通の操作をすることになります(笑

さらに, どうやら最初に一度 xcode を起動しておいた方が良いみたいです.*3

こんなダイアログが表示されました.
そう言う事らしいです.

...うーん.

step 02: github へ新規リポジトリの準備

ここはブラウザでの作業となります.

ブラウザで github へアクセスし,新規リポジトリを作成.
リポジトリの名前は,任意,好きなのを付けて良いはずです.ここでは "my-boxen" としました.

この手続きの際,[Initialize this repository with a README] のチェックボックスは,デフォルトのまま,"オフ" の方が良いかと思います.

こんなエラーに遭遇するかと.

error: failed to push some refs to 'https://github.com/my_username/my-boxen.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

"Note about fast-forwards" ということらしいです.

一応,リポジトリが作成された後に遷移するページに現れている clone url は覚えておくと良いと思ったりはします.

step 03: github 接続設定

この手続きは,クリーンインストール等により真っ新の状態でしたら,たぶん必要になるかと思います.*4

ここで一旦,ターミナルへ戻ります.
そしてターミナルとブラウザ上の github 間を行ったり来たりすることになると思います.

基本的なフローは,本家 github の説明に沿っています.ので,こちらを参照して頂くのが正解だと思っています.;

» Generating SSH Keys · GitHub Help

そしてここでは,実際やっている中で一部,
自分の環境に合わせ意図的に変えたり,「ん?」と思ったところについてのみメモしておこうかと思います.

なお,「ん?」のつまづきでは以下のサイトを参考にさせて頂きました.感謝です.;

» ナウなヤングのためのgithub入門講座 基本機能からdotfiles管理まで 馬鹿と天才は紙一重
» Gitのセットアップ - homebrewをフォークするためのGit&GitHub入門 前編 - A Way of Code

ちなみに.
この段階では .ssh の中に入っています.$cd ~/.ssh です.

鍵データのファイル名(パス)はデフォルトから変えました

デフォルトは,おそらく id_rsa で,github の help では Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] と「そのまま enter.」な説明になっておりますが,ここでは github_rsa としました.

理由は,特に深いものはないです.ただ単に,その方が後で自分自身が分かり易いかと思った,それだけです.

$ ssh-keygen -t rsa -C "my_email@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/my_home/.ssh/id_rsa): /Users/my_home/.ssh/github_rsa
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
Your identification has been saved in /Users/my_home/.ssh/github_rsa.
Your public key has been saved in /Users/my_home/.ssh/github_rsa.pub.
*snip*
$ ls
github_rsa    github_rsa.pub    known_hosts

公開鍵のパーミッションを変更しておいた

github のヘルプではない手続きで,必要ないのかもしれませんが.

$ sudo chmod 600 github_rsa.pub 

.ssh/config を作っておいた

これも github のヘルプではない手続きで,必要ないのかもしれませんが...

接続のテストをしたら何とエラーが.*5

$ pbcopy < ~/.ssh/github_rsa.pub  # この後一旦,github で公開鍵を設定しています
$ ssh -T git@github.com
Permission denied (publickey).

軽く調べてみると,~/.ssh の config ファイルにある IdentityFile の値の様子.
この値が適切でなかったりするのが原因だった,というレポートを幾つか目にします.

そこで自分の config ファイルを覗いてみようと .ssh ディレクトリを掘ってみたら,... config 無い.

ふと,先にも挙げた参照先で config ファイルを作った手続きがあったことを思い出したので,~/.ssh/config を起こしてみることに.

Host github.com
Hostname github.com
Identityfile ~/.ssh/github_rsa

再度チェック.

途中,パスワードを入れるダイアログが出てきます. ここでは先の鍵データ生成の手続きの Enter passphrase (empty for no passphrase): で入れたのと同じフレーズをセット.

これでいーみたいです.

$ ssh -T git@github.com
Saving password to keychain failed
Identity added: /Users/my_home/.ssh/github_rsa (/Users/my_home/.ssh/github_rsa)
Hi me! You've successfully authenticated, but GitHub does not provide shell access.

step 04: github リモートリポジトリへ

ここからは,ターミナルのみでの作業となります.

ここで触れる手続きは,Our Boxen の readme にある [Bootstrapping] の "Once you've done that, you can run the following to bootstrap your boxen:" にある内容と何ひとつ変わりません.
ですのでそちらを参照ください.

ちなみに,add しているこの手続き,git remote add origin <the location of my new git repository> の "" は,step 02 で新規のリポジトリ作成後に遷移する画面で出会った clone url となります. 具体的な例を書くと,git remote add origin git@github.com:your_username/my-boxen となります.*6

別に作った my−boxen のページにある,ここでも良いですが.

ということで,boxen の環境は揃いました

本当は,もっと先まで触れようかと思ったのですが,....つかれたので,こんなところとします.

と言う事で,今回はおしまいです.

*1:本当に何も手を加えていなかったりします.

*2:この他に,
ブラウザ起こして,Apple 自身の Downloads for Apple Developers から持ってくる方法とか, gcc やら git やらを叩いて起こす男っぽいやり方もあるみたいです.

*3:apple app からのインストール後,何もせず,すぐターミナル行ってコマンドを発行したらエラーを吐かれ...,もしやと思い xcode へ.詳細について録っておくの忘れましたが...

*4:この段階ですと,"~/.ssh" は未だ存在しないでしょうし,もし何かやっちゃって ".ssh" ディレクトリあったとしても鍵データのファイル,例えば id_rsa.pub みたいなファイル等,は無かったりするのではと思います.

*5:実はこれまでにも何度か同じ ssh 接続設定を経験しているのですが,躓いたことない箇所なので,ちょっと焦る.原因は何でしょう? ...するう(笑

*6:もちろん "https://github.com/your_username/my-boxen.git" でも.