トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

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

はじめに

apt-cyg を使うとCygwinやGnupackでもパッケージ管理ができる。

apt-cyg を使えるようにする

gnupackははじめから使えるようになっている。

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 を作成してくれた方がいるので、有難く利用させていただく。
apt-cyg(342)
を適当なパスにコピーする。あとは今までどおり使う。


カスタマイズ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

改良したものを以下に置く
apt-cyg_改良後(305)


[カテゴリ: ツール > Cygwin]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2014年03月08日 01時25分40秒