このページは履歴用の backup です。
最新版は apt-cyg を参照してください。
cygwin 用コマンドライン版パッケージ管理ツール
Debian GNU/Linux の apt-get ライクな操作が可能
最新版は apt-cyg を参照してください。
cygwin 用コマンドライン版パッケージ管理ツール
Debian GNU/Linux の apt-get ライクな操作が可能
- Google Code / apt-cyg - A command-line software installer for Cygwin
- github / transcode-open / apt-cyg
2013-09-30 現在、Google code で公開されてる版は GPL v2 or later で、Github で新たに公開された版は MIT license になってる模様。
2013-10-18 現在、version 表示に、GPL って表示が残ってる。修正あると良いな。
2013-10-18 現在、version 表示に、GPL って表示が残ってる。修正あると良いな。
2013-08-24 現在、最終リリースが 2010-04-27 の r18 で止まってる。
一方で、2013-07-22 リリースの Cygwin 1.7.22 が 64 bit 対応したことに伴い、Cygwin のパッケージデータベースが従来の /pub/cygwin/setup.ini から /pub/cygwin/x86/setup.ini と /pub/cygwin/x86_64/setup.ini に分かれた。
ところが、setup.ini の install: で示される各パッケージは従来通り /pub/cygwin をルートとして書かれたままの状態であるため apt-cyg が動作しなくなってしまっている模様。
これはブランチするしかないかな?
2013-09-30:
公式ページの下の方に、新しいバージョンの cygwin 対応は Github バージョンを fork して修正してねって書いてあって、2013-07-28 に github にリポジトリが作られてた。現時点で数名がそこから fork させて 64 bit 対応後の cygwin 用の patch 書いてる模様。
2013-10-18:
現行バージョンの cygwin 対応に最低限必要な patch は以下の2つ
ただし、x86 版と x86_64 版の cygwin 両方インストールしている場合は要注意。
md5 ではじかれるはずなので杞憂だろうけど $cache/$mirrordir/release/$pkg に wget -nc してくる仕様なので、cache に既に download 済みの別 arch の package があると上書き download されないので cache dir 同じ場所にしとくと混ざる可能性がある。
でも update 省くと、別 arch の setup.ini そのまま使ってる可能性がある。
multiarch 的な運用も現時点では考慮出来ていない模様。
x86 版は C:\cygwin、x86_64 版は C:\cygwin64 のように別々の場所にインストールされるが、apt-cyg 実行してる環境の root directory に package ぶちまける仕様なので、x86 環境から x86_64 のパッケージ入れようとすると混ざる。
例えば、
これを、逆手に取ると chere とか x86_64 版にない package を混ぜる事が出来るはずなので、意外と便利かもしれないけど。
一方で、2013-07-22 リリースの Cygwin 1.7.22 が 64 bit 対応したことに伴い、Cygwin のパッケージデータベースが従来の /pub/cygwin/setup.ini から /pub/cygwin/x86/setup.ini と /pub/cygwin/x86_64/setup.ini に分かれた。
ところが、setup.ini の install: で示される各パッケージは従来通り /pub/cygwin をルートとして書かれたままの状態であるため apt-cyg が動作しなくなってしまっている模様。
これはブランチするしかないかな?
2013-09-30:
公式ページの下の方に、新しいバージョンの cygwin 対応は Github バージョンを fork して修正してねって書いてあって、2013-07-28 に github にリポジトリが作られてた。現時点で数名がそこから fork させて 64 bit 対応後の cygwin 用の patch 書いてる模様。
2013-10-18:
現行バージョンの cygwin 対応に最低限必要な patch は以下の2つ
- mirror の arch 対応
- package の .tar.xz 対応
- github / zship / apt-cyg
ただし、x86 版と x86_64 版の cygwin 両方インストールしている場合は要注意。
md5 ではじかれるはずなので杞憂だろうけど $cache/$mirrordir/release/$pkg に wget -nc してくる仕様なので、cache に既に download 済みの別 arch の package があると上書き download されないので cache dir 同じ場所にしとくと混ざる可能性がある。
でも update 省くと、別 arch の setup.ini そのまま使ってる可能性がある。
multiarch 的な運用も現時点では考慮出来ていない模様。
x86 版は C:\cygwin、x86_64 版は C:\cygwin64 のように別々の場所にインストールされるが、apt-cyg 実行してる環境の root directory に package ぶちまける仕様なので、x86 環境から x86_64 のパッケージ入れようとすると混ざる。
例えば、
- github / rcmdnk / apt-cyg-1/tree/update
これを、逆手に取ると chere とか x86_64 版にない package を混ぜる事が出来るはずなので、意外と便利かもしれないけど。
x86, x86_64 混在環境で不具合出そうなので fork して patch 当ててみることにした。
- github / kou1okada / apt-cyg
とりあえず、
以下からレジストリを参照すると、root directory に割り当てられたフォルダを Windows 形式のパスで取得出来る模様
参考:
- package の .tar.xz 対応は sieste31/apt-cyg/d0bb8af から pull した
- mirror の arch 対応は boothj5/apt-cyg/d05f149 から pull した
- cache の arch 対応は自前で書き起こした
- root の arch 対応は変更点多くなりそうなので保留中
以下からレジストリを参照すると、root directory に割り当てられたフォルダを Windows 形式のパスで取得出来る模様
現在の環境 | /proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Cygwin/setup/rootdir |
x86 環境 | /proc/registry32/HKEY_LOCAL_MACHINE/SOFTWARE/Cygwin/setup/rootdir |
x86_64 環境 | /proc/registry64/HKEY_LOCAL_MACHINE/SOFTWARE/Cygwin/setup/rootdir |
- himorin's blog / 2009-01-28: cygwinへのマウントポイントの追加
とりあえず chroot コマンドが使えたので multiarch 対応の課題で保留中だった root の arch 対応をやってみた。
予め、x86_64 と x86 環境の両方をインストールしておく必要はあるが、
例えば 2013-10-25 現在 x86_64 環境には chere パッケージが提供されていないので、x86_64 環境から x86 環境の chere パッケージをインストールしたいといったような場合、以下のようにすれば良い。
chroot する関係上、shift で他のパラメータを捨てられると困るので、必ず第1パラメータに与える必要がある。
x86_64 と x86 で標準入出力を融通し合うせいか chroot で shell に interactive オプション与えると readline やら何やらが変なことになるが、とりあえず shell script で使う分には不都合はなさそうな感じ。
予め、x86_64 と x86 環境の両方をインストールしておく必要はあるが、
例えば 2013-10-25 現在 x86_64 環境には chere パッケージが提供されていないので、x86_64 環境から x86 環境の chere パッケージをインストールしたいといったような場合、以下のようにすれば良い。
apt-cyg --charch x86 install chere--charch オプションは x86_64 または x86 の何れかを取ることが出来る。
chroot する関係上、shift で他のパラメータを捨てられると困るので、必ず第1パラメータに与える必要がある。
x86_64 と x86 で標準入出力を融通し合うせいか chroot で shell に interactive オプション与えると readline やら何やらが変なことになるが、とりあえず shell script で使う分には不都合はなさそうな感じ。
オリジナルのバージョンについては、
カレントディレクトリに最新版を取得するには以下のようにすれば良かったが、これは既に OBSOLETE.
github 漁れば対応した fork が多数見つかるはず。
私家版で良ければ、以下のようにしてもらえば良い。
これを apt-cyg に引き継ぐには以下のようにすれば良い。
カレントディレクトリに最新版を取得するには以下のようにすれば良かったが、これは既に OBSOLETE.
wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg chmod +x apt-cygCygwin 1.7 でリポジトリが x86_64 と x86 に分かれたのに対応出来てないので、使えない。
github 漁れば対応した fork が多数見つかるはず。
私家版で良ければ、以下のようにしてもらえば良い。
wget https://raw.github.com/kou1okada/apt-cyg/master/apt-cyg chmod +x apt-cygsetup.exe で利用していた last-cache と last-mirror は /etc/setup/setup.rc 内に記録されているので
これを apt-cyg に引き継ぐには以下のようにすれば良い。
apt-cyg -c "$(grep -A1 last-cache /etc/setup/setup.rc | tail -n1 | sed -e 's/^\s*\(.*\?\)\s*$/\1/g')" apt-cyg -m "$(grep -A1 last-mirror /etc/setup/setup.rc | tail -n1 | sed -e 's/^\s*\(.*\?\)\s*$/\1/g')"
apt-cyg | cygcheck | apt-get | apt-cache | apt-file | dpkg |
---|---|---|---|---|---|
install | install | ||||
remove | remove | ||||
update | update | ||||
show | -c | -l | |||
find | search | ||||
describe | show | ||||
packageof | -S | ||||
upgrade | |||||
-l | -L | ||||
-p | search,find | ||||
list,show |
タグ
コメントをかく