rcmdnk's blog
Last update

Cygwinコンパクトリファレンス (Compact reference) 単行本 – 2003/8

Cygwin上Linuxのapt-getコマンドの様にパッケージが管理できるapt-cygを入れてみました。

追記: 2013/08/08

Cygwinのミラーサイト構造が変わったらしく、オリジナルのapt-cygがそのままだと 機能しなくなりました。

以下のページで対応と、apt-cygを新しい構造に対応させたものを公開してます: apt-cygでsetup.iniが404 Not Foundになった

追記ここまで

apt-cygに必要な物

apt-cygを使うために

  • wget
  • tar
  • bzip2
  • gawk

をインストールしてある必要があります。 これらをインストールしてない場合はcygwinのsetup.exeを使ってインストールするか 直接これらをインストールする必要があります。

必須ではありませんが、apt-cyg本体をインストールするためにsvnも インストールしておいた方が便利です。

apt-cygのインストール

公式に従い

$ svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/
$ chmod 755 /bin/apt-cyg

でOK。

svnをインストールしてない場合は直接apt-cygスクリプトをダウンロードするなりコピーするなりして/bin/へ。

apt-cygを使ってみる

大体のコマンドはapt-get等と同じです。

とりあえずパッケージリストのupdateしてみます。

$ apt-cyg update
...
Resolving mirror.msc.anl.gov (mirror.msc.anl.gov)... failed: hostname nor servname provided, or not known.
wget: unable to resolve host address `mirror.msc.anl.gov'
Error updating setup.ini, reverting

ミラーサイトに接続できていない、と出ます。

そこでcygwinのミラーサイトリスト から適当な物(なるべく近いところ)を選んで来て

$ apt-cyg update -m http://ftp.jaist.ac.jp/pub/cygwin/

として繋がるかどうか試してみます。 同じ様にError updating setup.ini, revertingが出る場合は 別のところを探します。 (上のmirror.msc.anl.govもこの日は繋がらなかったんですが後日繋がりました。)

追記: 2013/08/08

久々にapt-cygしたら

...
--2013-xx-xx xx:xx:xx--  http://ftp.jaist.ac.jp/pub/cygwin//setup.ini
...
HTTP request sent, awaiting response... 404 Not Found

と言った様なエラーが出てサイトを指定し直す必要がありました。 これについてはこちらに書いておきました: apt-cygでsetup.iniが404 Not Foundになった

追記ここまで

-mオプションでミラーサイトを指定する方法はinstall等の時にも有効で、 一度指定すると、その後指定がない限り同じサイトが使われます。

上のサイトでつながったので、色々インストールしたりしたいのですが、 今回は元々gitのバージョンを上げたいためにapt-cygを入れてみました 1

apt-cygにはupdagradeが無いので、新しくしたい場合はどうすれば良いか 分からなかったので、取り敢えずinstallしてみます。

$ apt-cyg install git
...
Package git is already installed, skipping

やはりスキップされる様です。 仕方ないので一度消して、再インストール。

$ apt-cyg remove git
$ apt-cyg install git
...
Found pacakge git
**************** http://ftp.jaist.ac.jp/pub/cygwin/release/git/git-1.7.9-1.tar.bz2
...
Package git installed

と、残念ながらまだcygwinの中のバージョンは1.7.9.1のままなので 再インストールしても意味なし… (ミラーサイトを直接見れば分かることですが…)

結局ミラーサイトから落としてくるだけなので、 インストール出来る物はsetup.exeで出来る物と一緒ですが、 cygwinのsetup.exeはやたら重い(特にパッケージリストで検索するとやたら遅い) のでぱっと新しい物を入れたいときにはとても便利だと思いました。

というわけで、今回はapt-cygを使ってみた、というだけで、git自体は直接入れる 事にしました。

apt-cygのまとめ

一応コマンドのまとめ:

  • apt-cyg update: パッケージリスト(setup.ini)をアップデート。
  • apt-cyg install package: packageをインストール。
  • apt-cyg remove package: packageをアンインストール。
  • apt-cyg show: インストールされてるpackage一覧。
  • apt-cyg find <patterns>: <patterns>を含むpackageを検索(ミラーサイトにあるか、 及びインストールされているかについて)。
  • apt-cyg describe <patterns>: <patterns>を含むpackageの詳細を表示。
  • apt-cyg packageof <commands or files>: 与えたcommandsやfilesを含むパッケージを表示。

upgradeが無いので、もしミラーサイト側が新しくなっていたら removeしてinstallしなおす必要がある(のだと思う)。

apt-cygのオプション:

  • –mirror, -m <url> : ミラーサイトを指定(以後このサイトを使う)。
  • –chache, -c <dir> : キャシュディレクトリを指定(デフォルト/setup、Windows的にはC:\cygwin\setup))。
  • –file, -f <file> : パッケージの名前をファイルから読み込む。
  • –noupdate, -u : setup.iniをアップデートしない(付けないとinstall時とか毎回アップデートをまず行う)。
  • –help : ヘルプの表示
  • –version : バージョンの表示。

apt-cyg以外のツール

apt-cygはシェルスクリプトで出来たツールですが、これ以外に

  • CygApt: pythonベースのツール
  • cyg-pm: Perlベースのツール

といった物があるようです。 (やることは主にミラーサイトからインストールすることなのでどれでも好きな物をで良いと思います。)

Sponsored Links
  1. 結果的にapt-cygでは新しく出来なかったので次回別途入れた事について書きます。

Sponsored Links

« スクロール時に付いてくるサイドバー Cygwinにgit-1.8.3.1をインストール »

}