Mac

2012年3月22日 (木)

Heroku - 複数アカウント(heroku-accounts) を1台のMacで管理し、複数Appをgit clone

Herokuアカウントが異なるAppを1台のMacで管理する際、Heroku上のデータをローカルにgit cloneしたときのメモ。

Herokuで複数のアカウントを管理するには、heroku-accounts

◇heroku-accounts
http://martyhaught.com/articles/2010/12/14/managing-multiple-heroku-accounts/
https://github.com/ddollar/heroku-accounts

以下、herokuの2つのアカウントを仮にjimmyとjackとする

$ heroku plugins:install git://github.com/ddollar/heroku-accounts.git
heroku-accounts installed
$ heroku accounts
No accounts found.
$ heroku accounts:add jimmy
Enter your Heroku credentials.
Email: jimmy@xxxxx.xxxxx
Password:

Add the following to your ~/.ssh/config

Host heroku.jimmy
HostName heroku.com
IdentityFile /PATH/TO/PRIVATE/KEY
IdentitiesOnly yes
$ heroku accounts:add jack
Enter your Heroku credentials.
Email: jack@*****.*****
Password:

Add the following to your ~/.ssh/config

Host heroku.jack
HostName heroku.com
IdentityFile /PATH/TO/PRIVATE/KEY
IdentitiesOnly yes
$

次に、sshのkeyを作成してIdentityFile の /PATH/TO/PRIVATE/KEY にPATHを記載する

◇sshのkey
keyを1つは紛失し、1つは複数アカウントの試行錯誤中に削除したため、最初から作成しなおし。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/jimmy/.ssh/id_rsa): /Users/jimmy/.ssh/id_rsa_jimmy
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/jimmy/.ssh/id_rsa_jimmy.
Your public key has been saved in /Users/jimmy/.ssh/id_rsa_jimmy.pub.
The key fingerprint is:
79:cd:45:ee:37:da:18:66:3f:c5:6e:53:c6:44:f5:a3 jimmy@xxxxxxxxxx
The key's randomart image is:
+--[ RSA 2048]----+
| ..+|
| . +.|
| . o.+.o|
| + + ..+=o.|
| + S o .= ..|
| + + E |
| . |
| |
| |
+-----------------+
$

jackに対しても同様に
$ ssh-keygen -t rsa
して
/Users/jimmy/.ssh/id_rsa_jack
を作成
上記のheroku accounts:add実行時のコメントに従い、~/.ssh/config を以下のように編集

Host heroku.jimmy
HostName heroku.com
IdentityFile /Users/jimmy/.ssh/id_rsa_jimmy
IdentitiesOnly yes

Host heroku.jack
HostName heroku.com
IdentityFile /users/jimmy/.ssh/id_rsa_jack
IdentitiesOnly yes

◇git clone

$ heroku accounts:default jimmy
$ git config heroku.account
jimmy
$ heroku accounts
* jimmy
jack
$

で、適当なディレクトリを作成してそこでgit cloneすると

$ git clone git@heroku.com:myapp_jimmy.git .
Cloning into ....

! Your key with fingerprint 79:cd:45:ee:37:da:18:66:3f:c5:6e:53:c6:44:f5:a3 is not authorized to access myapp_jimmy.

fatal: The remote end hung up unexpectedly
$

heroku keys:addが必要

$ heroku keys
No keys for jimmy@xxxxx.xxxxx
$ heroku keys:add
Found the following SSH public keys:
1) id_rsa_jimmy.pub
2) id_rsa_jack.pub
Which would you like to use with your Heroku account? 1
Uploading SSH public key /Users/jimmy/.ssh/id_rsa_jimmy.pub
$

再度git clone

$ git clone git@heroku.com:myapp_jimmy.git . Cloning into .... Permission denied (publickey). fatal: The remote end hung up unexpectedly $

googleさんで調べるとssh-addが必要とのことで

