要说各大 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 ,这岂不是超赞的事情。
- 注:
- 参考:
20 Responses to AppStream: Linux 软件统一安装框架
lewis
一月 27th, 2011 at 2:32 下午
cool~
[Reply]
xndcn
一月 27th, 2011 at 2:33 下午
统一的前端,分立的后台,这是一个统一的好思路
再把前端迁移到云端就更美好了。当迁移到其他发行版时可以自动安装以前装好的那些软件
[Reply]
molezz
一月 27th, 2011 at 2:36 下午
对, 这个早该弄了, 不用来回的折腾yum或apt-get, 统一以后, 使用各发行版也方便一点
[Reply]
ubuntuus
一月 27th, 2011 at 3:04 下午
那各大发行版之间的区别就只剩界面,主题,风格等浮云了
[Reply]
riku Reply:
一月 27th, 2011 at 3:06 下午
@ubuntuus, 没有啊,它不会取代各发行版现有的包管理机制,只是再加了一层。
[Reply]
rox
一月 27th, 2011 at 3:05 下午
好消息,不过前两天,刚刚看到Fedora的新网卡命名规则,很郁闷!
[Reply]
App Installer: Linux软件统一安装框架 « 每日IT新闻,最新IT资讯,聚合多站点消息,保证你与世界同步
一月 27th, 2011 at 3:30 下午
[...] riku 写道 “要说各大 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 软件统一安装框架,项目名称可以暂定为 App Installer ( 或者也可以称之为appstream , app store, market place, software center 等等,总之因为是初始阶段,还没有定论)。 不同于之前 Ryan Gordon 提出的 FatELF 格式 ( 它需要把 kernel 模块、依赖包、库及软件文件等打包成巨大的文件,因此这个项目后来难产了),App Installer 的灵感来源于 Bretzn Project 项目,它的实现机制简单来说就是当开发者发布代码后,它会为不同的发行版及架构打包软件,并通过一个统一的平台进行分发。技术详情及整体架构图。” [...]
riku
一月 27th, 2011 at 3:40 下午
我想说的是,未来可能会在其它发行版上也能见到 Ubuntu Softer Center 的影子。
[Reply]
sgsgyg
一月 27th, 2011 at 6:03 下午
好消息,期待统一的一天,社区需要竞争也需要更多的合作
[Reply]
NIX
一月 27th, 2011 at 7:03 下午
应该赶快到来,明年能用上么?
[Reply]
fanhe
一月 27th, 2011 at 11:08 下午
最大的好处是方便了开发者,用户还是该apt的就apt,该yum的就继续yum
[Reply]
riku Reply:
一月 27th, 2011 at 11:10 下午
你搞反了,是方便了用户,开发者干得还跟原来一样。
[Reply]
书痕
一月 28th, 2011 at 8:45 上午
对于想用Ubuntu的用户而言,似乎这比到处找软件下的windows软件安装方式更方便了
[Reply]
chrisniu1984
一月 28th, 2011 at 9:57 上午
顶,linux阵营对抗其他阵营就需要解决分裂问题(至少从前端解决)
[Reply]
R.
一月 28th, 2011 at 11:43 上午
AppStream不会取代各发行版现有的包管理机制,它只在这一层面上提供了一个通用型的软件安装框架,以便不同发行版的终端用户能用同一种方式来安装应用软件。同时它还提供一个用于评分/评论的社会化平台。
希望能有积极的效果
[Reply]
App Installer: Linux软件统一安装框架 | 四有流氓
一月 28th, 2011 at 12:47 下午
[...] 不同于之前 Ryan Gordon 提出的 FatELF 格式 ( 它需要把 kernel 模块、依赖包、库及软件文件等打包成巨大的文件,因此这个项目后来难产了),App Installer 的灵感来源于 Bretzn Project 项目,它的实现机制简单来说就是当开发者发布代码后,它会为不同的发行版及架构打包软件,并通过一个统一的平台进行分发。技术详情及整体架构图。” [...]
lowstz
一月 28th, 2011 at 1:29 下午
有这个尝试其他发行版就方便多了
[Reply]
Mucid
一月 28th, 2011 at 10:39 下午
我感觉apt是最好的包管理……
[Reply]
Agas
一月 29th, 2011 at 11:20 下午
可能只是个入口,然后根据各系统下载所需的文件?
[Reply]
血衫非弧
五月 20th, 2011 at 3:48 下午
方便用户是好事~!
[Reply]