mac

Time Machine で新規のバックアップを作成する必要があります とメッセージが表示される

MacBook Pro を電源につなぐと自動で Time Machine でバックアップが始まるようにしていますが、昨日バックアップを作成しようとしたところ、

Time Machine はバックアップの検証を完了しました。
信頼性を向上するために、Time Machine は新規バックアップを作成する必要があります。

というメッセージが表示され、バックアップを作成するには、新規のバックアップを作成する必要がある(バックアップの履歴は全て削除される)という現状に成ってしまいました。

空白_Skitch_キャンバス

フォーラムにも同じ内容のポストが有って、解決方法が載っていたので、その通り実行したらリペアできました。
「新規バックアップが必要」というメッセージがでてくる | Apple サポートコミュニティ.

リペア手順

時間のかかる作業なので、電源が切れないように設定して実行します。
次に、Time Machine バックアップに使っているドライブをファイル共有でマウントします。
マウント後、下記のコマンドを実行してリペアしました。

[suusuke@macbookpro ~]$ ll /Volumes/timemachine/
total 0
drwxrwxrwx@ 1 suusuke  staff  264 10 26  2011 Network Trash Folder
drwxrwxrwx@ 1 suusuke  staff  264 10 26  2011 Temporary Items
drwxrwxrwx@ 1 suusuke  staff  296 11  9 21:07 suusuke の MacBook Pro.sparsebundle
drwxrwxrwx@ 1 suusuke  staff  264  4  9  2014 suusuke の MacBook.sparsebundle
drwxrwxrwx  1 suusuke  staff  264 11  9 23:10 trashbox

[suusuke@macbookpro ~]$ sudo chflags -R nouchg /Volumes/timemachine/suusuke\ の\ MacBook\ Pro.sparsebundle
Password:

[suusuke@macbookpro ~]$ hdiutil attach -nomount -noverify -noautofsck /Volumes/timemachine/suusuke\ の\ MacBook\ Pro.sparsebundle
/dev/disk2          	GUID_partition_scheme          	
/dev/disk2s1        	EFI                            	
/dev/disk2s2        	Apple_HFS                      	

[suusuke@macbookpro ~]$ fsck_hfs -drfy /dev/disk2s2
...

[suusuke@macbookpro ~]$ hdiutil detach /dev/disk2s2 
"disk2" unmounted.
"disk2" ejected.

フォーラムの解決リンク先に、コマンドの説明が書いています。
Fix Time Machine Sparsebundle NAS Based Backup Errors | Garth Gillespie.

Time Machine のドライブをアンマウントして、バックアップを実行すると問題なく実行できました。

timemachine

Macで文字コード変換

Windows の場合は、KanjiTranslator が便利で使っているのですが、Macはアプリケーションでやるより、nkfコマンドで変換するのが一般的なようです。

nkfコマンドインストール

Mac Portsでインストールしました。
そろそろhomebrew使ったほうが良いかも

$ sudo port install nkf

文字コードを確認

オプション -g で確認できます。

$ nkf -g ~/vagrant/centos59_64/home/sample/public_html/index.php 
EUCJP-MS

UTF-8(BOMなし)コードへ変換

オプション -w で変換します。
上書きする場合は、–overwriteを指定します。

$ nkf -w --overwrite ~/vagrant/centos59_64/home/sample/public_html/index.php 
$ nkf -g ~/vagrant/centos59_64/home/sample/public_html/index.php 
UTF-8

その他の文字コードへの変換方法は

$ man nkf

で確認できます。

iTerm2とtmuxを使ってみた感想

【図解】ゼロから始めるモダンなコマンドライン環境作り #iTerm2 #tmux #zsh|CodeIQ MAGAZINE.

tmux

Terminalはtotalterminalを使っていますが、モダンな環境と呼ばれているiTerm2tmuxを使ってみました。

時間の制限があり、あまり試せなかったのですが、今のところはtotalterminalで事足りるかな、という印象でした。
tmuxtotalterminalと併用してみて、iTerm2が必要になったら、乗り換えようと思います。

ターミナルの自動エンコード

MacのターミナルでEUCのサーバーに繋いだ場合、日本語が文字化けしてしまします。
cocotを使用すると、自動でサーバーのエンコードに変換してくれるので文字化けを解消できます。

cocotインストール

$ sudo port install cocot

cocotを使用する

$ cocot ssh xxx.xxx.xxx.xxx

Macbook Pro Retina 13 Late 2013 インストール・設定メモ

今まで使っていたMacbookから移行はせず、新規にインストールしました。
Macbookはクリーンインストールして、iPhone、iPadのバックアップ用にでもしようかと考えてます。

インストールしたもの

  • Firefox
  • Google Chrome
  • Google IME
  • Alfred
  • TotalTerminal
  • Yummy FTP
  • ClamXav
  • Xcode
  • Dropbox
  • MacPorts
  • Skitch
  • MacVim
  • AppCleaner
  • KeyRemap4MacBook
  • HyperSwitch
  • jre
  • eclipse
  • Virtual Box
  • Vagrant
  • Skype
  • Remote Desktop Connection
  • Thunderbird
  • 夜フクロウ
  • shiftit
  • Cowsee
  • CopyClip
  • CodEditor
  • DiffFork
  • Remote Desktop Connection
  • Sequel Pro

設定

隠しファイルを表示
ドットファイルコピー
vagrant boxファイル作成(package)→box add→vagrant init→Vagrantfileコピー→vagrant up→Synced folderコピー

iOS Developer Programの期限内での更新

iOS Developer Programの更新作業をした際の覚書です。

iOS Developer Programのライセンスの有効期間は1年間となっていますので、更新する必要があります。

更新については、Program Renewals – iOS Developer Program – Support – Apple Developer.に詳しく書いてあります。
更新しなかった場合もどうなるか書いてあるので、一度は読んでおくと良いと思います。

なお、期限が切れる前に更新していますので期限が切れた後に更新した場合とは少し異なると思います。

目次

  • ライセンスの購入
  • 証明書(Certificate)の更新
  • Provisioning Profileの更新

ライセンスの購入

  • iOS Dev Center – Apple Developer.にてライセンスを購入します。
  • 更新が近づいていると、ログイン後Updated Program License Agreementとメッセージが表示されているので、Review Agreementのリンクから購入します。 IOS Dev Center  Apple Developer 12 11 13 12 47 3
  • 規約を読んでチェックしI Agreeをクリックします。 Member Center  Apple Developer 12 11 13 12 48
  • iOS Developer ProgramをチェックしてContinueをクリックします。 Apple Developer Program Renewal  Select Program 12 11 13 12 49
  • Continueボタンをクリックします。 Apple Developer Program Renewal  Review Your Purchase Details 12 11 13 12 50
  • Add to cartボタンをクリックします。 Apple Developer Program Renewal  Purchase 12 11 13 12 52
  • Apple Store画面に遷移するのでご購入手続きへボタンから購入します。 カート  Apple Store for Business  Japan 12 11 13 12 52
  • 請求先や支払方法を確認し、注文を確定させます。 Thank You  Apple Store for Business  Japan 12 11 13 12 58 2
  • 5,6時間後にはiOS Developer Program更新完了のメールが届くので、iOS Deve Centerにログインして期限が伸びているか確認できればライセンスの更新は完了です。 Member Center  Apple Developer

証明書(Certificate)の更新

    • キーチェーンアクセスから、証明書(Certificate)の元になる証明書要求を作成します。
      • 証明書アシスタント認証局に証明書を要求…
      • デベロッパー登録時のメールアドレス入力
      • ディスクに保存
      • 鍵ペア情報を指定(鍵のサイズ:2048ビット, アルゴリズム:RSA) 証明書アシスタント 2 証明書アシスタント 3 2
      • CertificateSigningRequest.certSigningRequestをディスクに保存 証明書アシスタント 2
    • iOS Provisioning Portalにログインして、古い証明書(Certificate)をRevokeをクリックして削除します。 Certificates  iOS Provisioning Portal  Apple Developer
    • Request Certificateをクリックして、作成した証明書要求(CertificateSigningRequest.certSigningRequest)をアップロードします。 Certificates  iOS Provisioning Portal  Apple Developer
    • アップロード後画面をリロードするとDownloadボタン、click here to download now.リンクが現れるのでクリックして、証明書(ios_development.cer、AppleWWDRCA.cer)をダウンロードします。 Certificates  iOS Provisioning Portal  Apple Developer 2
    • ダウンロードした2つのファイルをダブルクリックして、キーチェーンアクセスに登録します。(Development、Distributionともにここまでの手順行う)
    • キーチェーンアクセスから古い証明書と鍵を削除する(消しておかないと期限が切れた場合、XCodeでビルドに失敗します。) キーチェーンアクセス 3

