Glide Note

glidenote's blog

Rudixを利用して、Xcodeの無いMacにUnix系ソフトウェアを導入する

Rudix: The hassle-free way to get Unix programs on Mac OS X

MacでUnix系のソフトウェアを利用するときはHomebrewかMacPortsなどを利用するのが一般的かと思いますが、 両方ともXCodeを必要として、MBAといったディスク容量の少ないモデルだと、容量バカ食いのXCodeを入れるのはためらわれます。

私自身、HDD容量に余裕のあるMac miniにはXCodeとHomebrewを入れていますが、MBAにはディスク容量の問題からXcodeを入れていません。 (そもそも外部サーバにssh接続して、作業しているのでMacでコンパイル作業しないってのもありますが)

しかしながらXcodeを入れてないMacでもrsync3系やtmuxなど、Unix系のソフトウェアを利用したい事が少なからずあるので、 そんな時に利用するのがRudixです。

Rudixの仕組みとしてはあらかじめMac用にコンパイルされたUnix系ソフトのpkg、dmgファイルを用いてソフトウェアを導入するので 非常に軽快に動作し、Xcode自体も不要です。

Rudixの特徴

Rudixの特徴としては下記のような事項が挙げられています。

  • LionとSnow Leopard用に設計
  • すべてのパッケージが依存関係を解決している(必要なライブラリなどはパッケージに含まれているので、インストールするだけで利用可能)
  • 幅広いパッケージの選択肢
  • パッケージがすぐに利用可能(コンパイル作業不要)
  • Webとコマンドラインの両方で利用可能

イメージとしては私が普段利用しているRHEL系OSのyumに近いです。

Rudixの導入

1
2
3
4
mkdir ~/src
cd ~/src
curl -O http://rudix.googlecode.com/hg/Ports/rudix/rudix.py
sudo python rudix.py install rudix

zshの場合は下記を実行して、rudixを認識させましょう

1
exec $SHELL

Rudixの利用方法

ソフトウェアの検索

1
sudo rudix search <package-name>

たとえばrsyncを検索してみると下記のような感じ。

1
sudo rudix search rsync

ソフトウェアのインストール

1
sudo rudix install <package-name>

Rudixを利用してrsyncを導入してみた場合は下記のような感じ。 あらかじめコンパイルされたパッケージを導入しているので、早いです。

1
2
3
4
5
6
7
8
sudo rudix install rsync

Downloading rudix.googlecode.com/files/rsync-3.0.9-0.pkg
######################################################################## 100.0%
installer: Package name is Rsync 3.0.9
installer: Installing at base path /
installer: The install was successful.
All done

すると/usr/local/bin/ の下に導入されます。

zshを利用している場合は

1
exec $SHELL

とか実行しないとpathを認識しないです。

Rudixで管理しているソフト一覧表示

1
sudo rudix list

ソフトウェアのアンインストール

1
sudo rudix remove パッケージ名
1
2
3
4
5
sudo rudix remove rsync

もしくは

sudo rudix remove org.rudix.pkg.rsync

Rudixのオプション

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Rudix Package Manager -- RPM ;D

Usage:
rudix [help|version|list|remove-all|verify-all|update|interactive]
      [info <package-id>|files <package-id>|install <package-id>|remove <package-id>|search <package-id>|owner <path>|verify <package-id>|fix <package-id>]

rudix [-h|-v|-l|-R|-K|-u|-z]
      [-I <package-id>|-L <package-id>|-i <package-id>|-r <package-id>|-s <package-id>|-S <path>|-V <package-id>|-f <package-id>|-n <package-id>]

List all installed packages (package-id) unless options are given, like:
  -h    This help message
  -v    Print version
  -l    List all installed packages (package-id, version and install date)
  -I    Print package information (package-id, version and install date)
  -L    List package content
  -i    Install package (download if not a file)
  -r    Remove package
  -R    Remove *all* Rudix packages installed (ask to confirm)
  -s    List available versions for package-id
  -S    Search for <path> in all packages and print if matched
  -V    Verify package
  -K    Verify all installed packages
  -f    Fix (repair) package
  -n    Download and install package (remote install)
  -u    Download and install all updated packages (remote update)
  -z    Interactive mode (type exit to quit)

Where <package-id> is either org.rudix.pkg.<name> or <name>.

パッケージ数がHomebrewに比べると少ないですが、下記のようにもっとパッケージ欲しいなら他のパッケージ管理システムを利用しろと公式でも書いてありますし、 主要なUnix系のソフトはRudixに揃っているので、私はだいたいはこれで十分です。

I dislike Rudix. Is there any alternative?

We recommend Homebrew if you need more packages than we have or just dislike Rudix. There are other package systems for Mac OS X if you want also:

* MacPorts
* Fink

また下記ページから各種pkgとdmgの検索とダウンロードも出来ます。

yumやaptのような使い方でわかりやすいですし、Xcodeも必要無いので、ローカル環境をクリーンに保つという意味でもSSD容量の少ないMacBook Airでめちゃくちゃ重宝してます。

Comments