Mountain でない Lion へアップグレード覚え書き

はじめに

Mac OS X Mountain Lion が今夏リリース予定とのことだが、今のうちに Snow Leopard (10.6) から Lion (10.7) へアップグレードしておこうと重い腰を上げた。私の MacBook Pro は Early 2008 (2.5GHz Intel Core2Duo) で、もう4年以上使用している。その間一度だけ内蔵 HDD がクラッシュしたが、Time Machine からデータを引き継ぎ、プリインストールされていた Leopard (10.5) からこつこつ更新を繰り返して、いまだ現役である。以下は Lion へのアップグレードの際の覚え書きである。

アップグレード前

AppFresh

Apple software や system の更新確認の他、AppFresh for Mac でアプリケーションの更新を行った。

Fink

Fink は Snow Leopard から直接アップグレードできないらしい。Upgrade Instructions for Mac OS X 10.7 に従う。

$ dpkg --get-selections | cut -f1 > fink_packages.txt

fink_packages.txt にインストールされているパッケージのリストが書き出される。

Macports

Macports も Fink と同様に一旦すべてのポートをアンインストールする必要があるようだ。現在インストールされているポートのリストを myports.txt に書き出しておく (cf. Migration – MacPorts)。

$ port -qv installed > myports.txt

OnyX

OnyX でキャッシュ等のクリーニングを行なっておいた。

https://skalldan.files.wordpress.com/2012/04/wpid-onyx_cleaning1.png

Time Machine

最後に Time Machine で Snow Leopard 最終段階のバックアップを実行。

Lion インストール

AppStore で購入してインストールを実行する。

https://skalldan.files.wordpress.com/2012/04/wpid-lion_install_amrta1.png

アップグレード後

この Mac について

バージョンは 10.7.3。

https://skalldan.files.wordpress.com/2012/04/wpid-about_this_mac.png

OS やアプリケーション、頻繁にアクセスするデータなど読み込みスピードが求められるものは SSD (256GB) に入れているが、大部分のデータは MCE OptiBay Hard DriveKit を利用して光学ドライブを内蔵 HDD (750GB) に変えてそちらに入れている。Time Machine 用ディスク (2TB) は Firewire800 で接続してバックアップしてきたが、これも USB 3.0 や Thunderbolt の登場で今となっては古くなってしまった。

https://skalldan.files.wordpress.com/2012/04/wpid-about_this_mac_disk.png

復元ディスク

Lion 復元ディスクアシスタント を使用して USB メモリ (1GB 以上) に Lion Recovery を作成。

https://skalldan.files.wordpress.com/2012/04/wpid-lion_recovery_disk1.png

Recovery HD はインストール時に起動ディスクにも作成されているので、この USB メモリを差したままで Option キーを押して起動すると以下のように2つ見える。

https://skalldan.files.wordpress.com/2012/04/wpid-recovery_hd_lion.png

Spotlight

起動後 Spotlight が索引作成を行う。

https://skalldan.files.wordpress.com/2012/04/wpid-lion_spotlight1.png

このプロセス (mds) がしばらく CPU を占有する。

iCloud

折角なので iCloud の設定を行う。といっても AppleID とパスワード入力のみ。

Macbook Pro (Amrta) の位置情報を表示する。紛失した場合メッセージを送信できる。

https://skalldan.files.wordpress.com/2012/04/wpid-amrta_icloud_place_011.png

かなり大きな音で知らせてくれる ^^;

https://skalldan.files.wordpress.com/2012/04/wpid-amrta_icloud_place_022.png

AppleID 登録メールへ確認メールが送られてくる。タイムゾーンの設定を忘れていたので変な時間に…

https://skalldan.files.wordpress.com/2012/04/wpid-amrta_icloud_place_032.png

Xcode

Snow Leopard で入れていたものは削除。

$ sudo /Development/Library/uninstall-devtools –mode=all

AppStore から最新版をインストールする。割と時間がかかる。

https://skalldan.files.wordpress.com/2012/04/wpid-xcode_lion1.png

Preferences の Downloads より Command Line Tools も入れておく。

https://skalldan.files.wordpress.com/2012/04/wpid-command_line_tools_lion1.png

Fink

まず古いものは削除しておく。

$ rm -rf /sw

新しく Lion 用にインストールする (cf. Fink – Source Release Download)

fink configure を行うと途中で以下のメッセージ。unstable tree はなくなったとのこと。

