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

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

  •  
  •   pocarisweat Apr 13, 2022 4346 views
    This topic created in 1492 days ago, the information mentioned may be changed or developed.

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

    14 replies    2022-04-13 23:14:08 +08:00
    seakingii
        1
    seakingii  
       Apr 13, 2022   1
    不清楚有什么区别

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

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

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

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

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

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

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

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

    @KouYiGuo UIKit 属于系统 API ,自然不会打包。
    KouYiGuo
        13
    KouYiGuo  
       Apr 13, 2022
    自从用了一次 Ubuntu ,体验了一把那下载速度(强制 Chromium 从 SnapStore 下载)。啧啧,Linux 桌面版里首先排除掉 Ubuntu 。
    freefcw
        14
    freefcw  
       Apr 13, 2022
    snap 的下载速度确实是有点不太理想……
    About     Help     Advertise     Blog     API     FAQ     Solana     3300 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 61ms UTC 13:46 PVG 21:46 LAX 06:46 JFK 09:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86