CPAN::Mini をインストール

| コメント(0) | トラックバック(0) | このエントリーを含むはてなブックマーク
CPAN::Mini Install

時間が出来たんで前々から気になってたモジュール CPAN::Mini をインストールしてみた。年末にかけて外に出かける事が多くなりそうなんで、開発環境が全てローカルにあった方が良さそうだって思ったのが理由だけど、僕自身ヘビーにモジュール使う方ではなかったりするw

Perl は今現在10,000個以上のモジュールがあるみたいなんだけど、最新版が全部ローカルで保持出来るモジュールがあって、それがこの CPAN::Mini らしい。miyagawa さんが DECON でしゃべってくれたんで知ることが出来たんですけど、ネットに繋がらない環境にいるときにモジュールが必要になったとかいう場合に役に立つんでしょうね。ネットに繋がる状況にあってもローカルに保持していればインストールも早くなるって利点もありそう。

CPAN::Mini を cpan shell でインストール

とりあえず MacOSX で環境ですけど、インストールしなきゃ始まらないので Terminal から

% sudo cpan
cpan> install CPAN::Mini

モジュールをローカルにダウンロード

CPAN::Mini には minicpan っていうコマンドが付いてくるのでそれを実行して落としてくるんだけど、半日かかったって人がいたんで僕は時間のあるときにやろうって思ってました。

% mkdir minicpan
% minicpan -r http://ftp.cpan.jp/ -l ~/minicpan

とりあえずディレクトリを作ってそこにダウンロード。僕は日本のサイトを選択したんでダウンロード自体は1時間半で済みました。ちなみにミラーのサイズは 639.9MB でした

cpan shell で minicpan を使うように設定

cpan> o conf urllist unshift file:///Users/Ashizawa/minicpan
cpan> o conf commit

これで cpan shell を起動してもローカルからインストールするようになる。余談ですが、Mac は気持ち悪いことに home ディレクトリがないんですよねぇ。

cron で定期的に同期させる

基本的に同期はローカルにダウンロードした時と同じコマンドを使えばいいみたいなんだけどいちいち手動でコマンドを打つのは面倒なんで cron を使って定期的に実行させます。っでここからが問題で Mac で cron を使う設定とかって探したんだけどなかなか見つからないんですよね。基本的には Linux と同じでいいのかなぁって思ったんですけど /etc/init.d/cron, /etc/rc.d/init.d/cron とかってのも無くて、/etc/xinetd.d/ の中も空っぽ。っでわかったのは OS 10.4 からは launchd ってので起動するらしいです。たぶんこれが xinetd の代わりなんでしょう。フルパスだと /System/Library/LaunchDaemons に設定ファイルがあるらしい。中を覗くと XML 。しかもはじめから起動するようになってる。プロセスみるとすでに cron も起動してるしw どうやら OS 10.4 以上はデフォルトで起動してるみたいです。

ってことで .crontab 書くことにしました。

% emacs .crontab
0 0 * * * /usr/local/bin/minicpan -r http://ftp.cpan.jp/ -l /Users/Ashizawa/minicpan
% crontab .crontab

っとやって毎日0時0分に同期してみることにします。

% crontab -l

再起動後、上記のコマンドを打って確認したところちゃんと反映されていたのでたぶん大丈夫でしょう。まぁ0時0分に PC を起動しておかないといけないんですけど、それぐらいだったら起きてると思うしw

これで一応完了。

cron を GUI で設定

Cronnix

どうやら Mac には cron を GUI で設定するためのアプリがいくつかあるようです。僕は確認のために CronniX っていうアプリ入れてみました。Mac で cron 使うのにはカレントディレクトリの .crontab で設定すれば十分みたいなんですけど、GUI の方が好きだって人はどうぞ。

参考リンク

トラックバック(0)

トラックバックURL: http://www.hasta-pronto.org/mt/mt-tb.cgi/92

コメントする