Cygwinのライブラリ(パッケージ)追加・削除は、インストール時に使ったセットアッププログラム(setup-x86_64.exe)を再実行し、必要なパッケージだけを選択して追加・削除するのが基本になります。
また、このセットアッププログラムはコマンドラインオプションにも対応しており、スクリプトやバッチから指定パッケージを一括でインストール・アンインストールすることもできます。
Cygwinでは、シェルやコンパイラ、ユーティリティなどが「パッケージ」という単位で提供されており、ユーザーは必要なライブラリだけを選んでインストールする仕組みになっています。
インストール済み環境にあとからライブラリを追加・削除するときも、専用のパッケージマネージャではなく、セットアッププログラムを再実行してパッケージリストを操作します。
GUIのセットアップ画面からライブラリを追加する場合は、最初のインストールと同じ手順でセットアッププログラムを起動し、インストール先ディレクトリとパッケージディレクトリを既存の設定に合わせて進めます。
その後に表示されるパッケージ選択画面で、インストールしたいライブラリを選ぶことで、既存環境を保ったまま新しいパッケージだけを追加できます。
パッケージ選択画面では、カテゴリごとのツリー表示と検索ボックスが用意されており、キーワードでライブラリ名を検索して目的のパッケージを素早く探せます。
各パッケージ行の「スキップ」と表示されている部分をクリックすると、具体的なバージョン番号が表示され、その状態でインストール対象として扱われます。
更新や削除時に余計なパッケージを触りたくない場合は、画面上部の「Keep」オプションを選ぶことで、すべてのパッケージを「現在の状態を維持」に固定できます。
この設定のうえで削除したいパッケージだけを「Uninstall」に切り替えると、他のライブラリをアップデートせずに、対象パッケージだけをアンインストールできます。
特定パッケージだけを削除したいときは、まずセットアッププログラムで既存のCygwinルートディレクトリを指定し、パッケージ選択画面まで進めたうえで「Keep」を選択して全体を固定します。
その後、削除したいライブラリ名を検索し、該当パッケージの状態を「Uninstall」に切り替えて次へ進むと、依存関係の確認を経て該当パッケージだけが削除されます。
セットアッププログラムはコマンドラインオプションを受け付けるため、WindowsのコマンドプロンプトやPowerShellから直接パッケージを指定してインストールすることができます。
以下のようなコマンド例を使うと、よく使うツール群をまとめてインストールすることができます。
・代表的なインストール例(PowerShell / コマンドプロンプトから実行)
setup-x86_64.exe -q -P bash,vim,git,makeこの例では -q で対話画面を抑えつつ、-P オプションで bash,vim,git,make を一括インストールします。
・ルートディレクトリやローカルパッケージディレクトリを明示した例
setup-x86_64.exe ^
--root C:\cygwin64 ^
--local-package-dir C:\cygwin_pkg ^
--site https://mirrors.kernel.org/sourceware/cygwin/ ^
-q -P gcc-core,gcc-g++,make既存のCygwin環境に対して、指定のミラーサイトからコンパイラ一式を追加インストールするイメージです。
コマンドラインでは、削除対象パッケージを指定してアンインストール処理を実行することもできます。
実際にはラッパースクリプトからセットアッププログラムを呼び出し、内部で削除用オプションを使う例が多く紹介されています。
・削除処理を行うイメージ例(実際のオプション名は環境や版に依存)
setup-x86_64.exe -q --remove-packages vim,gitこのようなイメージで --remove-packages に削除したいパッケージ名をカンマ区切りで渡し、既存環境から vim と git をアンインストールします。
・自作ラッパースクリプト(イメージ)から呼び出す例
cyg-manage remove vim git自前の cyg-manage バッチやスクリプトの内部で、前述の setup-x86_64.exe -q --remove-packages を実行する構成にしておくと、日常的な運用が楽になります。
特定バージョンのライブラリをインストールしたい場合、パッケージ名=バージョン の形式で指定することができます。
また、インストール済みパッケージ一覧を抽出して別マシンで再利用する方法もよく使われます。
setup-x86_64.exe -q -P git=2.35.0-1git の中でも 2.35.0-1 という版を明示してインストールするイメージです。
・現在のパッケージ一覧を抽出してファイルに保存する例
cygcheck -c -d | awk 'NR>2 {print $1}' > pkglist.txt生成した pkglist.txt を加工し、別マシンで -P オプションに渡すことで同じ環境を再現する運用例が紹介されています。
標準機能ではありませんが、コミュニティ製の「apt-cyg」を導入すると、Linux の apt 風のコマンドでライブラリ管理ができるようになります。
導入後は、次のような分かりやすいコマンドでCygwinパッケージを操作できます。
・apt-cyg の利用例
apt-cyg install wget curl git
apt-cyg remove git
apt-cyg update
apt-cyg upgradeインストール・削除・更新が1行で書けるため、セットアップスクリプトから呼び出す用途でもよく使われています。
Cygwinのローカルパッケージディレクトリに保存されるダウンロード済みパッケージファイルは、インストール後に削除しても動作には影響せず、ディスク容量を節約したい場合は消してしまっても問題ないとされています。
一方で、インストール済みパッケージの情報や設定は /etc/setup 配下やホームディレクトリの設定ファイルとして残るため、環境を完全に初期化したい場合は、ライブラリの削除とあわせてこれらのファイルも整理する必要があります。
Cygwinのライブラリ管理は、GUIであればセットアッププログラムのパッケージ選択画面から「Skip」「Keep」「Uninstall」を切り替えるだけで、追加・更新・削除を直感的に行える構成になっています。
一方、コマンドラインでは setup-x86_64.exe -q -P パッケージ名 のような形式や apt-cyg を活用することで、複数台への一括セットアップや構成の再現、不要ライブラリのバッチ削除など、より高度で再現性の高いCygwin環境管理が可能になります。