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

例如,Debian及其衍生产品(例如Ubuntu)使用.deb通过DPKG软件包管理系统管理的软件包,而RHEL(红帽企业Linux)家族中的发行版则.rpm使用通过RPM软件包管理系统管理的软件包。

在过去的几年中,在通用或交叉分发的软件包管理工具兴起之后,Linux生态系统中的软件包管理和分发从未如此。这些工具使开发人员可以从一个版本中为多个Linux发行版打包其软件或应用程序,从而使用户可以轻松地在多个受支持的发行版上安装相同的软件包。

在本文中,我们将回顾用于Linux的前3个开源通用或交叉分发软件包管理系统。

1.捕捉

Snap是由Ubuntu Linux的制造商Canonical开发的一种流行的开源应用程序/程序包格式和程序包管理系统。现在有几个Linux发行版支持快照,包括Ubuntu,Debian,Fedora,Arch Linux,Manjaro和CentOS / RHEL。

一卡的应用程序与它的依赖性(依赖免费),方便安装在任何Linux发行版,支持卡扣捆绑交叉分布的应用程序。快照可以在台式机,服务器,云或IoT(物联网)中运行。

要创建或捕捉应用程序,请使用snapcraft,框架和功能强大的命令行工具来构建捕捉。要在Linux中安装和使用快照,您需要安装snapd(或snappy守护程序),这是一项使Linux系统能够处理.snap文件的后台服务。快照的实际安装是使用snap命令行工具完成的。

因为它们在限制(不同和可配置的限制级别)下运行,所以默认情况下快照是安全的。重要的是,需要访问超出其限制范围的系统资源的快照会使用“ 接口 ”,该接口由快照的创建者根据快照的要求精心选择。这使您可以在不损害基本操作系统的稳定性和灵活性的情况下运行应用程序。

此外,快照程序包管理系统使用称为通道的概念(由通道,风险级别和分支组成,并由其细分)来确定安装并跟踪了哪个快照版本以进行更新。快照也会自动更新,您可以手动管理该过程。

2. FlatPak

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

Flatpak的运行时提供了应用程序可以利用的通用库平台。但是,这也使您可以非常轻松地完全控制依赖项,可以将自己的库捆绑为应用程序的一部分。

Flatpak附带易于使用的构建工具,并为开发人员提供了一致的环境(跨设备相同,类似于用户已经拥有的环境),供开发人员构建和测试其应用程序。

Flatpak的一个有用方面是前向兼容性,其中相同的flatpak可以在同一发行版的不同版本上运行,包括尚未发布的版本。它还努力并继续与Linux发行版的新版本兼容。

如果您是开发人员,则可以通过Flathub(可在所有发行版中分发应用程序的集中服务)将应用程序提供给Linux用户。

3. AppImage

AppImage还是一种开放源代码打包格式,允许开发人员打包一次在所有主要Linux桌面发行版上运行的应用程序。与以前的软件包格式不同,使用AppImage无需安装软件包。只需下载您打算使用的应用程序,使其可执行并运行,就这么简单。它支持大多数32位和64位Linux桌面。

AppImage具有许多优点。对于开发人员而言,无论运行Linux发行版和版本的用户如何,它都使他们能够吸引尽可能多的用户。对于用户而言,他们无需担心应用程序依赖关系,因为每个AppImage都与其所有依赖关系捆绑在一起(一个应用程序=一个文件)。使用AppImage尝试新版本的应用程序也很容易。

对于支持大量台式机系统并且通常阻止用户安装可能破坏系统的应用程序的系统管理员,他们不再需要担心。有了AppImage,系统将保持完整,因为用户不必安装应用程序即可运行它们。

通用或交叉分发软件包格式是在Linux生态系统中构建和分发软件的下一代技术。但是,传统的包装管理系统仍在稳步发展。

※更多文章和资料|点击后方文字直达 ↓↓↓ 100GPython自学资料包 阿里云K8s实战手册 [阿里云CDN排坑指南]CDN ECS运维指南 DevOps实践手册 Hadoop大数据实战手册 Knative云原生应用开发指南 OSS 运维实战手册 云原生架构白皮书 Zabbix企业级分布式监控系统源码文档 Linux&Python自学资料包 10G面试题戳领