$ ssh-add -l
The agent has no identities.
$ ssh-add ~/.ssh/id_rsa_jimmy
Enter passphrase for /Users/jimmy/.ssh/id_rsa_jimmy:
Bad passphrase, try again for /Users/jimmy/.ssh/id_rsa_jimmy:
$

ssh-agenetが必要らしい

$ ps ax | grep ssh-agent
536 ?? S 0:00.07 /usr/bin/ssh-agent -l
739 s000 R+ 0:00.00 grep ssh-agent
$ eval 'ssh-agent'
SSH_AUTH_SOCK=/tmp/ssh-CpJmPKiFmG/agent.740; export SSH_AUTH_SOCK;
SSH_AGENT_PID=741; export SSH_AGENT_PID;
echo Agent pid 741;
$ ps ax | grep ssh-agent
536 ?? S 0:00.07 /usr/bin/ssh-agent -l
741 ?? Ss 0:00.03 ssh-agent
743 s000 R+ 0:00.00 grep ssh-agent
$ ssh-add ~/.ssh/id_rsa_jimmy
Enter passphrase for /Users/jimmy/.ssh/id_rsa_jimmy:
Identity added: /Users/jimmy/.ssh/id_rsa_jimmy (/Users/jimmy/.ssh/id_rsa_jimmy)
$

再度 git cloneで成功↓ heroku accounts:set もしておく

$ git clone git@heroku.com:myapp_jimmy.git .
Cloning into ....
remote: Counting objects: 35819, done.
remote: Compressing objects: 100% (7548/7548), done.
remote: Total 35819 (delta 27484), reused 35813 (delta 27481)
Receiving objects: 100% (35819/35819), 7.82 MiB | 147 KiB/s, done.
Resolving deltas: 100% (27484/27484), done.
$ heroku accounts:set jimmy
$

もう一つのアカウントもgit clone

$ ssh-add ~/.ssh/id_rsa_jack Enter passphrase for /Users/jimmy/.ssh/id_rsa_jack: Identity added: /Users/jimmy/.ssh/id_rsa_jack (/Users/jimmy/.ssh/id_rsa_jack) $ git clone git@heroku.com:myapp_jack.git . Cloning into ....

! Your key with fingerprint 79:cd:45:ee:37:da:18:66:3f:c5:6e:53:c6:44:f5:a3 is not authorized to access myapp_jack.

fatal: The remote end hung up unexpectedly
$

heroku keys:add してssh-add -Dで削除後にssh-addやりなおしで解決


$ heroku accounts:default jack
$ heroku keys:add ~/.ssh/id_rsa_jack.pub
Uploading SSH public key /Users/jimmy/.ssh/id_rsa_jack.pub
$ ssh-add -D
All identities removed.
$ ssh-add ~/.ssh/id_rsa_jack
Enter passphrase for /Users/jimmy/.ssh/id_rsa_jack:
Identity added: /Users/jimmy/.ssh/id_rsa_jack (/Users/jimmy/.ssh/id_rsa_jack)
$ git clone git@heroku.com:myapp_jack.git .
Cloning into ....
remote: Counting objects: 111, done.
remote: Compressing objects: 100% (85/85), done.
remote: Total 111 (delta 9), reused 111 (delta 9)
Receiving objects: 100% (111/111), 34.77 KiB, done.
Resolving deltas: 100% (9/9), done.
$ heroku accounts:set jack
$

----------
2012/04/15 追記
ある日、修正してそれを
$ git commit -a -m "[commit message]"
$ remote add heroku git@heroku.com:myapp_jack.git
$ git push heroku master
で反映しようとしたら


$ git push heroku master
Permission denied (publickey).

で、
$ ssh-add ~/.ssh/id_rsa_jack
したらいけた。
$ heroku keys:add ~/.ssh/id_rsa_jack
はいらんかった。

ログイン時に自動で毎回ssh-addしとく必要あんのかな?
----------

