Windows Cygwin当前的完整安装大小是多少?

Windows Cygwin当前的完整安装大小是多少?,windows,cygwin,diskspace,Windows,Cygwin,Diskspace,我在网上找到的每一个消息来源都说Cygwin的完整安装需要超过1GB,但我的只有100MB。我很确定我从镜像服务器下载了所有的东西,但是安装只花了不到5分钟的时间就完成了,而不是像我预期的那样,如果安装的是千兆字节的软件 Cygwin是否在2012~2013年间得到了彻底清理,或者我在安装过程中做错了什么?首次安装软件包时,setup*.exe不会安装所有软件包。默认情况下,仅安装Cygwin发行版中的最小基本软件包。 单击setup*.exe软件包安装屏幕中的类别和软件包,可以控制安装或更新的

我在网上找到的每一个消息来源都说Cygwin的完整安装需要超过1GB,但我的只有100MB。我很确定我从镜像服务器下载了所有的东西,但是安装只花了不到5分钟的时间就完成了,而不是像我预期的那样,如果安装的是千兆字节的软件


Cygwin是否在2012~2013年间得到了彻底清理,或者我在安装过程中做错了什么?

首次安装软件包时,setup*.exe不会安装所有软件包。默认情况下,仅安装Cygwin发行版中的最小基本软件包。 单击setup*.exe软件包安装屏幕中的类别和软件包,可以控制安装或更新的内容。 单击“所有”类别旁边的“默认”字段将为您提供安装每个Cygwin软件包的机会。

完整的Cygwin安装可能在23到112GiB之间,这取决于您如何定义“完整”

您的100 MB数字告诉我,您刚刚点击了Cygwin的
setup-*.exe
程序提供的默认值,没有选择任何可选软件包,因为这样只会安装基本软件包集,当前的容量为0.1GiB。Cygwin遵循现代联网软件分发模型:它假设您可以再次运行
setup-*.exe
,并根据需要选择新的软件包

Cygwin维护人员试图使基本类别的包集尽可能小。ªCygwin基本安装与旧式Unix安装非常相似,只涵盖了以下内容

那么,如何获得完整安装? Cygwin安装程序并没有一个明显的方法来获得“完整”的安装,因为没有人需要Cygwin存储库中的每个软件包

然而,有一种偷偷摸摸的方法来安装所有东西。在选择软件包屏幕上

…切换到类别视图,然后单击“全部”组标题右侧的“默认”文本。它将更改为“安装”,下面所有组中的相应文本也将更改为“安装”。这标志着一切的安装

我包含此技巧只是为了完整性。你不想这样做!它会安装很多你永远不会使用的东西。目前,Cygwin中有11242个,安装每一个都需要93GiB的磁盘空间用于安装树,再加上19GiB的下载树⁴ 上次我试的时候。这就给出了上面的112GiB上限

所有未使用的软件都会带来一些成本。即使磁盘空间、下载时间、安装时间和本地带宽使用对您没有什么影响,也要考虑大量浪费的带宽。

我已经做了实验,所以现在你不必了

智能“完整”安装 我提出了一套简单的软件包排除规则,可实现更小的安装:

  • 跳过所有
    -debuginfo
    包。很少有人需要这些,而且它们占用了很多空间。节省:仅在安装树中大约53GiB;下载树中有更多信息

    应用这个规则很容易。在使用上面的诡计选择要安装的所有软件包之后,但在进入下一个屏幕之前,单击“调试”类别标题旁边的“安装”文本,直到它切换回“默认”

    如果您已经安装了调试包,请单击该文本,直到它显示“卸载”

  • 不要显式安装任何
    lib*
    软件包。让Cygwin的
    setup-*.exe
    自动安装库以满足软件包依赖关系。节省:大约5GB ⁵

    要应用此规则,请将“Libs”类别切换为“Default”或“Uninstall”,就像您对“Debug”类别所做的那样。安装程序将在稍后的步骤中确定您实际需要哪些库

  • 跳过和关联的包。同样,很少有人需要这些。⁶ 节省:大约4GiB

    Cygwin中有两套主要的交叉开发工具:一套用于创建另一套的Cygwin可执行文件(即32位Cygwin的64位工具和库,反之亦然),另一套用于构建与Cygwin安装相同字号的可执行文件

    要将此规则应用于64位Cygwin安装,当仍在“选择软件包”屏幕上时,在该屏幕顶部的软件包名称搜索框中键入
    cygwin32-
    ,然后单击每个顶级类别旁边的
    Default
    文本,直到循环到
    Default
    Uninstall
    ,如上所述

    mingw64-
    重复该步骤

    32位Cygwin的思想是相同的,只是您搜索并排除名称中包含
    cygwin64-
    mingw32-
    的包

  • 通过遵循这个规则集,我几乎可以安装所有东西,只需要大约23GiB

    削减 通过排除其他几个臭名昭著的磁盘占用器,我们可以使安装变得更小:

    • ,桌面环境和GUI应用程序一起需要大约11GiB。⁷

    • Cygwin Base+Devel的安装容量约为10Gb

    • Cygwin Base+TeX类安装大约需要5Gb。如果您只安装母语的支持包,那么支持包的大小大约为3.7GiB

    • 所有的
      -doc
      软件包加起来占用了大约5GB的磁盘空间

    如果不是软件开发人员,不使用Cygwin进行GUI操作,使用Web进行文档创建,不使用TeX进行文档创建,那么Cygwin的“完整”安装只需大约1Gb。⁸

    如果您按照预期的方式使用cygw,即安装基础软件包和当前需要的额外软件包,那么您甚至可能无法将安装大小提高到这些级别
    gcc-core:GNU Compiler collection(C Open MP)
    gcc-fortran:GNU Compiler collection(Fortran)
    gcc-g++:GNU Compiler collection(C++)
    gcc-objc:GNU Compiler collection(Objective-C)
    
    gdb: The GNU Debugger 
    
    make: The GNU version of the "make" utility