Note: As of the OS X 10.7 distribution, fink no longer has a separate “unstable” tree. All development and releases happen in the “stable” tree, the only public tree that exists.

selfupdate を行なって、 Snow Leopard でのパッケージをインストールする。

$ fink selfupdate-rsync
$ cat fink_packages.txt | xargs fink install

しかしいくつかのパッケージは見つからないというメッセージが出る。

Failed: no package found for specification ‘hogehoge’!

これが決して少なくない。Lion 未対応パッケージはまだたくさん残されているようだ。そもそも Fink と以下の Macports を併用するのはよくないだろうし、果たして Fink を使い続けるべきか…

Macports

同様にまずは古いポートをアンインストールして /opt/local や関連するディレクトリを削除する (cf. Uninstall)。

$ sudo port -fp uninstall --follow-dependents installed
$ sudo rm -rf 
    /opt/local 
    /Applications/DarwinPorts 
    /Applications/MacPorts 
    /Library/LaunchDaemons/org.macports.* 
    /Library/Receipts/DarwinPorts*.pkg 
    /Library/Receipts/MacPorts*.pkg 
    /Library/StartupItems/DarwinPortsStartup 
    /Library/Tcl/darwinports1.0 
    /Library/Tcl/macports1.0 
    ~/.macports

Download & Installation から Lion 用の dmg disk image をダウンロードし、インストーラーを実行する。

https://skalldan.files.wordpress.com/2012/04/wpid-macport_install.png

ポートの再インストールに関しては、先に作成した myports.txt から復元するスクリプト (Experimental) が用意されているので利用してみた。

$ curl -O http://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl
$ chmod +x restore_ports.tcl
$ sudo ./restore_ports.tcl myports.txt

【追記 2012/04/03】 すごく時間がかかったが、最後まで更新が完了した。途中エラーが出たが myports.txt から conflict を起こしているポートを削除して対処した。

MAMP

MAMP (Mac + Apache + MySQL + PHP or Perl) 環境は Mac OS X の場合 MySQL 以外標準でインストールされている。MySQL は Snow Leopard では Macports で入れていたので、Lion でも同様に Macports のものを使用する。構築の詳細は howto/MAMP – MacPorts 参照。

MySQL のテスト。

$ mysql5 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 3
Server version: 5.1.61-log Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> use test;     # <-- database test 使用
Database changed
mysql> create table test(num int, name varchar(50));   # <-- table test 作成
Query OK, 0 rows affected (0.04 sec)

mysql> insert into test values(1,'foobar');    # <-- foobar 登録
Query OK, 1 row affected (0.01 sec)

mysql> quit
Bye

PHP のテスト。

$ cat /Library/WebServer/Documents/phpinfo.php
<?php
phpinfo();
?>

ブラウザで http://localhost/phpinfo.php へアクセス。

https://skalldan.files.wordpress.com/2012/04/wpid-phpinfo_test.png

Perl + MySQL もテスト。以下は 動作テスト用ファイルサンプル より。

#!/opt/local/bin/perl

use DBI;
$conn = &ConnectDB;

print "Content-type: text/htmlnn";
print "<html><head><title>CGI-Perl  DBI:MySQL TEST</title>n";
print "<meta http-equiv='content-type' content='text/html; charset=utf-8'>n";
print "</head><body><h2>DB接続テスト(CGI-Perl DBI:MySQL版)</h2>n";

$sql = "select * from test";
$sth = $conn->prepare($sql);
$ref = $sth ->execute;

for($i=0;$i<$ref;$i++){
    ($id,$name) = $sth->fetchrow_array();
    print "$id / $name<br>n";
}

$sth ->finish;
$conn->disconnect;

print "$err</body></html>n";

exit;

sub ConnectDB{
    $db_user = 'ユーザ名';    # 適宜変更
    $db_name = 'test';
    $db_pwd  = 'パスワード';    # 適宜変更

    $conn = DBI->connect("DBI:mysql:".$db_name, $db_user, $db_pwd);

    if($conn->errstr != ""){
        $err = $conn->errstr;
    }
    return($conn);   # 全角になっている ("$") ので注意。半角だと Emacs Org Mode で Export できない...
}

ブラウザで以下のように表示されればOK。

https://skalldan.files.wordpress.com/2012/04/wpid-cgi_perl_mysql_sample.png

Emacs

よい機会なので Emacs 24 を入れてみる。Emacs 24.0.95 pretest に基づいた Emacs 24 Mac port (emacs-24.0.95-mac-2.91.tar.gz) を以下から入手した。

