!!!はじめに apt-cyg を使うとCygwinやGnupackでもパッケージ管理ができる。 !!!apt-cyg を使えるようにする !!gnupack(gnupack pretest 2018.11.25) !TRUSTEDKEY_CYGWIN_SUM修正 app\script\apt-cygの TRUSTEDKEY_CYGWIN_SUM を書き換えないとハッシュ不一致になる。 https://cygwin.com/key/pubring.asc を取得して sha512sum pubring.asc のハッシュ値をTRUSTEDKEY_CYGWIN_SUMに設定する。 2020/03/15時点では TRUSTEDKEY_CYGWIN_SUM="6291bf8f958e1ea05501b91d776ea10b2cd781c5caeb3d72da63333e5c45698fa4766d524a2d9a128b09b8446ee7e25cbb7942ee49d7409583e712d5c68ee81e" にする。 !うざい確認を表示しないように修正 app\script\apt-cygの700行目付近にあるdbファイルのバージョンチェックのがうざいので、ifブロックをコメントアウトして良い !!古いcygwinとか http://nukino.github.com/blog/2012/02/02/Cygwin/ http://d.hatena.ne.jp/takuya_1st/20110205/1296887435 wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg mv apt-cyg /usr/bin chmod +x /usr/bin/apt-cyg !!!使い方 ,, ,パッケージを探す,apt-cyg find ,インストール済の一覧,apt-cyg show ,インストールする,apt-cyg install パッケージ名 ,アンインストールする,apt-cyg remove パッケージ名 !!!setup.ini が 404 Not Found になる場合 http://rcmdnk.github.io/blog/2013/08/08/computer-windows-cygwin/ パッケージのサイトのディレクトリ構成が変更されたため、setup.ini が見つからない場合がある。 新しいディレクトリ構成に合わせて apt-cyg を作成してくれた方がいるので、有難く利用させていただく。 {{ref apt-cyg}} を適当なパスにコピーする。あとは今までどおり使う。 !!!カスタマイズ1 標準のままだと、パッケージ名の大文字小文字を判別する。 そのままだと使いにくいので apt-cygの 244行と247行のawk に -v IGNORECASE=1 を渡す。 echo "" 241 do 242 echo "" 243 echo Searching for installed packages matching $pkg: 244 awk -v IGNORECASE=1 '/[^ ]+ [^ ]+ 0/ {if ($1 ~ query) print $1}' query="$pkg" 244 /etc/setup/installed.db 245 echo "" 246 echo Searching for installable packages matching $pkg: 247 cat setup.ini | awk -v query="$pkg" -v IGNORECASE=1 \ 248 'BEGIN{RS="\n\n@ "; FS="\n"; ORS="\n"} {if ($1 ~ query) {print $1}}' 249 done !!!カスタマイズ2 http://kkayataka.hatenablog.com/entry/2013/11/16/170041 apt-cygはxzに対応していないため、m4などをインストールしようとすると以下のようなエラーが出る。 $ apt-cyg install m4 ... ... `m4-1.4.17-1.tar.xz' へ保存完了 [273968/273968] Unpacking... bunzip2: (stdin) is not a bzip2 file. tar: これは tar アーカイブではないようです tar: 前のエラーにより失敗ステータスで終了します ... Package m4 installed apt-cygを以下のように編集すると、とりあえずxzも使えるようになる echo "Unpacking..." case "$file" in *\.xz) cat $file | xz -dv | tar > "/etc/setup/$pkg.lst" xvf - -C / ;; *) cat $file | bunzip2 | tar > "/etc/setup/$pkg.lst" xvf - -C / ;; esac 改良したものを以下に置く {{ref apt-cyg_改良後}} {{category2 ツール,Cygwin}}