下記参考にさせていただきました。
Managing Your SSH Keys
Git using wrong email address when talking to Heroku
deploying rails to heroku - unauthorized public key access
Permission denied (publickey) when deploying heroku code. fatal: The remote end hung up unexpectedly
git clone heroku ssh permission denied
SSH Key Disable Caching
herokuでdeployしたときに"Your key with fingerprint xxxxxxxxxxxx is not authorized to access appname."と言われたら
git memo
herokuにpushできなくて泣きそうになった。

| | コメント (0) | トラックバック (0)

2012年1月21日 (土)

MacBook ProにBootCampでWindows7いれて日本語入力できるようにかなキーと英数キーの割り当て変更

MacBook Proに半角全角キーがないのでBootCampで日本語入力が不便。
「かな」キーでIME有効にして「英数」キーでIME無効に。
MSIMEはやめて、Google日本語入力

「ツール」「プロパティ」で「Google日本語入力プロパティ」ダイアログ表示
Ws000002
キー設定の選択で「カスタム」を選択して「編集ボタン」押す
「Google 日本語入力 キー設定」ダイアログで「定義済みキーマップからインポート」から、ここでは「ATOK」を選択

Ws000003

続いて「入力キー」でソート

Ws000004

編集から「新しいエントリー」からいくつか追加し、コマンドもいくつか変更(赤枠)

Ws000006

「かな」キーでひらがなになり、「英数」キーで直接入力になる。
上の図の赤枠の入力キーの「Kana」のコマンドを「IMEを有効化」にしたがこの2行は削除でもよいかも。

| | コメント (0) | トラックバック (0)

2012年1月13日 (金)

Mac OS X 10.7 Lion をクリーンインストールして BootCamp で Windows 7 を入れる

◇方針
Mac OS X 10.7 Lion はクリーンインストール(Mac OS X 10.6 Snow Leopard からのアップデート)
Mac OS X 10.7 Lion と Windows 7 の両方が読み書きできるパーティションを作成

◇手順概要
1)Mac OS X 10.6 Snow Leopard をクリーンインストール
2)App Store で Mac OS X 10.7 Lion を購入してアップデート
3)Mac OS X 10.7 Lion の インストールUSB の作成
4)Mac OS X 10.7 Lion の Recovery HD を削除
5)BootCamp で Windows 7 をクリーンインストール
6)ディスクユーティリティーで Mac OS X 10.7 Lion をいれたパーティションを分割

◇メモ
1)Mac OS X 10.6 Snow Leopard をクリーンインストール
Mac 購入時の Mac OS X 10.6 Snow Leopard のインストールDVDでクリーンインストール

2)App Store で Mac OS X 10.7 Lion を購入してアップデート
ソフトウェア・アップデート を実行して App Store をインストール
App Store で Mac OS X 10.7 Lion を購入してアップデート

3)Mac OS X 10.7 Lion の インストールUSB の作成
今回、実際に実施したのは
Lion DiskMaker (US)
を使う方法
そのためには、インストールが終わると自動で削除される「InstallESD.dmg」が必要のようで、下記を参考に、購入済み から option + クリック で App Store から Mac OS X 10.7 Lion を再ダウンロード
Lionのインストール用起動可能ディスクをDVDやUSBメモリで作る

上記ではなく、Apple 純正のツールでできる模様(未確認)
Lion 復元ディスクアシスタント
下記に実際に使った方の説明あり
OS X Lion…「Lion Recovery Disk Assistant」でUSBメディアも作成。

多分
OS X Lion USBメモリ版
みたいのができるのではないかな??

作成した USB で起動してみた
OS起動時に option キー 押しっぱなしで 選択&起動確認

あとUSBで起動時に下記も確認
Mac OSX Lion 10.7.2のリカバリ

電源ONのときにoptionキーを長押しして「Recovery HD」から起動し、ディスクユーティリティを実行するとサイドバーにDisk1が表示されます。
その内容はMac OS X Base Systemとなっていますので、Disk1を選択して「ディスクを作成」してください。
容量はパーティションで確認すると1.4GBとなっていましたので、DVDに書き込むことをお勧めします。

