mavericks に boxen (...疲れたので導入までの話)
macbook pro に mavericks をクリーンインストールしました.
そして今度は,設定.
この設定作業については,以前,defaults コマンドなり plistbuddy コマンドを使ってのアクセス,方法について検討してみました.
が,
実は,この作業着手,随分前からずっと横目に捉えていたのが boxen と.
boxe とは何ぞや,については,他の優れた参照先があるので,詳細はそちらにお任せするとして...
利用シーンは,やはり,マシンを新しくしたとか os 新しくした,リプレイスしたって時.その度繰り返してきた "面倒で何気ストレスフルな割に甲斐のない" 設定/構築作業を楽にしてくれるのが boxen かと.
先日 os を入れ替えたことは,
ちょうどいい切っ掛けなので,見ているだけでなく,実際に boxen を導入してみることに.
なお,現在のマシンの状態としては,;
- macos x 10.9 mavericks のクリーンインストール直後 *1
- github のアカウントを持っている
- 勿論,apple の id,developper id 持っている
となっています.
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>
の "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 接続設定を経験しているのですが,躓いたことない箇所なので,ちょっと焦る.原因は何でしょう? ...するう(笑