以下の手順は、もう一台PCがある状態で行なう必要があると思う。 出来れば、そのもう一台はMacの方が安心。
無事にクリーンインストール出来たとしても、とても長い時間がかかるので、 やっぱりもう一台PCが無いと大変かも。
OSX El Capitan クリーンインストールの問題
10月1日に一般公開された OS X El Capitan。
クリーンインストールすると、Homebrew をインストールできない (/usr/local を作れない) という、重大な問題があった。 普段 Homebrew のみで作業していると言っても良い位なので、これは深刻。
公開から数日たって、それなりの手間をかければクリーンインストールでも /usr/local を作って、Homebrewをインストールできることが確認できたので、 ここはクリーンインストールし直してみようと思う。
MacBookAir は、 Snow Leopard/Merberick/Yosemite と上書きインストールして来てるし、 El Capitanの上書きインストールで 5GB の空きが増えたとは言え、 SSDの半分以上を BootCamp にあててしまっていて容量が不安だったので。
インストールメディアの作成
Air の(間違えた)インストールが終わる気配がないので、 母艦の方にダウンロードしてあるイメージからインストールメディアを作成する。
USBメモリをフォーマットして、下のコマンドを実行する。
sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/UNTITLED/ --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction
USB2.0の安いUSBメモリだと、30分ほどかかった。
やっと完成したUSBメモリを刺して、optionキーを押しながら再起動する。
USBメモリを指定してインストールを開始したら、 BootCampじゃない方のパーテーションを指定して、 さらにインストールを進める。
一番の課題 Homebrew とクリーンインストールの解決策
El Capitanは、システムディレクトリの扱いが厳しくなっている。 SIP/rootless と言うらしい。 これが、 Homebrew のインストール先 /usr/local にも影響する。
通常のLinuxでは /usr/local というのは半分ユーザに開放されている様な物だけど、 /usr が SIP/rootless の管理範囲内なので、 /usr/local を作れないために、 Homebrewのインストールが出来なくなってしまう。
予め /usr/local がある場合には、El Capitanのインストーラが良きに図らってくれる。 ただ、その場合でも、 /usr/local の量が多いとインストールに時間がかかるらしい。
ちなみに、母艦ののMacBookProの /usr/local の使用量は、1.7GBもあった。 ほぼ同じ環境を作っているAirの方も大差ないはず。
クリーンインストールの場合、 /usr/local を作る方法が無いので困ったことになる。
対策方法は、 homebrew のGitHubに紹介されている。
El Capitan & Homebrew からの引用
This is how to fix Homebrew on El Capitan if you see permission issues:
If /usr/local exists already:
sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local If /usr/local does not exist:
Reboot into Recovery mode (Hold Cmd+R on boot) & access the Terminal. In that terminal run: csrutil disable Reboot back into OS X Open your Terminal application and execute: sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown $(whoami):admin /usr/local && sudo chown -R $(whoami):admin /usr/local Reboot back into Recovery Mode & access the Terminal again. In that terminal execute: csrutil enable Reboot back into OS X & you’ll be able to write to /usr/local & install Homebrew.
リカバリーモードでなら (そして長ったらしいおまじないを使うと) /usr/local を作成できるとのこと。
都合4回リブートする必要があるけど、最初の一回だけなので我慢しよう。
XCodeとCommand Line Toolsのインストール
Homebrewに必要なので、XCodeとCommand Line Toolsをインストールし、 一回起動してライセンスを許諾しておく。
Dropbox のインストール
Homebrewのインストール前に、諸々の設定ファイルを収めてある Dropboxをインストールしてサインインし同期を始める。
Homebrew/Homebrew-caskのインストールとgccの再ビルド
まず、というかやっと、 Homebrew とCaskをインストール。
Airは 2coreなんだけど、画像処理もちょいちょいさせるので、 gccでOpenMPを使えるようにしておく。
ruby -e ""$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"" brew install caskroom/cask/brew-cask brew reinstall gcc --without-multilib
OpenMPは使えるようになる代りにmultilibが使えなくなる。 今更32bitバイナリが必要にはならないだろうけど。
emacs csv HEAD のインストール
DropBoxの同期作業が終るのを待ちつつ、 Homebrew とemacsをインストール。 emacsが無いと、この後の作業の捗り方が全然違うので。
ビルドが終わるまでには、Dropbox にある.emacs.d などの同期も完了しているはず。
emacs は、 Windowsも含めて 25.0.50を使っているので、 Homebrewでは
brew install emacs --HEAD --use-git-head --with-cocoa --with-gnutls --with-rsvg --with-imagemagick brew install emacs --HEAD --use-git-head --with-cocoa brew update brew unlink emacs brew uninstall emacs brew install emacs --HEAD --use-git-head --cocoa --with-gnutls --with-rsvg --with-imagemagick brew linkapps
バージョンは殆ど変化なし。 今回: 前回:GNU Emacs 25.0.50.1 (x86_64-apple-darwin14.3.0, NS appkit-1347.57 Version 10.10.3 (Build 14D136)) of 2015-05-05 on MacBookPro.local
cd /Applications ln -s /usr/local/opt/emacs/Emacs.app .
Spark でショートカットキーを設定するため、 下記の通り Emacs.appをApplicationに登録しておく。 地味だけど、これで作業効率が劇的に改善する。
ホスト名の確認
emacsの設定をホスト名で切り替えているのだけれど、 OSを変えると微妙にホスト名が変わってしまう場合がある。
名前を確認して .emacs に反映しておく。
CtrlとCapsLockの入れ替え
これやっとかないと、emacsの効率半減なので。
キーボードショートカットアプリ Spark のインストール
巷では BetterTouchTool が人気だけど、極シンプルな Sparc の方が好み。
Chrome/ターミナル/Emacsを、以前と同じキーボードショートカットキーに登録すれば、まずは十分。
キーリピートを最速に変更
MacBookの標準のキーリピートでは emacs が使い難いので、 システム環境設定→キーボードで、キーのリピートを一番速い設定、 リピート入力認識までの時間を一番短かい設定に変更しておく。
Homebrew で Chromeをインストール
emacsの次にChromeが無いと、あれこれ不便なので、先にイントールしておく。
brew cask update brew cask install google-chrome
Opera12をインストール
未だにRSSリーダとして使っている opera12.16 をいれておく。
pythonで諸々の追加インストール
Yosemiteのpythonはちょっと古かったけど、El Capitan のはどうかな? 管理が面倒なので、やっぱり Homebrew のPython で一本化しておこう。
brew install python pip install pandas matplotlib scipy numpy
バージョンは、いい加減 python3に揃えた方が良いかもなぁと思いつつ、 AirのHomebrewはpython2だけにしておこう。
ImageMagickの再ビルド
brew reinstall imagemagick --with-x11
Homebrew で Firefox/Opera/Blender をインストール
brew cask update brew cask install blender gimp firefox --force # brew cask install opera # brew cask install java jenkins xquartz googleappengine --force
Sphinx(ドキュメントの方)をインストール
うっかり Homebrew の別のSphinxをインストールしそうになるけれど、 ドキュメント作成の Sphinx は pipでインストールする。
pip install Sphinx pip install blockdiag sphinxcontrib-blockdiag pip install seqdiag sphinxcontrib-seqdiag pip install actdiag sphinxcontrib-actdiag pip install nwdiag sphinxcontrib-nwdiag pip install tk.phpautodoc
OpenCV3をインストール
# brew install opencv --with-eigen --with-jasper --with-libtiff --with-qt --with-tbb --with-ffmpeg --with-opencl # brew reinstall opencv --with-ffmpeg --with-jasper --with-qt --with-tbb --HEAD brew uninstall opencv brew install opencv3 --with-ffmpeg --with-jasper --with-python3 --with-qt --with-qt5 --with-tbb --without-tests --HEAD echo /usr/local/opt/opencv3/lib/python2.7/site-packages >> /usr/local/lib/python2.7/site-packages/opencv3.pth
前回 OpenCVをインストールした時、ちょっとあったので バージョンを確認しておく。
$ python Python 2.7.10 (default, Jun 2 2015, 00:10:05) [GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin Type ""help"", ""copyright"", ""credits"" or ""license"" for more information. >>> import cv2 >>> cv2.__version__ '3.0.0-dev' >>> exit(0)
Jenkins をインストール… は今回はなし
毎日酷使しているせいか、気持ちバッテリの持ちが短かくなってきたので、 今回からはJenkinsは入れないことにした。
最近はテストランナーでテストするので、Jenkinsの出番も減ってきていたし。
とりえあず完了
El Capitanにしたからと言って、特に変わった事はないかな。
Wifiの再接続が購入時より遅くなった印象は変わらず。