を参考にDVDも作成して、起動時に c キー押しっぱなしで起動確認

ちなみに、ディスクユーティリティーで、普通に「InstallESD.dmg」をDVDに焼いても起動せず
DVD数枚無駄に。。

4)Mac OS X 10.7 Lion の Recovery HD を削除
MacとWindowsの共有パーティションを作成するには Recovery HD があるとNGということで、install USBも作ったし 下記を参考にして Recovery HD は削除
OS X 10.7 Lion の Recovery HD を削除する方法
今回、実際に下記をターミナルで実行


diskutil list
diskutil eraseVolume HFS+ Blank /dev/disk0s3
diskutil mergePartitions HFS+ MacBookPro disk0s2 disk0s3

5)BootCamp で Windows 7 をクリーンインストール
普通にBootCamp で Windows 7 をクリーンインストール
インストール後の時点でパーティションは2つ

6)ディスクユーティリティーで Mac OS X 10.7 Lion をいれたパーティションを分割
ディスクユーティリティーで普通に分割して、Windows 7 も起動できた

前回のMac OS X (10.6.5 Snow Leopard)に BootCamp 3.2 で Windows7(64bit) を入れるでは共有パーティションをNTFSにしたが、Windowsの起動時にDiskCheckが頻繁に発生してOSの起動に時間がかかったので今回は素直にFAT32に

| | コメント (0) | トラックバック (0)

2011年1月11日 (火)

Mac OS X (10.6.5 Snow Leopard)に BootCamp 3.2 で Windows7(64bit) を入れる

----------
2012/01/13 追記
Mac OS X 10.7 Lion にBootCampいれてみました。
----------

Mac OS X (10.6.5 Snow Leopard)に BootCamp 3.2 で Windows7(64bit) を入れるメモ

・Windows7のNTFSパーティションを2つ、Macのパーティションを1つ、合計3つのパーティションに分ける。
・iTunesのデータを出来る限りWinとMacで共有する。
・MacキーボードをBootCamp上のWindowsで違和感なく使えるようにFunction(F1~F12)キー, caps(CapsLock)キー, control(Ctr)キー, command(Apple)キー変更する。

0)[Macの操作] MacのHDを1つのパーティションに。(BootCampやディスクユーティリティーで1つに戻す)
1)[Macの操作] BootCampでWindows領域を確保(今回は80G)
2)[Macの操作] BootCampを途中でやめてあとでWindowsのインストールを選択
3)[Macの操作] ディスクユーティリティーでMacパーティションを減らすがここではパーティションは作らない(減らしたところを後ほどWindows7の2つ目のパーティションにする)
4)[Macの操作] BootCampでWindowsのインストール開始
5)[Winの操作] Windowsインストールが一段落したらMacインストールディスクをいれてsetup実行してWindows側にBootCamp関連のソフトウェアをインストール
6)[Macの操作] Macでディスクユーティリティー起動して3)で空けた領域にFATパーティションを作る
7)[Winの操作] WinでDVDドライブをEに、6)で作成したパーティションをDに変更(必要に応じて)
8)[Winの操作] DドライブをNTFSでフォーマット
9)[Winの操作] Appleサイトから最新のBootCampを取得してアップデート(2011/01/11現在3.2が最新)
10)[Winの操作] BootCampコントロールパネルをひらいて「キーボード」タブを選択し「F1、F2などのすべてのキーを標準のファンクションキーとして使用」にチェックをいれて、特殊機能はFnキーを押さないと動作しないように変更、また「トラックパッド」タブを選択し「副ボタンのクリック(右下端)」にチェックをいれて、トラックパッドの右クリックを有効にする
11)[Winの操作] 「caps-ctrl_lalt-lwin_lwin-lalt.reg」を実行してcapsキーをCtrlキーに変更、commandキーをaltキーに変更、optionキーをwindowsキーに変更(要レジストリバックアップ)、またIMEの設定を変更して「かな(Hiragana)」をIME有効化に、「英数(Muhenkan)」をIME無効化に、「Ctrl+Space」をIME有効化/無効化に設定/IMEはWindowsと操作が共通にできるのもあり、ことえりやめてGoogle日本語入力をインストール
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,04,00,00,00,1d,00,3a,00,38,00,5b,e0,\ 5b,e0,38,00,00,00,00,00
12)[Macの操作] Mac上でWinCloneしておく(WinCloneの設定はすべてインストール時のデフォルトで復元まで確認)
13)[Macの操作] Windows上でのDドライブが/Volumes/XXXXにマウントされているとすると、diskutil info /Volume/XXXXするとUUIDがわかるので、/etc/fstabにUUID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx none ntfs rw
と記載してNTFSアクセス可能にする/安全のため/Volumes/BOOTCAMPは書き込み可能にするのやめた
14)[Macの操作] iTunesのデータのみDドライブにおいてWinとMacから共有、Win上では聴くのみでMac上でライブラリなどの編集を実施する運用とする/設定ファイルはMacで編集されたものを手動でWin領域に上書きしたのちWinでiTunesを開くと自動でライブラリ更新する/WinもMacもShiftキーを押しながらiTunesを開くと既存のライブラリを指定して開ける/設定ファイルもNTFS上に置くと、WinとMacでiTunesを起動する度にライブラリの更新を行い絶対パスを書き換える/そのためか分からないがWindows起動時に毎回ハードディスクのチェックが入ったためMacの設定ファイルはMacパーティションに置くように分けた/NTFSではなくてFATの時にはWindows起動時のハードディスクチェックはなかったが、NTFSを優先


