+ -
当前位置:首页 → 问答吧 → 什么叫殊途同归?请看:

什么叫殊途同归?请看:

时间:2011-02-06

来源:互联网

本帖最后由 unixlinuxsys 于 2011-02-06 13:51 编辑

AppStream: Linux 软件统一安装框架


要说各大 Linux 发行版之间最大的区别是什么?我想最明显的一点就是很多发行版都有自已一套独立的包管理系统,比如 Debian 系的有 Deb 包及 apt 系统、 Redhat 系的有 rpm 及 yum 系统、Archlinux 有 Pacman 、Gentoo 有 emerge ,这种分散的软件打包方式对于桌面用户及开发者而言带来了相当大的不便。不过值得期待的是,这种困境在也许在未来将会得到改变。

事情是这样的,最近一群来自于 RedHat, Fedora, Debian, Ubuntu, openSUSE, Mandriva 和 Mageia  等各大发行版及 Linux 厂商的开发者们,聚集在位于德国纽伦堡的 Suse 办公室,举行了一次名为 ” App Installer  Meeting ” 的技术会议 (  53 分钟长的会议视频 / Wiki 文档 )。这次会议的主要目的就是商讨如何实现一个通用型的 Linux 软件统一安装框架,项目名称可以暂定为  AppStream  ( 项目主页 )。( 或者也可以称之为 app store, market place, software center 等等,总之因为是初始阶段,还没有定论)。

不同于之前 Ryan Gordon 提出的 FatELF 格式 ( 它需要把 kernel 模块、依赖包、库及软件文件等打包成巨大的文件,因此这个项目后来难产了),AppStream的灵感来源于 Bretzn Project 项目,它的实现机制简单来说就是当开发者发布代码后,它会为不同的发行版及架构打包软件,并通过一个统一的平台进行分发。

- 技术方面 :

AppStream 的框架实现基本上都是利用了现成的开源工具,比如后端采用 PackageKit [1] 包管理系统, Ubuntu Software Center 将作为前端用户界面,利用 OCS ( Open Collaboration Services) 作为用户评价及评论工具,利用 Xapian servers 提供搜索服务。

而带有包信息、图标位置、仓库类型等的元数据将被存储于专门的服务器上。另外还会利用别的服务器从 .desktop 文件(参与的发行版需要提供各自的包)中提取包信息并输出所有信息到通用 XML 文件中,同时提交给每个发行版各自的包管理系统中。

- 整体架构图:  / Wiki 文档


- 结论:

AppStream不会取代各发行版现有的包管理机制,它只在这一层面上提供了一个通用型的软件安装框架,以便不同发行版的终端用户能用同一种方式来安装应用软件。同时它还提供一个用于评分/评论的社会化平台。

我们可以这样设想一下,也许这种技术将会为我们带来一个类似于 MAC App Store 那样的 Gnu/Linux  APP Store ,这岂不是超赞的事情。

- 注:

    * [1] PackageKit 是一个适用于 Linux 系统的新的包管理器。它包括运行在后台的守护程序 packagekitd 和前端界面程序 gnome-packagekit 两部分。PackageKit 的优势在于它试图成为一个跨发行版本及跨架构 API 的 Linux 通用包管理器。PackageKit 支持将 yum、conary、apt、box、pacman/alpm 等作为后端。(来源: LinuxToy)

- 参考:

   1. Ostatic : One Package Manager for them All
   2. Phoronix: Introducing AppStream, Multi-Distro App Framework

作者: unixlinuxsys   发布时间: 2011-02-06

O(∩_∩)O哈哈~了解了下

作者: 300second   发布时间: 2011-02-06