Provisioning Profileの更新

    • 再度、iOS Provisioning Portalにログインし古い証明書(Certificete)に紐付いている、Provisioning Profileを更新します。Modifyボタンをクリックして、証明書を新しい物に紐付けます。 Provisioning Profiles  iOS Provisioning Portal  Apple Developer Distribution Provisioning Profiles  iOS Provisioning Portal  Apple Developer
    • Donwloadボタンをクリックして新しいProvisioning Profileをダウンロードして、Organizerに登録するか、OrganizerからRefreshボタンをクリックしてProvisionin Profileを更新します。古いものは削除します(TeamがUnknownのもの) Provisioning Profiles  iOS Provisioning Portal  Apple Developer Organizer  Devices
    • 最後に実機でデバックできれば更新完了です。(OrganizerでRefreshしたタイミングかわからないのですが、キーチェーンアクセスに古い証明書が復活してたのでXCodeで証明書エラーになる場合はそこを確認するといいと思います。)

PHPのバージョンを管理するphpbrewを使ってみた

バージョンの異なる実行環境を切り替えたり、インストールしたりと管理できるツールとしてはrvm(ruby)perlbrew(perl)nodebrew(node.js)と言ったものが有名所ですが、PHPにもphpbrewというツールがある事を知ったので使ってみました。

c9s/phpbrew · GitHub.

インストール

環境はMac OS X Lionです。
元々、入っているPHPのバージョンは5.3.8でPHP4.4.9はコンパイルして入れたものが入っています。

[suusuke@macbook ~]$ php -v
PHP 5.3.8 with Suhosin-Patch (cli) (built: Nov 15 2011 15:33:15) 
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
[suusuke@macbook ~]$ php4 -v
PHP 4.4.9 (cli) (built: Mar 26 2011 10:08:22)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

phpbrewインストール

c9s/phpbrew · GitHub に書いてある手順どおりインストールします。

[suusuke@macbook ~]$ sudo pear channel-discover pear.corneltek.com
Password:
Adding Channel "pear.corneltek.com" succeeded
Discovery of channel "pear.corneltek.com" succeeded
[suusuke@macbook ~]$ sudo pear install -a -f corneltek/PhpBrew
Password:
downloading PhpBrew-1.0.2.tgz ...
Starting to download PhpBrew-1.0.2.tgz (43,519 bytes)
............done: 43,519 bytes
downloading Universal-1.0.2.tgz ...
Starting to download Universal-1.0.2.tgz (10,805 bytes)
...done: 10,805 bytes
downloading CLIFramework-1.0.6.tgz ...
Starting to download CLIFramework-1.0.6.tgz (8,432 bytes)
...done: 8,432 bytes
downloading GetOptionKit-1.0.0.tgz ...
Starting to download GetOptionKit-1.0.0.tgz (10,801 bytes)
...done: 10,801 bytes
install ok: channel://pear.corneltek.com/Universal-1.0.2
install ok: channel://pear.corneltek.com/GetOptionKit-1.0.0
install ok: channel://pear.corneltek.com/CLIFramework-1.0.6
install ok: channel://pear.corneltek.com/PhpBrew-1.0.2
[suusuke@macbook ~]$ cd ~/
[suusuke@macbook ~]$ git clone git@github.com:c9s/phpbrew.git
Cloning into phpbrew...
Identity added: /Users/suusuke/ssh/github/id_rsa (/Users/suusuke/ssh/github/id_rsa)
remote: Counting objects: 1130, done.
remote: Compressing objects: 100% (436/436), done.
remote: Total 1130 (delta 676), reused 1014 (delta 560)
Receiving objects: 100% (1130/1130), 926.93 KiB | 244 KiB/s, done.
Resolving deltas: 100% (676/676), done.
[suusuke@macbook ~]$ cd phpbrew
[suusuke@macbook phpbrew]$ sudo pear install -f package.xml
install ok: channel://pear.corneltek.com/PhpBrew-1.1.1
[suusuke@macbook ~]$ ./phpbrew init
Phpbrew environment is initialized, required directories are created under

    ~/.phpbrew

Paste the following line(s) to the end of your ~/.bashrc and start a
new shell, phpbrew should be up and fully functional from there:

    source ~/.phpbrew/bashrc

