Linux通用的跨发行版的3大软件包管理器

系统 Linux
在本文中,我们将介绍比较流行的三种Linux开源通用或跨发行版软件包管理系统。

前言

本文主要介绍Linux系统上通用的跨发行版的3大软件包管理器。

Linux系统上的软件包管理可能非常令人困惑,尤其是对于新手,因为不同的Linux发行版使用不同的包管理系统。在大多数情况下,最令人困惑的部分是软件包依赖项的解析和管理。

例如,Debian及其衍生产品Ubuntu使用.deb和dpkg包管理系统,RHEL (Red Hat Enterprise Linux)家族使用.rpm包及其对应的管理工具。

在过去的几年里,随着通用软件包管理工具或跨发行版的软件包管理工具的兴起,Linux生态系统中的软件包管理和分发已经变得不一样了。这些工具允许开发人员将他们的软件或应用程序从单个构建打包到多个Linux发行版,这使得用户可以轻松地在多个受支持的发行版上安装相同的包。

在本文中,我们将介绍比较流行的三种Linux开源通用或跨发行版软件包管理系统。

1. snap

snap是一个流行的开源应用程序,它也是一个软件包管理系统,由Canonical开发,Ubuntu Linux的制造商。一些Linux发行版现在支持快照,包括Ubuntu、Debian、Fedora、Arch Linux、Manjaro和CentOS/RHEL。

[[333127]]

snap应用程序是一种跨发行版应用程序,它与所有依赖项(或无依赖项)捆绑在一起,便于安装在任何支持snaps的Linux发行版上。snap可以在桌面、服务器、云或物联网上运行。

要创建snap应用程序,可以使用框架snapcraft和用于构建snap的强大命令行工具。要在Linux中安装和使用快照,需要安装snapd(或snappy守护进程),这是一种允许Linux系统使用.snap文件的后台服务。snap的实际安装是使用snap命令行工具完成的。

snap在默认情况下是安全的。重要的是,需要访问其限制之外的系统资源的snap使用了一个接口,该接口是由snap的创建者根据snap的需求精心挑选的。这使您能够在不影响基本操作系统的稳定性和灵活性的情况下运行应用程序。

此外,snap包管理系统使用称为通道的概念(它由跟踪、风险级别和分支组成,并被细分)来确定安装和跟踪哪一个snap版本的更新。snaps还可以自动更新,这是一个可以手动管理的过程。

2. flatpak

flatpak是一个著名的用于在Linux发行版上发布桌面应用程序的开源框架。由独立社区开发的flatpak允许在几乎任何Linux发行版上安装和运行单个应用程序构建。它总共支持25个发行版,包括Fedora, Ubuntu, RHEL, CentOS, OpenSUSE, Arch Linux,也可以在Raspberry Pi上运行。

flatpak的运行时提供了应用程序可以利用的公共库的平台。但是,它也使完全控制依赖关系变得极其容易,您可以将自己的库绑定为应用程序的一部分。

flatpak提供了易于使用的构建工具,并为开发人员构建和测试他们的应用程序提供了一致的环境(跨设备相同且与用户已有的环境相似)。

flatpak可向前兼容性,即相同的flatpak可以在相同发行版的不同版本上运行,包括开发人员尚未发布的版本。它还努力并继续与Linux发行版的新版本兼容。

如果您是一名开发人员,您可以通过Flathub让您的应用程序对Linux用户可用,Flathub是一个用于在所有发行版上分发应用程序的集中服务。

3. AppImage

AppImage也是一种开源包格式,允许开发人员一次打包一个应用程序,它可以在所有主要的Linux桌面发行版上运行。与前面的包格式不同,对于AppImage,不需要安装包。只需下载你打算使用的应用程序,让它可执行,然后运行它——就是这么简单。它支持大多数32位和64位Linux桌面。

[[333129]]

AppImage有很多优点。对于开发人员来说,它使他们能够接触到尽可能多的用户,不管用户运行哪种Linux发行版。对于用户来说,他们不需要担心应用程序依赖关系,因为每个AppImage都与它所有的依赖关系绑定在一起(一个应用等于一个文件)。用AppImage尝试新版本的应用程序也很容易。

管理管理员不再通过阻止普通用户安装软件的方式保证系统的安全和一致性。有了AppImage,系统将保持完整,因为用户不必安装应用程序来运行它们。

通用跨发行版的软件包格式是在Linux生态系统中构建和分发软件的下一代技术。然而,传统的包管理系统仍然占据着一席之地。

原文链接:https://www.linuxrumen.com/rmxx/1815.html

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2010-02-05 14:46:20

Ubuntu软件包

2021-02-28 13:26:15

Linux软件包管理器软件仓库

2018-11-22 08:00:00

Linux软件包管理器Nix

2010-01-06 16:33:24

Ubuntu软件包

2010-01-05 10:14:09

Ubuntu软件包

2021-01-21 12:22:33

LinuxChrome谷歌

2023-10-23 10:15:40

UbuntuNixLinux

2020-06-01 07:00:00

WingetWindows 10软件包管理器

2021-04-25 18:41:17

Windows软件包管理器微软

2021-01-30 09:23:27

Windows操作系统微软

2021-05-28 16:00:45

Windows操作系统微软

2018-08-29 11:15:50

Linux软件包命令

2022-10-11 16:09:27

系统Linux管理器

2011-11-15 09:22:20

Solaris 11

2016-01-29 14:32:19

Linux软件包管理

2020-06-28 13:56:01

UbuntuAptSynaptic

2010-03-17 13:53:35

Fedora Core

2010-03-17 13:42:41

Fedora Core

2010-01-11 17:49:08

Fedora软件包

2009-10-13 09:22:01

Linux发行版
点赞
收藏

51CTO技术栈公众号