トップ 一覧 置換 検索 ヘルプ RSS ログイン

apt-cygを使ってパッケージ管理するの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!はじめに
apt-cyg を使うとCygwinやGnupackでもパッケージ管理ができる。

!!!apt-cyg を使えるようにする
gnupackははじめから使えるようになっている。
!!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}}