其他分享
首页 > 其他分享> > 软件包管理系统知多少

软件包管理系统知多少

作者:互联网

作者博客:途中的树

软件包管理工具简述

有计算机系统就有软件,那么我们平时是如何安装软件的呢?当然可以直接下载软件使用,比如诸君(包括我)电脑上的众多盗版软件,大概是直接从网页上下载的,除此之外,在手机上我们也常用App store或者google play来下载软件,这类工具其实就是软件包管理系统。软件包管理系统是在电脑中自动安装、配制、卸载和升级软件包的工具组合,在各种系统软件和应用软件的安装管理中均有广泛应用。 因此软件包也被称为软件安装管理器。

通常,一个软件包只是一个特定的程序。例如,即时通讯客户端gaim就包含在Debian的同名软件包中。另一方面,程序由几个相互关联的软件包组成是很常见的。例如,gimp图像编辑器不仅由gimp包组成,还包括gimp-data包;此外,还有几个可选的附加包(包含深奥的数据、文档等)。几个相关的小程序也有可能包含在一个软件包中:例如,fileutils软件包包含几个常见的Unix命令,如ls、cp等。

有些软件包需要其他软件包才能发挥作用。在 Debian 中,软件包可以依赖、推荐、建议、破坏或与其他软件包冲突。

软件包管理器的工作是提供一个交互界面,帮助用户管理安装在系统上的软件包集合。这对大型项目特别有用,因为这些项目的操作系统通常由数百甚至数万个不同的软件包组成。

Ian Murdock曾评论说,软件包管理是 “Linux给业界带来的最大的进步”,它模糊了操作系统和应用程序之间的界限,并使它 “更容易将新的创新…推向市场,…使操作系统不断发展”。

软件包管理系统分类

通用软件包管理器

也被称为二进制存储库管理器,它是一种软件工具,旨在优化软件开发过程中使用和产生的二进制文件、artifacts和包的下载和存储。这些包管理器使项目对待所有包类型的方式标准化。它们让用户有能力在所有工件类型中应用安全和合规性指标。通用软件包管理器被称为是DevOps工具链的中心。

格式化软件包管理器

这类软件包管理器对应的软件包都有特定的格式,以及适当的元数据,例如软件包之间依赖关系等。

例如在移动操作系统中,Google Play是Android应用程序包(APK)格式,而Windows Store使用APPX和XAP格式。(Google Play和Windows Store都有同名的软件包管理器)。

另外,有时候软件包管理器之间也是相互依赖的,如Yum依赖于rpm作为后台。Yum通过增加诸如维护系统网络的简单配置等功能来扩展rpm的功能。再比如,Synaptic软件包管理器通过使用高级打包工具(apt)库提供了一个图形用户界面,而这个库的核心功能又依赖于dpkg

其实啊现在的开源软件包管理系统都是依赖于rmp或者dpkg的

Alien是一个在不同的Linux软件包格式之间进行转换的程序,支持在符合Linux标准基础(LSB)的.rpm软件包、.deb、Stampede(.slp)、Solaris(.pkg)和Slackware(.tgz、.txz、.tbz、.tlz)软件包之间进行转换。

开源软件包管理系统

根据开源软件包管理系统的性质,在类似和兼容的许可证下的软件包可以在一些操作系统上使用。这些软件包可以使用可配置的、内部复杂的打包系统进行组合和分发,以处理许多软件的排列组合,并管理特定版本的依赖关系和冲突。一些开源软件包管理系统本身也作为开源软件发布。专利操作系统(如Mac OS X和Windows)中的软件包管理与开源软件包管理系统(如Linux)中的软件包管理之间的一个典型区别是,开源软件包管理系统允许第三方软件包也通过同一机制进行安装和升级,而Mac OS X和Windows的软件包管理器只会分别升级由苹果和微软提供的软件,如Windows中的一些第三方驱动程序除外,持续升级第三方软件的能力通常是通过在软件包管理的配置文件中添加相应存储库的URL来实现的。

应用级软件包管理器

除了系统级的应用管理器,还有一些附加的软件包管理器,用于功能有限的操作系统和开发人员需要最新库的编程语言。

与系统级软件包管理器相比,应用级软件包管理器专注于软件系统的一小部分。它们通常驻扎在一个不由系统级软件包管理器维护的目录树中,如 c:\cygwin/usr/local/fink。然而,对于处理编程库的软件包管理器来说,情况可能并非如此,这导致了可能的冲突,因为两个软件包管理器都可能声称 "拥有 "一个文件,并可能破坏升级。

软件包管理系统列表

通用软件包管理器

下列软件包管理系统以二进制包的形式发布应用程序,即所有的应用程序都被编译并准备好安装和使用。

类Unix

Linus
Android
MacOS
BSD
Solaris, illumos
iOS
Windows

应用程序级软件包管理器

标签:管理器,管理系统,Windows,软件包,使用,知多少,跨平台,Linux
来源: https://blog.csdn.net/weixin_33204399/article/details/119114579