最近の Cygwin はSetup.exe のバージョンが上がるとなんかいろいろ壊れる(気がする)ので,とりあえず簡単にパッケージを再インストールする方法.
パッケージリストの作成
Cygwin 上ででインストールされているパッケージのリストを作る.cygcheck -c -d | sed -e "1,2d" -e 's/ .*$//' > packagelist
Cygwin とパッケージの再インストール
setup(-x86_64).exe に -P オプションでパッケージのリストを渡す. 以下は,rubyのスクリプト.
unless ARGV.size == 2
puts "usage: #{File.basename($0)} "
end
setupexe = ARGV[0]
pkglist = ARGV[1]
packages = File.open(pkglist).read.split.join(',')
system("#{setupexe} -P #{packages}")
これで,インストーラが,パッケージが選択された状態で起動するので,そのままインストール.