Ubuntu 的 Snap 和 macOS 的 Bundle 有什么区别?

2022-04-13 00:07:34 +08:00
 pocarisweat

好像这个东西就是把依赖像容器一样打包到一块而不依赖系统。但 OS X 这么多年来一直都用.app 打包 GUI 程序,好像也没啥大问题。为什么 Snap 会引起这么大争议呢?

3492 次点击
所在节点    Ubuntu
14 条回复
seakingii
2022-04-13 00:37:16 +08:00
不清楚有什么区别

Snap 好处是巨大的,不依赖别的.但可能是为了实现这一点(不依赖),有很大的问题

这两天用过它安装了一些软件 docker ,结果安装的 docker,能写的文件有路径限制,比如只能写 $HOME 目录下的文件...
安装的 VSCode 也有一些问题

然后就是软件包比较大,也不能用国内镜像加速
66450146
2022-04-13 02:41:16 +08:00
因为不依赖系统意味着不和系统里的其他软件共享依赖,那就意味着同一个依赖项可能会重复,太不 Unix 哲学了

另外就是它用的隔离方式,有的软件从来不考虑,容易出错

其实有这么一个选项非常好,尤其是如果你只用它来弄桌面环境的软件,依赖问题迎刃而解。Unix 那套哲学对前端不太好用……
IvanLi127
2022-04-13 08:39:33 +08:00
用 linux 的用户咋能随随便便地就接受系统里有一堆一样的东西。
wizardyhnr
2022-04-13 09:09:15 +08:00
Linux distro 太多了,开发者用 snap 可以省很多打包的力气,代价就是用户装一个小软件可能要安装几个 G 的 snap 包。比如 cerbot ,明明 pip 可以搞定的事,非要推荐你用 snap 安装。依赖复杂软件这么搞可以理解,但是小型软件也这么弄就有点滥用了。
lonewolfakela
2022-04-13 11:51:21 +08:00
最大的争议就是这玩意儿不能弄镜像,国内下载贼慢……
qwerzl
2022-04-13 11:53:32 +08:00
snap 引起争议的根本在于 snap store 闭源,是一个专有于 Canonical 的项目。

与 snap 竞争的是 flatpak 。是红帽开发的,所有部件都开源,非常受欢迎(不知道为什么国内没有很多人知道),仅仅是开源属性就甩了 snap 几条街。

也许,我是说也许,如果没有 flatpak 这玩意,snap 不会有这么大争议。毕竟这样包装极大方便了开发者。
julyclyde
2022-04-13 14:26:02 +08:00
不能接受 snap 为什么就能接受 docker 呢?
docker 也是一个专属于企业的项目啊
seakingii
2022-04-13 15:10:22 +08:00
@julyclyde 没有 SNAP,用别的凑合能过日子

没有 DOCKER 这样的容器,好多事情就难办了,重要性不是一个级别的.
julyclyde
2022-04-13 16:07:15 +08:00
@seakingii 如果 snap 比 docker 先出来先推广呢,也许就是另一种景象了
dingwen07
2022-04-13 16:40:07 +08:00
Linux 里类似的东西叫 AppImage
KouYiGuo
2022-04-13 17:17:56 +08:00
macOS 的 Bundle 不会把所有的依赖包都打进去,常规的 UIKit 等 Framework 都是内置于系统的。
ysc3839
2022-04-13 18:28:19 +08:00
简单看了下,Snap 和 macOS bundle 差别挺大的。前者还包含包管理功能以及沙盒环境,更加类似 Windows 的 AppX 或 Android 的 apk (不完全一样,后面这两者不是直接挂载镜像,AppX 也可以打包不受沙盒限制的 Win32 应用)。而 macOS bundle 就只是把传统的“主程序+依赖库+资源”的目录结构改了下,然后在界面上假装最顶层的文件夹是一个 app 而已。
至于有的人不喜欢 Snap ,可能是因为 Snap 太重、管得太多。我个人是支持桌面操作系统加入沙盒环境的,但是一些专业用户 (尤其是那些只用开源软件的用户) 可能会觉得:“我用的软件都仔细检查过代码了,不存在恶意行为,为什么还要加个影响性能的沙盒?”就我个人感觉,专业用户往往喜欢自己掌控更多细节,因此不喜欢管太多的工具。

@KouYiGuo UIKit 属于系统 API ,自然不会打包。
KouYiGuo
2022-04-13 18:45:37 +08:00
自从用了一次 Ubuntu ,体验了一把那下载速度(强制 Chromium 从 SnapStore 下载)。啧啧,Linux 桌面版里首先排除掉 Ubuntu 。
freefcw
2022-04-13 23:14:08 +08:00
snap 的下载速度确实是有点不太理想……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/846637

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX