为什么抛弃snap转头APT或DNF,推荐使用DNF
Author:zhoulujun Date:
Snap是由Canonical公司开发的一种软件包和环境管理系统,它允许用户在各种Linux发行版上安装和运行应用程序。
Snap的全称是Snappy Ubuntu Core,它是一个简化的Ubuntu版本,专门用于运行Snappy所提供的应用程序。
使用层面,看官方文档就够了:https://snapcraft.io/docs/installing-snap-on-centos
安装snap:dnf install snapd/apt install snapd
查找snap包:snap search <package_name>
安装snap包:snap install firefox
列出已安装的Snap包:snap list
卸载Snap包:snap remove firefox
Snap与APT/DNF/YUM的区别
Snap包是自包含的,包含了应用程序所需的所有依赖项。这意味着Snap包可以在任何支持Snap的Linux发行版上运行,而无需担心依赖问题。
Snap的一个重要的特点是应用程序中包含了所有的依赖库和资源,以确保应用能够正常运行,而不受系统的影响。使用Snap软件包安装的应用程序不仅具有独立性和可移植性,同时还可以使用最新的软件版本,无需等待官方软件包库更新
但较明显的缺点是性能相对较差,软件包的体积大,中心化的软件商店,不透明的运行机制等,但最关键的一个点在于:
它违背了Linux操作系统的理念与精神
Redhat这样的商业巨头,它的YUM包管理,也是开源与自由的,并不只属于Redhat。比如CentOS可以建立自己的YUM软件仓库。
但Ubuntu的Snap越过了这个界线,虽然它有一部分是开源的,但事实上,Snap是一个中心化的包管理,它有一个类似App Store这样的中心存在,当然是由Canonical来维护管理的。
而除了Canonical以外,其它都无法复制或运营一个自己的Snap软件管理中心,也就是你只能使用Canonical的这个。因为它有一些专有实现在其中。
但APT等的包依赖于系统的库和依赖项。如果缺少某些依赖项,可能会导致安装失败或应用程序无法正常运行。
Redhat明显非常克制,它一直都是非常遵守自由与开源的理念,Redhat通过售卖专业的服务来赚取利润,而在过往的十多年中,Redhat始终是Linux内核的最大贡献商业公司。REHL也是原始的Linux发行版本,类似CentOS这样的,是REHL开源的受益者。
而相比之下,Canonical的Ubuntu本身是基于Debian基础之上的再发行版本,Linux内核的贡献也远远比不上Redhat,还整出了Snap这种专有的中心化的专有包软件管理,步伐迈的有点过大了。
由于 Snap 应用程序自带所有依赖,当启动这些应用时,可能需要加载更多的资源到内存中,这可能导致启动时间稍长以及更高的内存占用。
相对来说,通过 DNF 安装的应用程序依赖于系统的共享库,因此它们通常启动更快且使用的内存更少。
基于此,我个人推荐使用DNF
转载本站文章《为什么抛弃snap转头APT或DNF,推荐使用DNF》,
请注明出处:https://www.zhoulujun.cn/html/OS/Linux/LinuxDevops/9378.html