OS X Mavericks → Yosemite

カテゴリ: Mac OS X

Mac OS X Mavericks (10.9.5) から Yosemite (10.10) へのアップグレードについて。

AppStore なり Homebrew なりのパッケージその他を一通り最新にしておく。
TimeMachine で一通りバックアップをとっておく。

AppStore から Yosemite をインストールする。

Homebrew や TeX Live などのファイルが /usr/local にあると、インストールに猛烈に時間が掛かる。
「残り2分」の表示で2時間ほど待たされた。待てば終わるので、寝てる間にアップグレードさせるのがよい。
待てない人は Qiita へ。

アップグレード後は brew doctor できないので Command Line Tools を手でインストール。

$ xcode-select --install

XQuartz をアップデートする。AppStore のアプリをアップデートする。その他いろいろアップデートする。

VMware Fusion 5 は Yosemite では動かない。
その点を除けば、手元の環境ではとりあえず安定して動いているし、データや設定の消失もなさそう。

何かあればまた書き足します。

2014/10/18 (土)

Mavericks で UnixBench 5.1.3

カテゴリ: Mac OS X

言わずと知れたUnixBenchはLinux環境ではそのまま動かせることが多い。
それがBSD系OSになるとちょっと難しい。
この記事ではMac OS X Mavericks で UnixBench 5.1.3 を動かす。

結論

$ wget https://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz
$ tar xzvf UnixBench5.1.3.tgz
$ git clone https://gist.github.com/11033924.git
$ cd UnixBench
$ patch -p1 < ../11033924/UnixBench5.1.3.mavericks.patch
$ make
$ ./Run

続きを読む »

2014/4/18 (金)

Mac OS X Mavericks の NTP

カテゴリ: Mac OS X

最近気づいたのだけど、Mac OS X Mavericks の標準 ntpd は使い物にならない。
起動した直後は正しい時刻に修正してくれるが、その後の同期を全然してくれない。
OS を起動しっぱなしにしていると、数秒〜1分程度はすぐずれてしまう。

この問題に言及した記事はたくさん見つかる。例えば、

などがそれである。

ntpd の再起動をかければ「直る」なんてのは話にならないし、
ntp.conf で minpoll と maxpoll を明示したところで
デフォルト値とは変わらないのだから実質的に意味が無いとしか思えない。
したがって、ntpd を自分でコンパイルしてインストールするのが最も確実である。

なお、本稿執筆時点で最新の安定版 4.2.6p5 は、Mavericks ではうまく動かないように見える。
私の環境 (Mavericks/Macbook Air) で試したところでは、
ntpq -p で localhost の ntpd につながらなかった。

一方、開発版 4.2.7p439 ではうまくいくように見える。
自分でダウンロードして手動で configure && make してもいいが、
先の記事にあるように Homebrew を使って
インストールするほうがよっぽど楽であるように思える。
私の書いたものも github にあげておいたので、

$ brew install barusan/app/ntp-dev

とすればするっとインストールできるはず。
これは自分も使うので、今後最新版が出るたびに Formula を書き換えるつもりでいる。

$ brew tap barusan/app

しておけば、update して最新版が見つかった時に upgrade できる。
三日坊主になっていても怒らないでください。

消すときは brew uninstall 一発で済みます。

Homebrew を使うにせよ、自力で configure && make するにせよ、
めでたく /usr/local 以下にインストールできる。それはよい。
しかし Mavericks は起動時に /usr/sbin/ntpd を絶対パスで起動してしまう。
/usr/sbin/ntpd を自分でコンパイルした最新版に置き換えるか、
OS 起動時に /usr/local/sbin/ntpd を起動させるかする必要がある。

Mavericks 起動時に ntpd を起動する設定は
/System/Library/LaunchDaemons/org.ntp.ntpd.plist
にある。これを見ると、
/usr/libexec/ntpd-wrapper
というラッパースクリプトを実行することで ntpd を起動させていることがわかる。
このスクリプトの最後に

exec /usr/sbin/ntpd -c /private/etc/ntp-restrict.conf -n -g -p /var/run/ntpd.pid -f /var/db/ntp.drift

なーんて記述があるので、
これを /usr/local/sbin/ntpd に書き換えてやればうまくいった。

2014/4/05 (土)