For further instructions, simply run `phpbrew` to see the help message.

Enjoy phpbrew at $HOME!!
[suusuke@macbook ~]$ source ~/.phpbrew/bashrc 

インストールできるバージョンの確認

[suusuke@macbook ~]$ ./phpbrew/phpbrew known
Available stable versions:
	php-5.4.0
	php-5.3.10
	php-5.3.9
	php-5.3.8
	php-5.3.7
	php-5.3.2
	php-5.3.1
Available svn versions:
	php-svn-head
	php-svn-5.3
	php-svn-5.4
Available versions from PhpStas:
	php-5.4.0
	php-5.4.0RC1
	php-5.4.0RC2
	php-5.4.0RC3
	php-5.4.0RC4
	php-5.4.0RC5
	php-5.4.0RC6
	php-5.4.0RC7
	php-5.4.0RC8
	php-5.4.0alpha1
	php-5.4.0alpha2
	php-5.4.0alpha3
	php-5.4.0beta1
	php-5.4.0beta2

インストールできるオプションの確認

[suusuke@macbook ~]$ ./phpbrew/phpbrew variants
Variants
    pdo
    pear
    gd
    openssl
    mysql
    sqlite
    pgsql
    cli
    ftp
    sockets
    apxs2
    debug
    cgi
    soap
    pcntl
    intl
    imap
    kerberos

Example:

    phpbrew install php-5.3.10 +mysql +pdo
    phpbrew install php-5.3.10 +mysql +pdo +apxs2
    phpbrew install php-5.3.10 +mysql +pdo +apxs2=/usr/bin/apxs2

PHP5.4.0をインストールして使ってみる

[suusuke@macbook ~]$ ./phpbrew/phpbrew -d install --no-test php-5.4.0
===> Downloading http://www.php.net/distributions/php-5.4.0.tar.bz2
######################################################################## 100.0%
===> Extracting...
===> Configuring php-5.4.0...
./configure '--prefix=/Users/suusuke/.phpbrew/php/php-5.4.0' '--with-config-file-path=/Users/suusuke/.phpbrew/php/php-5.4.0/etc' '--with-config-file-scan-dir=/Users/suusuke/.phpbrew/php/php-5.4.0/var/db' '--with-pear=/Users/suusuke/.phpbrew/php/php-5.4.0/lib/php' '--disable-all' '--enable-bcmath' '--enable-ctype' '--enable-dom' '--enable-exif' '--enable-fileinfo' '--enable-filter' '--enable-hash' '--enable-fpm' '--with-xsl' '--with-tidy' '--with-xmlrpc' '--enable-json' '--enable-libxml' '--enable-mbregex' '--enable-mbstring' '--enable-phar' '--enable-session' '--enable-short-tags' '--enable-simplexml' '--enable-sockets' '--enable-tokenizer' '--enable-xml' '--enable-xmlreader' '--enable-xmlwriter' '--enable-zip' '--with-bz2' '--with-mhash' '--with-pcre-regex' '--with-zlib=/opt/local' '--with-libxml-dir' '--with-curl=/opt/local' '--with-gettext=/opt/local' '--with-libedit=/usr' '--with-readline' '--enable-pdo' '--enable-cli'
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
configure: error: bz2 module requires libbz2 >= 1.0.0
===> Building php-5.4.0...
make: *** No targets specified and no makefile found.  Stop.
Skip tests
Build finished: 0 minutes.
===> Installing...
---> Copying php.ini-development 
Source directory: 
Done!
To use the newly built PHP, try the line(s) below:

    $ phpbrew use php-5.4.0

Or you can use switch command to switch your default php version to php-5.4.0:

    $ phpbrew switch php-5.4.0

あれ!?

configure: error: bz2 module requires libbz2 >= 1.0.0

configureでエラーになる。。。

with-bz2オプションでlibbz2のパス指定すればいいのかなと思って、パラメータで指定してみたがnot definedとなって、パラメータでは指定できないみたい。。。

[suusuke@macbook ~]$ phpbrew -d install php-5.4.0 --with-bz2=/usr/lib/libbz2.dylib 
===> Downloading http://www.php.net/distributions/php-5.4.0.tar.bz2
######################################################################## 100.0%
===> Extracting...
Variant --with-bz2 is not defined.

わからない。。。I don’t know…

追記

libbz2がインストールされてないんじゃないの?とコメント頂いたので、調べてみる。

