PackageKit
开发者 | Richard Hughes |
---|---|
首次发布 | 2014年9月12日 |
当前版本 |
|
原始码库 | |
编程语言 | C, C++, Python |
操作系统 | Linux |
类型 | 软件包管理系统 |
许可协议 | GNU通用公共许可证 |
网站 | www |
PackageKit是由Richard Hughes所开发的自由且开源的应用软件套装,旨在为多种不同的软件包管理系统提供一个一致的高阶前端。
此软件套装表面上是跨平台的,但它主要的目标是提供遵循Freedesktop.org标准的Linux发行版之间的互操作性。它使用D-Bus及Polkit提供的函数库来处理内部进程沟通及获取权限。
历史
PackageKit是由Richard Hughes在他的部落格上于2007年首次提出[2][3],现在由一个小型团队进行开发。Fedora 9 是第一个使用PackageKit作为yum的默认前端的发行版。其在Fedora 10 及 Fedora 11历经了多次更新。
设计
PackageKit本身是一个称做 packagekitd
的守护进程,它将不同系统中的差异抽象化。另一个称为 libpackagekit
的函数库允许其他程序与PackageKit进行交互[4]。
其特性包括:
- 可以从本机文件、套装媒体或是远程资源中进行安装。
- 使用Polkit获取权限。
- 不会取代已存在的软件包管理系统。
- 多用户系统感知 - 它不会允许在事务处理的关键部分关机。
- 不使用时可以关闭。
前端
PackageKit目前有数种前端:
-
废弃的gnome-packagekit
- pkcon 供命令行界面使用。
后端
许多不同的软件包管理系统(称为后端)支持多种不同的抽象方法及信号供前端工具使用[5]。支持的后端包括了:
- APT
- box[来源请求]
- Conary
- DNF
- Sabayon Linux的Entropy(页面存档备份,存于互联网档案馆)
- Opkg
- Pacman
- PiSi
- poldek(页面存档备份,存于互联网档案馆)
- Portage
- razor(页面存档备份,存于互联网档案馆)
- Smart Package Manager
- YUM
- ZYpp
- urpmi
参见
参考资料
- ^ Release 1.3.0. 2024年6月16日 [2024年6月22日].
- ^ Installing and Updating Software Blows Goats. Richard Hughes. [2011-01-18]. (原始内容存档于2013-01-28).
- ^ Robert Hughes' blog posts about PackageKit. Richard Hughes. [2011-01-18]. (原始内容存档于2013-01-28).
- ^ PackageKit Reference Manual. packagekit.org. [2009-07-10]. (原始内容存档于2009-07-16).
- ^ Frequently asked questions. packagekit.org. [2009-07-10]. (原始内容存档于2013-01-28).