$ git clone git://git.savannah.gnu.org/emacs.git
$ tar zxf emacs-24.0.95-mac-2.91.tar.gz
$ cd emacs
$ ./autogen.sh
$ patch -p0 < ../emacs-24.0.95-mac-2.91/patch-mac
$ cp -r ../emacs-24.0.95-mac-2.91/mac .
$ cp ../emacs-24.0.95-mac-2.91/src/* ./src/
$ cp ../emacs-24.0.95-mac-2.91/lisp/term/mac-win.el ./lisp/term/
$ ./configure --with-mac --without-x
$ make
$ sudo make install
$ mv ./mac/Emacs.app /Applications/
$ open -a Emacs.app

https://skalldan.files.wordpress.com/2012/04/wpid-emacs24_lion_mac_port.png

デフォルトの icon は Color Gnu Head だが、変更したい場合は /Applications/Emacs.app/Contents/Resources/Emacs.icns を好きなもので上書きする。

https://skalldan.files.wordpress.com/2012/04/wpid-emacs_icon.png

Mew

Mew も更新する。

$ git clone git://github.com/kazu-yamamoto/Mew.git
$ cd Mew
$ ./configure --with-emacs=/Applications/Emacs.app/Contents/MacOS/Emacs --with-lispdir=/usr/local/share/emacs/site-lisp
# ... (中略) ...

***************************
 Mew configuration results
***************************

use emacs             : /Applications/Emacs.app/Contents/MacOS/Emacs
elisp files should go : /usr/local/share/emacs/site-lisp/mew
etc files should go   : /usr/local/share/emacs/site-lisp/mew/etc
exec files should go  : /usr/local/bin
info files should go  : /usr/local/share/info
man files should go   : /usr/local/share/man/man1
$ make
$ sudo make install
X-Mailer: Mew version 6.5rc1 on Emacs 24.0.95 / Mule 6.0 (HANACHIRUSATO)

iCloud のメールの設定。

(setq mew-config-alist
      '(("default"
         ;; ... DEFAULT SETTING ...
         )
        ("iCloud"
         ("user"               . "USERNAME")
         ("mail-domain"        . "me.com")
         ("mew-proto"          . "%")
         ("imap-server"        . "imap.mail.me.com")
         ("ssl-verify-level"   . 2)
         ("ssl-cert-direcroty" . "~/.certs")
         ("imap-ssl"           . t)
         ("imap-ssl-port"      . "993")
         ("imap-user"          . "USERNAME@me.com")
         ("imap-auth"          . t)
         ("imap-delete"        . nil)
         ("use-smtp-auth"      . t)
         ("smtp-port"          . "587")
         ("smtp-server"        . "smtp.mail.me.com")
         ("smtp-user"          . "USERNAME@me.com")
         )))

Kyoko

日本語音声読み上げ「Kyoko」で遊ぶ (音あり、注意)。

その他もろもろ

Lion では標準の辞書.app のポップアップ表示が見やすくなっている。呼び出しも Command-Control-D の他、三本指ダブルタップでも行える。

https://skalldan.files.wordpress.com/2012/04/wpid-lion_dictionary1.png

他にも Quick Look から標準アプリケーションへのジャンプや、Terminal での右クリックから man ページ参照機能など、少し使用してみた限りでも細かい変更で便利だなと感じるところがある。

ヒラギノフォント (ProN/StdN) が Ver.8.10 となり IVS(異体字シーケンス)対応となっている。また、いくつかの言語サポートも拡張されたようである (cf. Lion 新機能)。例えば、デーヴァナーガリー文字は、Snow Leopard では唯一 Devanagari MT (AAT フォント) でのみ正しくレンダリングが行われていたが、Lion ではさらに多くのフォント (Chandas, Sanskrit 2003, Lohit Hindi など) が利用できるようになっているようである。

おわりに

この記事を書いている現在も後ろでは Spotlight の索引作りと Macports の更新が終わっておらずかなり CPU を占有している。アップグレードは予想していたほど大変ではなかったけれど、それでもやはりまったく楽な作業というわけでもなかった。現在のところ順調に動作しているように思うが、この先は分からない…

One thought on “Mountain でない Lion へアップグレード覚え書き

  1. Good day! This is my 1st comment here so I just
    wanted to give a quick shout out and say I truly
    enjoy reading through your articles. Can you recommend any other blogs/websites/forums
    that deal with the same subjects? Thanks!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s