商店
Cygwin
概述
Cygwin 是一個在 Microsoft Windows 上提供 類 Unix 環境 的大型開源項目,讓 Windows 使用者可以直接在命令列中使用 Linux/Unix 常用的工具、Shell 和程式設計環境,而無需安裝虛擬機器或雙系統。 它由 Red Hat 員工 Steve Chamberlain 於 1995年 發起,現在由 Cygwin Project(隸屬於 Red Hat)維護,官網 cygwin.com,採用 GPL v3 + 例外條款(核心 DLL 為 LGPL)。簡單說:Cygwin = cygwin1.dll(POSIX 相容層) + 數千個移植到 Windows 的 GNU/開源軟體包(bash、gcc、make、git、vim、python、rsync、wget、openssh…)。
歷史與發展
- 1995年10月:Steve Chamberlain(Cygnus Solutions,後來被 Red Hat 收購)發行第一個版本 。
- 1996–1998年: 加入 bash、gcc、GNU 工具鏈,成為完整 Unix-like 環境 。
- 2000年:Red Hat 收購 Cygnus,Cygwin 正式由 Red Hat 維護 。
- 2001年:引入 setup.exe 圖形安裝程式(至今仍在使用)。
- 2013年:支援 64 位元 Windows(Cygwin 1.7.18 開始)。
- 2016年:發布 Cygwin 2.5,預設使用 UTF-8,支援 Windows 10。
- 2022年:Cygwin 3.4 系列支援 Windows 11 和 ARM64(實驗性)。
- 2025年10月: Cygwin 3.5.4 發布:原生 ARM64、更好的 Windows 11 24H2 相容性、mintty 升級。
主要特點
- POSIX 相容層: cygwin1.dll 提供 fork、pipe、signal、select/poll 等 Unix 系統呼叫 。
- 軟體包數量:超過 15,000 個(包括 gcc、python3、git、vim、rsync、openssh、wget、curl、tmux 等)。
- 終端:預設使用 mintty(支援 256 色、真彩色、滑鼠、捲軸。
- Shell :預設 bash,也可安裝 zsh、fish、tcsh 等。
- 檔案系統:支援 Unix 權限(chmod/chown)、符號連結、/home、/tmp 等路徑。
- 編譯器:gcc、clang、go、rust、python、nodejs 等全部可用。
- 套件管理器:setup-x86_64.exe(圖形化)或 apt-cyg、cyg-apt(類別 apt)。
- ARM64 支援:2025年起原生支援 Windows on ARM(Surface Pro X、ThinkPad X13s 等)。
- UTF-8 預設:從 3.4 開始預設全系統 UTF-8,無需額外設定。
- 與 Windows 互通:可直接存取 C:\ (/cygdrive/c)、執行 .exe、PowerShell、WSL 共存。
優勢與限制
優勢
- 完全相容於舊版 Windows(Win7 仍支援)。
- 軟體包最全(15,000+)。
- 與 Windows 程式無縫互動(可直接呼叫 exe)。
- 支援 ARM64 Windows。
- 長期穩定(30年歷史)。
局限性(相比 WSL)
- 效能略低於原生 Linux 和 WSL2(系統呼叫開銷) 。
- fork() 效能較差(大進程複製慢)。
- 某些 GUI 程式需要 X Server(已較少使用)。
- 檔案權限在 NTFS 上有限制(需 cygserver)。
- 安裝套件體積大(基本安裝約 2-3GB)。
總結
Cygwin 是 Windows 上最老牌、最完整的類 Unix 環境,2025年已進化到 3.5.4,支援 Windows 11 24H2、原生 ARM64、預設 UTF-8,擁有 15,000+ 軟體包。 它特別適合:仍然必須使用 Windows 但想保留 Linux 工具鏈的開發者;需要在 Windows 上編譯 Linux 軟體、運行 bash 腳本、用 rsync/ssh 的用戶;在 ARM64 Windows 設備(如 Surface Pro X)上需要完整 Unix 工具鏈的場景。一句話評價: Cygwin 不再是唯一選擇,但仍是 Windows 上最「原汁原味」的 Unix 體驗,尤其在相容性和軟體包數量上無人能敵。