适用于Linux的3个顶级开源交叉分发软件包管理系统相关推荐

  1. raspberry pi_适用于Linux,Raspberry Pi和开源的游戏:年度热门读物

    raspberry pi 对于游戏和Linux来说,这是一个好年头. 一方面,近年来在Linux上玩专有游戏变得更加容易,但是开源游戏也取得了许多进步,这在一定程度上要归功于复古游戏的复兴. 如果您是 ...

  2. 合三为一,Linux 基金会欲打造顶级开源峰会

    继微软加入之后, Linux 基金会又有新动作了. 基金会已经宣布将 LinuxCon.CloudOpen 和 ContainerCon 三个技术大会合并成:Linux 基金会开源峰会. 该组织最近也 ...

  3. 适用于 Linux 的 VMware Horizon Client 5.5 发行说明

    适用于 Linux 的 VMware Horizon Client 5.5 发行说明 Twitter FaceBook LinkedIn Weibo 添加到库 添加到库 RSS 纯文本 发送反馈 反馈 ...

  4. linux redis客户端_10个 Linux 顶级开源缓存工具

    可靠的分布式计算系统和应用程序已成为杰出业务的基石,尤其是在自动化和管理关键任务业务流程以及向客户提供服务方面.作为这些系统和应用程序的开发人员和系统管理员,您应该提供各种信息技术(IT)解决方案,以 ...

  5. Linux 下五个顶级的开源命令行 Shell

    这个世界上有两种 Linux 用户:敢于冒险的和态度谨慎的. 其中一类用户总是本能的去尝试任何能够戳中其痛点的新选择.他们尝试过不计其数的窗口管理器.系统发行版和几乎所有能找到的桌面插件. 另一类用户 ...

  6. python开源流程图软件_适用于Linux的10种最佳流程图和图表软件

    图表是我们联系信息并处理其重要性的好方法. 它们有助于沟通关系和抽象信息,并使我们可视化概念. 流程图和图表工具可用于从基本工作流程图到复杂网络图 ,组织图, BPMN ( 业务流程模型和表示法 ), ...

  7. 50个顶级开源营销应用程序

    显然,开源营销应用程序占有一席之地.如今,营销部门负责相当大比例的企业应用程序购买和部署决策.事实上,Gartner预测,到2017年,首席营销官(CMO)将比首席信息官(CIO)在IT上花费更多. ...

  8. 75个顶级开源安全应用

       本文转载自: http://www.iii-soft.com/forum.php?mod=viewthread&tid=1513    随着网络犯罪的日益增多,或许我们需要更多资金投入到 ...

  9. 75个顶级开源安全应用(1)

    据美国联邦调查局(FBI)称,2009年网络犯罪投诉数量增长了20%,受害者所遭受的经济损失是去 年的两倍多,达到了5.59亿美元.随着网络犯罪数量的增长,保护系统安全显得比以往任何时候都更加重要.不 ...

最新文章

  1. springboot:banner.txt
  2. nyoj11-奇偶数分离
  3. 苹果浏览器移动端click事件延迟300ms的原因以及解决办法
  4. poi 默认2位小数_odoo小数精确度
  5. js webapp://_Project Student:维护Webapp(只读)
  6. Android工具HierarchyViewer 代码导读(3) -- 后台代码
  7. windows7自带录制屏幕怎么用
  8. jquery:使用 SoundManager 2 创建简单的网页音频播放器
  9. [网页设计]Ajax、Comet与Websocket--转
  10. Linux内存实际使用率
  11. python excel 教程推荐_python脚本实现数据导出excel格式的简单方法(推荐)
  12. Python 线程 进程 协程
  13. linux设备数内核选项,linux内核设备树修改指南 / linux kernel device tree modify guide
  14. 编译工具链和交叉编译工具链简易说明
  15. 拿下60亿流量的《惊雷》都是哪些人在听?python帮你统计出来
  16. 生活中的逻辑谬误06.德克萨斯神枪手
  17. 怎样将图片制作转换圆形图片
  18. [RK3568 Android11] 开发之强制APP横屏或者竖屏显示
  19. 不想在网易博客写技术文章了
  20. 水果食用大全 -- 果品食疗 - 葡萄

热门文章

  1. Gentler编程简介
  2. 转载 PCIe学习(三):PCIe DMA关键模块分析之二
  3. stm32—温湿度传感器
  4. javascript 判断当前浏览器版本
  5. 辰视智能携手大族机器人亮相深圳工业展暨22届SIMM深圳机械展
  6. 怎么用计算机来玩反恐精英,你第一次去网吧是为了玩什么游戏?网友:反恐精英一直到英雄联盟...
  7. 《数据结构与算法》(二十)- 散列表查找
  8. 安徽大学c语言作业题库,安徽大学C语言考试试卷
  9. Python实践-咚咚呛讲师Python进阶教程
  10. eclipse luna java 版本_eclipse luna使用jdk1.8初始化