2011/01/11 追記
上の11)で右Winキーも使わねーから右Ctrlに変更も追加
Scanmap
赤枠の 05 00 00 00 が青枠4つと最後の赤枠(null terminator)の数
青枠の 1D 00 3A 00 が 00 3A(Caps Lock) を 00 1D(Left Ctrl)に変更の意味
2つ目の青枠の 38 00 5B E0 が E0 5B(Left Win) を 00 38(Left Alt)に変更の意味
3つ目の青枠の 5B E0 38 00 が 00 38(Left Alt) を E0 5B(Left Win)に変更の意味
4つ目の青枠の 1D E0 5C E0 が E0 5C(Right Win) を E0 1D(Right Ctrl)に変更の意味 ←今回これ追加

ScanMapはここからゲット可

それから「Ctrl+Space」をIME有効化/無効化に設定、はVisualStudioでIntellisense使えねーからやめ



下記参考にさせていただきました。ありがとうございます。
◇ntfs読み書き
【コラム】OS X ハッキング! (342) 知られざるSnow Leopard(NTFS編) | パソコン | マイコミジャーナル

◇BootCamp上のWindowsで複数パーティション
MacBook ProでBootcampなXP ~3パーティションで両OSからデータ共有するぞの巻~ | nagapp.
開店休業中 - Mac/BootCampに2パーティション
MacBookでBootCamp利用するならおすすめのパーティション設定 - [[ ist ]] mac,windows,ipod パソコン周辺機器 etc...

◇WinClone
Boot CampのWindowsパーティションのサイズを変更するには - パソコンよろずQ&A
WincloneでWindowsパーティションを完全バックアップ 解説|MacやらiPhoneブログ
BootCampのパーティションサイズの変更方法 解説|MacやらiPhoneブログ
Wincloneを使ってBootcampパーティションサイズを縮小するメモ - いつも雨の薫りがする
Boot Campパーティションの移動と拡張 | Cloud&Water

◇キー変更
swap ctrl-caps lock
Disabling the Windows Key on Microsoft Natural Keyboard
Windowsのキーマップを入れ替える
「Caps」と「Ctrl」の入れ替え
MacのキーボードをBootCamp上のWindowsで使う(キーの設定・変更) - 100万ポイントで何買おう? - 楽天ブログ(Blog)

| | コメント (0) | トラックバック (0)