cyg-aptの使い方。

自分自身cyg-aptのすべての機能を把握しているわけではないですが、とりあえず2つ3つコマンドを覚えておけば普段使う分には困らないので、簡単に使い方など解説しようと思います。

準備

cyg-aptを動かすためには wget コマンド、python インタプリタが必要です。
あらかじめ setup.exe などからインストールしておきます。

また、インターネットへ接続するためにプロキシを経由する必要があるなら、以下のように環境変数を設定します。(サーバ名、ポートは環境に合わせて変更する必要があります)

設定例

export http_proxy=http://proxy.host.com:8080/

この環境変数はいろいろなコマンドで有効なので、.bashrcとかに書いておくといいと思います。

ダウンロード

以下のように、/usr/local/bin 配下に cyg-apt2 をダウンロードします。

cd /usr/local/bin
wget http://github.com/snaka/cyg-apt/raw/master/cyg-apt2

ダウンロードしたファイルに実行権を与えます

chmod 700 cyg-apt2

ちなみに、いままでcyg-aptを使っていたこともあって、cyg-apt という名前で cyg-apt2 に対するシンボリックリンクを張っています。

環境によっては、スクリプト内の変数を変更する必要があるかもしれません。
それについては以下のエントリを参考にしてください。

setup-2.iniのダウンロード

setup.exeでは配布されているパッケージの一覧をsetup.ini(cygwin1.7からはsetup-2.ini)というテキストファイルで管理しているようです。

cyg-aptが動作するためには、最初にそのファイルを取得してあげる必要があります。

そのためには以下のコマンドを実行します。

cyg-apt setup

これで、ミラーサイトから/etc/setup ディレクトリに setup.ini がダウンロードされたはずです。

これで準備が完了しました。

パッケージを探す

ためしに git パッケージをインストールしてみます。
以下のように'search'コマンドで git 関連パッケージを探します。

$ cyg-apt search git
cogito - Human-suitable Interface for Git
git - Fast Version Control System - core files
git-completion - Fast Version Control System - git bash completion
git-gui - Fast Version Control System - git-gui viewer
git-oodiff - Git diff filter for OpenDocument files
git-svn - Fast Version Control System - git-svn conversions
gitk - Fast Version Control System - gitk viewer
stgit - Quilt functionality on top of git

上記のようにいくつかのパッケージが現れましたが、雰囲気的に

git - Fast Version Control System - core files

がgit本体のようなので、これをインストールすることにします。

パッケージをインストールする

以下のように'install'コマンドを使用することでパッケージのインストールは完了します。

$ cyg-apt install git
warning: missing packages: libidn11
--2009-08-21 21:00:39--  http://ftp.jaist.ac.jp/pub/cygwin/release-2/libidn/libidn11/libidn11-1.9-1.tar.bz2
Resolving proxy.host.com... 1.2.3.45, 10.77.222.90, 10.0.8.2
Connecting to proxy.host.com|1.2.3.45|:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: 63975 (62K) [application/x-bzip2]
Saving to: `libidn11-1.9-1.tar.bz2'

100%[=================================================>] 63,975      --.-K/s   in 0s

2009-08-21 21:00:39 (130 MB/s) - `libidn11-1.9-1.tar.bz2' saved [63975/63975]

/cygdrive/C/cygwin/var/cache/setup/http%3a%2f%2fftp.jaist.ac.jp%2fpub%2fcygwin/release-2/libidn/libidn11/libidn11-1.9-1.tar.bz2

f9fe1854e4cb8ad27eb1763e9f4baba9  libidn11-1.9-1.tar.bz2
f9fe1854e4cb8ad27eb1763e9f4baba9  libidn11-1.9-1.tar.bz2
installing libidn11 1.9-1
warning: please see after: etc/postinstall/done etc/postinstall/git.sh

最後のwarningが気になりますが、とりあえず今は無視しときます。

ちなみにインストールされたパッケージはのtarボールは/var/cache/setupディレクトリ以下に保存されます。
ダウンロードがうまくいかないなどトラブルが発生した場合はこのディレクトリ内を確認するといいと思います。

インストール済みのパッケージを確認する

インストールしたパッケージは'list'コマンドで確認できます。

$ cyg-apt list
GConf2              2.14.0-2
ORBit2              2.14.0-1
_update-info-dir    827-1          (828-1)
alternatives        1.3.30.c-10
aspell              0.60.5-1
aspell-en           6.0.0-1
atk                 1.10.3-1
base-cygwin         2.0-1
base-files          3.8-4
base-passwd         3.1-1
bash                3.2.49-23
bc                  1.6-2

 (snip)

いらないパッケージを削除(アンインストール)する

パッケージの削除(アンインストール)は'remove'コマンドです。

$ cyg-apt remove gitk
removing gitk 1.6.3.2-1
warning: /cygdrive/C/cygwin/usr/bin/gitk no such file

ですが、うーん、どうもremoveコマンドはちゃんと動かないみたいです。
あとで調べてみます。

とりあえず、'search'と'install'の2つのコマンドを覚えればがあれば cyg-aptは使えます。

簡単ですね。