Top*_*ker 33 windows cygwin diskspace
我在网上发现的每个来源都表示Cygwin的完整安装需要1 GB以上,但我的只有100 MB.我很确定我从镜像服务器上下载了所有东西,但是安装花了不到5分钟就完成了而不是几个小时,因为我预计它会安装千兆字节的软件.
Cygwin在2012〜2013年期间是否进行了大规模的清理,或者我在安装中做错了什么?
War*_*ung 88
完整的Cygwin安装范围为23到112 GiB,具体取决于您定义"完整"的方式.
你的100 MB编号告诉我你刚刚点击了Cygwin setup-*.exe程序提供的默认值,没有选择任何可选包,因为它只安装Base包集,目前总计为0.1 GiB.Cygwin遵循现代网络连接软件分发模式:它假设您可以setup-*.exe再次运行并根据需要选择新软件包.
Cygwin维护者试图将Base类的包设置尽可能小.¹CygwinBase安装提供了类似于旧式Unix安装的东西,覆盖了POSIX指定的内容.
Cygwin安装程序没有明显的方法来实现"完全"安装,因为没有人需要Cygwin存储库中的每个软件包.²
然而,有一种偷偷摸摸的方式安装一切.在"选择包"屏幕上...

...切换到类别视图,然后单击"全部"组标题右侧的"默认"文本.它将更改为"安装",其下面的所有组中的相应文本也将更改为"安装".这标志着安装的一切.
我将此提示仅用于完整性.你不希望这样做!它将安装你永远不会使用的演出和演出.目前,Cygwin中有11242个软件包,并且每个安装树的最后一个安装树需要93 GiB的磁盘空间,下载树需要19 GiB,这是我最后一次尝试它.这给出了上面的112 GiB上限.
所有未使用的软件都有几个成本.即使磁盘空间,下载时间,安装时间,缩放时间和本地带宽使用对您没有影响,也要考虑大量自由镜像浪费的带宽.
我做过实验,所以现在你没必要.
我提出了一套简单的包排除规则,可以实现更小的安装:
跳过所有-debuginfo包裹.很少有人需要这些,他们占用了很多空间.节省:仅在安装树中约为53 GiB ; 更多在下载树中.
应用此规则很容易.在使用上述偷偷摸摸的技巧选择所有安装包之后,在进入下一个屏幕之前,单击"调试"类别标题旁边的"安装"文本,直到它切换回"默认".
如果您已经安装了调试包,请单击该文本,直到它显示"卸载".
不要显式安装任何lib*软件包.让Cygwin setup-*.exe自动安装库以满足包依赖性.储蓄:约5吉布 ⁵
要应用此规则,请将"Libs"类别切换为"Default"或"Uninstall",就像使用"Debug"类别一样.安装程序将在后面的步骤中确定您实际需要哪些库.
跳过交叉编译器和相关的包.同样,很少有人需要这些.节省:大约4 GiB
Cygwin中有两套主要的交叉开发工具:用于创建其他字大小的 Cygwin可执行文件的集合(即用于32位Cygwin的64位工具和库,反之亦然)以及用于构建MinGW可执行文件的集合.与您的Cygwin安装相同的字大小.
要将此规则应用于64位Cygwin安装,同时仍在"选择包"屏幕上,键入cygwin32-该屏幕顶部的包名称搜索框,然后单击Default每个顶级类别旁边的文本,直到它循环到Default或Uninstall,如上所述.
重复一遍mingw64-.
我们的想法是为32位Cygwin的相同,不同之处在于您搜索与排除的包cygwin64-,并mingw32-以他们的名义来代替.
通过遵循这个规则集,我能够安装几乎所有东西,只需要大约23 GiB.
我们可以通过排除其他几个臭名昭着的磁盘来让安装更小:
X11,桌面环境和GUI应用程序一起需要大约11GiB.⁷
Cygwin Base + Devel安装大约10 GiB.
Cygwin Base + TeX类别安装大约需要5 GiB.如果您只安装本机语言的支持包,那么它将大约为3.7 GiB.
所有的-doc软件包组合在一起可以节省大约5 GiB的磁盘空间.
不是软件开发人员,不使用Cygwin进行GUI工作,使用Web进行文档创建,以及不使用TeX进行文档创建的人可能因此只能在1 GiB左右安装"完整"的Cygwin .⁸
如果您按照预期的方式使用Cygwin,安装基座和目前只需要的额外软件包,您甚至可能无法将安装大小调整到这些级别.我以这种方式使用Cygwin,我的装置通常远低于1 GiB,但是我们的灯光"完全",因为它们符合我目前的需求.
所有这些测试都是使用64位版本的Cygwin完成的.您可以通过安装并行32位Cygwin安装来大致加倍上述空间要求
这样做并非毫无意义.一方面,它是使用交叉编译器的可行替代方案.另一方面,两个Cygwins 的基本不兼容意味着您可能需要两者.
脚注
Cygwin邮件列表上偶尔有一些线程,有人认为一些非常常见的包应该包含在Base类中,比如Perl,结果通常是维护者决定不将它添加到Base.
您偶尔也会看到相反的情况:某些软件包意外地通过不正确的依赖关系滑入Base.这个问题被带到Cygwin的维护者的关注后不久,原状恢复.(例子)
也许我错了.
有可能是视力受损的 捷克移民音乐家谁完成了美国政府的软件开发合同在一边不忙刷牙在他的技术印地文通过翻译词汇电气工程 报告,到他通过话.
我想见他.他听起来像个有趣的家伙.
另外,我想我可以帮助他计划为Orpie创建一个Tcl/Tk GUI前端.当然,我会尝试与他交谈,将其从Ocaml移植到C++/Qt.
我的意思是,Tcl/Tk,认真吗?在2018年?我们不要太荒谬.
curl -s https://cygwin.com/packages/package_list.html | grep -c x86_64/
setup-*.exe安装后,Cygwin 不会删除下载的软件包文件.这在您安装多个Cygwin的站点很有用,因为您可以将下载目录放在共享网络驱动器上.然后每个包只需要在该站点下载一次.
我的105 GiB上限假设您将下载并安装到同一个驱动器,并且您将保留下载树以防以后需要重新安装.
setup-*.exe安装它们后不仅不会删除下载的包文件,而且它不会自动清除旧版本,因此您使用Cygwin时,下载树会逐渐增长和增长.(网上有浮动的脚本来解决这个问题,例如这个.)
本答案中给出的所有数据存储值都是明显的磁盘使用数 - du -bhs而不是实际磁盘使用数,这将考虑文件系统开销,因为系统之间会有所不同.这对安装树的影响程度远远大于下载树,因为安装树中小文件的比例要大得多.预期下载树中的值为+ 1%,安装树中的值为+ 5%.
您可能想知道为什么即使您已经安装了"所有"软件包,Cygwin软件包存储库中也有您不需要的库.有几个原因:
一些库已经过时,但仍然存在于镜像上
一些库有多种替代形式,因此知道他们需要的东西不是默认的,可以选择它
有些库只适用于编写自己程序的人,不支持任何现有的Cygwin软件包
几乎所有需要Cygwin交叉编译器的人都是维护Cygwin软件包的人,因为除非有充分的理由,否则需要为32位和64位Cygwin构建维护者.
可能有更多人对MinGW交叉开发工具有充分的理由,但也可以选择使用MinGW和MSYS代替Cygwin.另外,我猜测进行双栈Cygwin + MinGW开发的人数小于那些使用其中一个或几乎完全或几乎一样的人.
这种排除并不容易,因为GUI包分散在整个Cygwin包装系统中,而它们的顶级类别通常包含非GUI软件,因此您不能简单地排除整个类别.(例如数学)
第一步是使用与上面相同的类别视图技术排除X11,GNOME,KDE,LXDE,MATE,Xfce和Games类别.
然后,使用搜索框,因为我们没有为交叉编译器排除以上,删除包匹配gtk,gnome,qt,和kde,任选地排除那些在杰韦利,调试和libs包,如果你需要的人.
最后,您必须切换到Pending视图并手动排除一堆未被这两个广泛排除中的任何一个捕获的包:Abiword,Calligra,Celestia,Dia,Evince,Geany,gEdit,Geomview,Gimp,gLabels,GnuCash,Gnumeric,Kalzium,KMyMoney,KolourPaint,Konqueror,Krita,KStars,LyX,Marble,Pidgin,QupZilla,Scribus,Skrooge,Spectacle,Stellarium,Tellico和Vinagre.如果你不排除这些,他们会将你在上面排除的大部分内容作为依赖项拖回来!
您可能会注意到,所有排除的软件包集的大小总计超过"智能完整"安装的23 GiB.这是因为共享依赖项.也就是说,这些尺寸在某种程度上重叠.
如果您将两个setup-*.exe程序放在同一目录中,它们将共享下载树,以便所有noarch软件包仅为Cygwins下载一次.之间的以及32位和64位的英特尔编译产生的不同尺寸,同时安装Cygwins不代码的事实相当加倍磁盘空间需求.
我刚刚在 Windows 7 SP1 x64 Ultimate 上完整安装了 Cygwin x64 (2018-01-03):
Cygwin 文件夹(默认情况下为C:\cygwin64)具有以下属性:
Cygwin 临时文件夹,在安装之前存储下载的软件包(可以在安装 Cygwin 后删除):
小智 4
首次安装软件包时,setup*.exe 不会安装每个软件包。默认情况下仅安装 Cygwin 发行版中的最小基础包。单击 setup*.exe 软件包安装屏幕中的类别和软件包将使您能够控制安装或更新的内容。单击“全部”类别旁边的“默认”字段将为您提供安装每个 Cygwin 软件包的机会。 安装和更新 Cygwin 软件包
| 归档时间: |
|
| 查看次数: |
42093 次 |
| 最近记录: |