[suusuke@macbook ~]$ ll /usr/lib/libbz2.dylib 
lrwxr-xr-x  1 root  wheel  16  9 20 02:36 /usr/lib/libbz2.dylib -> libbz2.1.0.dylib

あるよね。。。
ホントに!?

macportsで調べる

[suusuke@macbook ~]$ sudo port installed
Password:
Warning: port definitions are more than two weeks old, consider using selfupdate
The following ports are currently installed:
  apache2 @2.2.10_0+darwin_9 (active)
  ...

macportsには無かった、取り合えずmacportsが古いといっているのでselfupdateしてmacportsで入れてみる。

[suusuke@macbook ~]$ sudo port -d selfupdate
[suusuke@macbook ~]$ sudo port upgrade outdated
[suusuke@macbook ~]$ sudo port upgrade installed

※途中port upgradeでmysqlのアップデートに失敗してmysqlがcleanされてしまい、コンパイルするのに一日費やしてしまった。。。

[suusuke@macbook ~]$ sudo port clean mysql5-devel
[suusuke@macbook ~]$ sudo port install mysql5-devel configure.compiler=llvm-gcc-4.2

コンパイラーをllvm-gcc-4.2するとコンパイルに成功した。

macports自信とライブラリをアップデートしたら、問題なくphpbrew -d install php-5.4.0に成功した。
bz2関連のライブラリが古かったのだろうか。。。。

Xcodeが最新なのにiOS5 SDKがインストールされてない

iOS5 SDKが無いせいで実機にビルド、転送する際にビルドできないとなってしまいました。
※プロジェクトの設定でBase SDKでiOS5(Lastest iOS)が選択できないため
SpotlightでXcodeを検索してInstall Xcodeを実行するとiOS5 SDKインストールできるとどこかのブログに書いてあったので実行したらインストールできました。

iPhone Developer Program 登録

iPhone Developer Program に登録した際の備忘録です。

登録

  • iOS Developer Program – Apple Developer. から [今すぐ登録]から登録を行います。

  • [続ける]をクリック。

  • 既にApple Developerには登録済みだったので、既にアップルデベロッパとして登録済みの方アップルデベロッパとして登録済みで、アップルデベロッパプログラムに登録を希望します。を選択後、[続ける]をクリック。
  • Are you enrolling as an individual or company? 個人用か?法人用か?と聞かれるので個人用(individual)の方[Individulal]をクリック。
  • 登録してあるApple IDで Sing in する。
  • 住所等入力して[Continue]をクリック。
    一応、ローマ字で入力。

  • iOS Developer Programを選択し、[Continue]をクリック。
  • 入力内容を確認して、[Continue]をクリック。
  • 規約を読み、同意したらチェックボックスにチェックして、[I Agree]をクリック。
  • [Add to cart]ボタンをクリック。
  • Apple Store に移動するので、ライセンスを購入する。
    購入手続きが完了すると購入完了のメールが届く。

認証(アクティベーション)

購入完了のメールの後に[ Apple Developer Program Activation Code ] と言うメールが届くので、メール内にあるアクティベーションのリンクをクリックする。
※私の場合は1h後くらいにメールが届いた。

しかし、We are unable to activate your Apple Developer Program membership.というエラーメッセージが表示されてしまって、アクティベーションに失敗する。

これはよくあることのようで、私もApple IDに登録している個人名を日本語で登録していたのでこのようになってしまったようだ。
この個人名はApple Developerページへ変更してもどうしても変更できない箇所であった。

サポートからメール送ってくださいと記載あるので、How to Contact Us – Apple Developer.から

Subject
iOS Developer Program Enrollment Status
Your region
Japan
Request Details
日本語でアクティベーションできない旨と、名前をローマ字表記に修正してくださいと記載(Enrollment IDも記載)

として、メールを送った。

翌日には、

Apple Developer Program のメンバーシップをご購入いただく場合、請求先情報と iOS Developer Program 登録情報を比較するシステムを使用しております。最近いただいたご購入の情報には、購入プロセスが完了せず、保留状態になっておりました。

確認させていただいたところ、保留状態を解除いたしました。お受け取りになった Activation Code メールを再度ご確認いただき、リンクをクリックしたいただくようお願いいたします。アカウントを認証出来るはずです。

というメールが届いていたので、再度アクティベーション行ったところ正常に認証されました。
また、個人名についてもローマ字表記に修正されていました。