KDE Packages (简体中文)

相关文章

翻译状态: 本文是英文页面 KDE_Packages翻译,最后翻译时间:2013-03-28,点击这里可以查看翻译后英文页面的改动。

我们从 KDE SC 4.3 开始为每个应用提供单独的软件包。本文描述组和 meta-packages 的概念。

名词解释

module(模块):KDE的源代码划分为几个分类称为 模块,例如 kdebase、kdeutils 等等。KDE 项目为每个模块发布一个源码包。参见 Coordinator List
group(组):软件包组是一组软件包。按组安装/删除时, Pacman 能够选择多个软件包。
meta-package(元软件包):元软件包是空包,只用依赖来关联各软件包。

使用软件包组

每个 KDE 模块都位于某些组中,例如 kdebase, kdeutils 等等。 安装一个软件包组将会安装当时属于这个组的所有软件包。例如要安装当前发行的 kdebasekdeutils 可以使用:

# pacman -S kdebase kdeutils ...

除此之外还有一个kde组,包含了所有这些组。安装 kde 组将会完整安装当前 KDE 软件集中的软件:

# pacman -S kde

为什么使用组?

优点

  • 更便捷地安装或删除一系列软件包。可以用单个命令安装或删除某个模块中的所有软件。
  • 组与其中的软件包之间没有直接依赖关系。所以不需要安装组中的所有软件包,可以只删除组中的某几个软件,其它软件保持不变。

缺点

  • Pacman 在安装组之后不会自动安装新加入组的软件包。例如,如果下一个 KDE 软件集发布版本的一个或多个模块添加了新的软件,这些新软件不会在升级系统时被自动安装。需要手动安装这些软件。要克服这点,需要使用元软件包(参见下一章节)。

谁使用组?

如果只希望安装 KDE 软件集的一部分模块,应该使用组。如果希望保留组中的一部分软件而删除另外的软件,请使用组。

使用元软件包

和组一样,每个 KDE 模块都有对应的元软件包,例如 kde-meta-kdebasekde-meta-kdeutils 等。安装元软件包将会安装和升级所有属于这个模块的软件。如果应用在未来版本被加入,将会在升级系统时自动安装。要使用元软件包安装指定模块,如kdebase 或者 kdeutils ,可以使用:

# pacman -S kde-meta-kdebase kde-meta-kdeutils ...

此外,还有一个 kde-meta 组,包含了所有这些元软件包。安装 kde-meta 组将安装整个 KDE 软件集:

# pacman -S kde-meta

为什么使用元软件包?

优点

  • 和组一样,元软件包可以简化软件集的安装和维护,用单个命令安装模块中的所有软件。
  • 使用元软件包保证 pacman 将会在升级系统时安装新加入的软件包,模拟了 KDE SC 4.3 之前的单一软件包功能。

缺点

  • 元软件包中的应用是它的一部分,它们有直接的依赖关系。也就是说,只有删除元软件包之后,才能自由删除其中的单个包。例如,安装了 kde-meta-kdebase 之后,如果要删除一个成员软件包,例如 kdebase-kwrite,需要先删除元软件包:
# pacman -R kde-meta-kdebase
# pacman -R kdebase-kwrite

这样做不会删除 kde-meta-kdebase 中的其它软件,但是同样不会在使用 pacman -Syu 升级系统的时候自动安装(下次发布时)新加入的包。可以随时重新安装 kde-meta-kdebase 元软件包,恢复到单一软件包时的方式。

如果安装了 kde-meta 软件包,可以一次删除所有元软件包:

# pacman -R kde-meta

仅会删除元软件包,不会删除实际的成员软件包。

谁使用元软件包?

如果想安装全部的 KDE 软件集,或者某个模块中的所有软件,可以考虑使用元软件包。这保证了平滑的升级过程,后续版本升级的时候,自动添加新的单个软件包。

显示软件包成员

要获得所有 KDE 应用的列表,请使用

pacman -Sg kde

列出所有元软件包:

pacman -Sg kde-meta

列出所有 KDE 模块组:

for i in $(pacman -Sqg kde-meta); do echo ${i#kde-meta-};done

列出所有 KDE 软件包和它们所属的模块组:

for i in $(pacman -Sqg kde-meta); do pacman -Sg ${i#kde-meta-};done

还可以访问 archlinux.de 浏览软件包组。