MacPortsを掃除する
にゃんこ先生のジャンボぬいぐるみを購入して、毎日もふもふしているわさびです。今回はタイトルの通り、MacPortsの掃除のお話です。
きっかけ
先日、MacBookさんのHDDの空き容量が1.16GBという危機的状況になりました。いろいろソフトウェアを削除しても、すでに何度も掃除をしていたので、ほとんど変わらず、頭を悩ませていました。そして、ふと思ったのが、
「よく考えたら、MacPortsのダウンロードファイルとか全然掃除いてないんじゃね?」
ということです。
MacPorts利用のスタンス
自宅で使っているMacBookはほとんど個人で利用してるため、ソフトウェアのバージョンはなるべく最新のものを利用しているだけで、ほとんど特定バージョンへのこだわりはありません。*1なので、MacPortsでインストール済みのソフトウェアで2種類以上のバージョンの同一ソフトウェアがインストールされていたら、古いバージョンのものはいらないのでは?ということになります。
MacPortsの何をどうして掃除できるのか
掃除について触れる前に、ソフトウェアのインストールとアップグレードについてです。
MacPortsを用いてソフトウェアをインストールする仕組み
MacPortsを用いてソフトウェアをインストールする場合、内部的にやっていることは、大まかには以下の3点だと思います。
インストール作業が終了すれば、ダウンロードしたソースコードと、コンパイルしたものはいらなくなりますね。これは掃除できそうです。でも、それだけじゃないんです。
MacPortsを用いてソフトウェアを更新する仕組み
今まで僕は、以下のようなport_upgrade.shを作っておいてソフトウェアを更新してきました。
port selfupdate port sync port outdated port upgrade installed
やっていることは至ってシンプルで、
- MacPorts自体のアップグレード
- Portsツリーの更新
- アップグレードされるパッケージの表示
- パッケージのアップグレード
だけです。
上記のようなport_upgradeスクリプトを用いると更新を完全に自動化できるわけですが、あるソフトウェアAのバージョン1.14から1.15へのアップグレードの際に、MacPortsは古いバージョン(1.14)を削除しません。インストールした新しいバージョン(1.15)はアクティブという状態になり、古いバージョンはインアクティブという状態になります。コマンドを打って使われるのはアクティブなソフトウェアです。古いバージョンのソフトウェアを利用したければ、新しいバージョンをインアクティブにして、古い方をアクティブにすれば、アップグレード後に不具合があっても、もとの環境に戻すことができるようです。親切なんだけど、僕の利用方法だとあまり古いソフトウェアに戻すことは少ないような気がします^^;
インアクティブなソフトウェアの削除と不要ファイルの掃除
というわけで、作成したのが以下のport_clean.sh。
port -u uninstall port clean --all installed
上記のスクリプトでは、
- インアクティブなソフトウェアのアンインストール
- インストール済みソフトウェアのソースコードと作業ファイルを削除
という流れをやっています。
掃除の結果
# sudo sh port_clean.sh
というコマンドを用いて、空き容量は1.16GBから15GBに増加したのでした。
これで当分もちそうです。いらないインアクティブなソフトウェアはたまには掃除しないといけませんね。*2
ちょっと更新
更新するのを忘れてたので、今更更新
zshrc
zshの設定 - aircastle.py
ssh時に新しいscreenを開くなどなど
.vimperatorrc
今更だけどvimperatorが便利すぎる. - aircastle.py
colorscheme,hintcharsなどなど
自分の.emacs.d以下を公開してみた。
需要があるのかどうかわかりませんが、.emacs.d以下の掃除をやりきったついでに公開してみました。*1
http://github.com/aircastle/dot-emacs-dot-d
使い方は、至って簡単(?)で、
1. .emacs.dをgit cloneします。(~/.emacs.dの上書きに注意)
$ git clone git://github.com/aircastle/dot-emacs-dot-d.git ~/.emacs.d
2. .emacsをコピーします。
$ cp ~/.emacs.d/dot-emacs ~/.emacs
3. elispフォルダを作ります。
$ mkdir ~/.emasc.d/elisp
4. install-elisp.elをインストールします。
$ wget http://www.emacswiki.org/cgi-bin/wiki/download/install-elisp.el ~/.emacs.d/elisp/
5. emacsを起動します。
$ emacs
6. ~/.emacs.d/update-elisp.elを開いて、ほしいelispの行でC-x C-eします。*2
7. 自動的にファイルが開くので、C-c C-cしてインストールします。
8. .emacsの所定の行のコメントアウトをはずします。
もうちょっとわかりやすくなるようになんとかします。
*2:コメントアウトしてあるところは、install-elispでインストールできないです、多分
あればいいなと思うもの
anything.elで特定の行をpatternにコピペ
findfileでanythingを起動させて、patternを打ち込んだ際に、候補に挙がってきたものをpatternに一発でコピペしたい。長いパスのものを開きたいけど、開きたいファイルと同一ディレクトリの別ファイルしか候補に上がってこないときになど。こういうのってあるのかしら。locate dbとかでなんとかするしかないのかなぁ。
ML115のケースファンを交換する
知人に,新品のアップルのワイヤレスキーボード*1をいただいて,
すっかり慣れてしまった山葵です.慣れると別にHHKじゃなくてもいいかなと思ってしまいます.
さて,自宅のML115マシン2台のファン音があまりに五月蠅いので,
前々からケースファンを交換したいと思っていました.
しかし,鎌風にすべきか鎌風2にすべきか迷い,今回は*2実験的に鎌風2を買ってきて交換.
ちょっと面倒な上,Web上に写真付きのよい資料がなさそうだったので,
書いておきたいと思います.おそらくML115でも有効です.
買ったファン
今回使うファンは,以下の鎌風2です.
サイズ ファンコン付き流体軸受け9cmケースファン 【鎌風2の風92(KKF92-01)】
- 出版社/メーカー: サイズ
- メディア: エレクトロニクス
- クリック: 14回
- この商品を含むブログ (2件) を見る
ケースファンのカバーを外す
ケースからケースファンを取り外し,ケースファンのカバーを外します.
送風面から見た限りは外し方が全くわかりませんが,横から見ると四隅に接続部分があるのがわかります.
接続部分の輪になったところにマイナスドライバなどを入れ,送風面に向かって押すとロックが外れます.
これでケースファンのカバーが外れるので,買ってきた鎌風2にカバーを取り付けます.
読書の秋
今月の頭くらいにがっつり購入し,暇があれば読んでいます.
- 作者: 茂木健一郎
- 出版社/メーカー: 筑摩書房
- 発売日: 2008/02
- メディア: 新書
- 購入: 5人 クリック: 250回
- この商品を含むブログ (105件) を見る
- 作者: 金益見
- 出版社/メーカー: 文藝春秋
- 発売日: 2008/02
- メディア: 新書
- 購入: 6人 クリック: 518回
- この商品を含むブログ (102件) を見る
- 作者: 広瀬雄二
- 出版社/メーカー: カットシステム
- 発売日: 1999/01
- メディア: 単行本
- 購入: 4人 クリック: 145回
- この商品を含むブログ (30件) を見る
- 作者: ポールグレアム,野田開,Paul Graham
- 出版社/メーカー: オーム社
- 発売日: 2007/03
- メディア: 単行本
- 購入: 10人 クリック: 146回
- この商品を含むブログ (124件) を見る
- 作者: 北研二,津田和彦,獅々堀正幹
- 出版社/メーカー: 共立出版
- 発売日: 2002/01
- メディア: 単行本
- 購入: 6人 クリック: 552回
- この商品を含むブログ (38件) を見る