我最近了解到 GIMP 是 Ubuntu 世界中的 Photoshop 替代品,而我所知道的 Photoshop 是一个大约 500MB 的庞大应用程序。在下载 gimp 之前,我想知道应用程序的大小。我运行了
$ apt-cache --no-all-versions show gimp | grep '^Size: '
Size: 3611842
假设这些是字节,则大致相当于 3.61 兆字节。3.61 兆字节?我的意思是,是这个数还是存在一些隐藏的依赖关系,会消耗掉我的互联网分配?
如果它是 3.61 兆字节,那么 Linux 应用程序怎么会这么小?
答案1
Ubuntu 中的软件在打包时通常会分成不同的包,包括:
- 与架构无关的数据,(
gimp-data
) - 二进制,(
gimp
) - 共享库,(
libgimp2.0
) - 开发标题,(
libgimp2.0-dev
) - 插件,(
gimp-data-extra
) - 文档,(
gimp-help-en
) - 并且任何外部依赖项通常也都是单独的包。
结果是主gimp
包依赖于其他gimp
相关包和许多库。实际上,主包的下载大小gimp
约为 3 MB。但总下载大小将远远超过 3 MB。
但是你很少在 Ubuntu 存储库中看到巨大的单片软件包。0ad-data
,特别是大的包,甚至不是单片的 - 它只包含 0 AD 游戏的数据文件,二进制文件在0ad
.
来自存储库外部的软件包(例如 Gitlab 综合包(~300 MB!))可能非常大,因为那些开发人员决定将每个依赖项包含在单个包中,而不是依赖于存储库包。
至于总下载大小,这取决于您的系统上已安装的库。apt
将告诉您将下载多少内容:
$ sudo apt install gimp
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
gimp-data libamd2.4.1 libbabl-0.1-0 libblas-common libblas3 libcamd2.4.1 libccolamd2.9.1 libcholmod3.0.6 libgegl-0.3-0 libgfortran3 libgimp2.0 liblapack3 libsdl1.2debian libumfpack5.7.1 python-cairo python-gobject-2 python-gtk2
Suggested packages:
gimp-help-en | gimp-help gimp-data-extras python-gobject-2-dbg python-gtk2-doc
The following NEW packages will be installed:
gimp gimp-data libamd2.4.1 libbabl-0.1-0 libblas-common libblas3 libcamd2.4.1 libccolamd2.9.1 libcholmod3.0.6 libgegl-0.3-0 libgfortran3 libgimp2.0 liblapack3 libsdl1.2debian libumfpack5.7.1 python-cairo python-gobject-2 python-gtk2
0 upgraded, 18 newly installed, 0 to remove and 0 not upgraded.
Need to get 17.2 MB of archives.
After this operation, 92.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]
答案2
我最近了解到 GIMP 是 Ubuntu 世界中的 Photoshop 替代品
这种说法会引起很多争论。两者都是图像编辑软件包,各有优缺点。
我的意思是,是不是有一些隐藏的依赖关系会消耗掉我的互联网分配?
gimp 分为多个软件包,其中三个是必需的,还有几个是可选的。这些软件包还依赖于不属于 gimp 的其他库,这些库可能已经安装,也可能尚未安装。
三个必需的库是 gimp、gimp-data 和 libgimp,总下载大小(安装后的大小会更大)大约为 12 兆字节,除此之外,还有一些不属于 gimp 但它需要的库,确切的集合将取决于您已经安装的内容。
那么Linux应用程序怎么会这么小呢?
原因有几个,首先,Linux 发行版尝试在不同的应用程序之间共享尽可能多的代码,而供应商分发的应用程序(适用于 Windows 和 Linux)倾向于嵌入大量的库。
其次,图像编辑工具的大小很大一部分不是核心图像编辑功能。而是所有附加功能,并且特定附加功能的价值与其大小仅松散相关。
答案3
首先,GIMP 很难与 Photoshop 相提并论。作为最好的开源产品,并不意味着您可以与专有的 600 磅大猩猩相提并论。
我最近了解到 GIMP 是 Ubuntu 世界中的 Photoshop 替代品,而我所知道的 Photoshop 是一个巨大的应用程序,大约 500MB
这甚至与 GIMP 的大小相差甚远。例如,GIMP 打包的依靠以下,
依赖:libgimp2.0 (>= 2.10.6)、libgimp2.0 (<= 2.10.6-z)、gimp-data (>= 2.10.6)、gimp-data (<= 2.10.6-z)、libgdk-pixbuf2.0-0 (>= 2.27.1)、xdg-utils、libaa1 (>= 1.4p5)、libbabl-0.1-0 (>= 0.1.10)、libbz2-1.0、libc6 (>= 2.27)、libcairo2 (>= 1.12.2)、libfontconfig1 (>= 2.12.6)、libfreetype6 (>= 2.2.1)、libgcc1 (>= 1:3.0)、libgegl-0.4-0 (>= 0.4.8)、libgexiv2-2 (>= 0.10.6)、libglib2.0-0 (>= 2.55.2)、libgs9 (>= 8.61.dfsg.1)、libgtk2.0-0 (>= 2.24.10)、libgudev-1.0-0 (>= 167)、libharfbuzz0b (>= 0.6.0)、libheif1 (>= 1.1.0)、libilmbase23 (>= 2.2.0)、libjpeg8 (>= 8c)、liblcms2-2 (>= 2.8)、liblzma5 (>= 5.1.1alpha+20120614)、libmng2 (>= 1.0.10)、libmypaint-1.3-0 (>= 1.3.0)、libopenexr23、libopenjp2-7 (>= 2.0.0)、libpango-1.0-0 (>= 1.29.4)、libpangocairo-1.0-0(>= 1.29.4)、libpangoft2-1.0-0(>= 1.29.4)、libpng16-16(>= 1.6.2-1)、libpoppler-glib8(>= 0.44.0)、librsvg2-2(>= 2.14.4)、libstdc++6(>= 5.2)、libtiff5(>= 4.0.3)、libwebp6(>= 0.5.1)、libwebpdemux2(>= 0.5.1)、libwebpmux3(>= 0.6.1-2)、libwmf0.2-7(>= 0.2.8.4)、libx11-6、libxcursor1(>> 1.1.2)、libxext6、libxfixes3、libxmu6、libxpm4, zlib1g(>= 1:1.1.4)
因为 Ubuntu 不是一个滚动发行版,所以 GIMP 的构建是安全的认为当您安装时,这些版本存在于系统中。但是,Windows 和类似的操作系统不提供存储库来满足这些依赖关系;因此,它们可以不是做出如此大胆的假设。这意味着上述库必须静态链接进来,或者必须自行提供。
此外,虽然上述所有库都必须由 Windows 上的 Photoshop 打包,但 Adobe 还必须进一步解决其他问题,
Microsoft Windows 7 Service Pack 1(64 位)*、Windows 10**(版本 1709 或更高版本)
他们有适用于两个 Windows 版本的下载。