openSUSE:软件包组指南

跳转到:导航搜索
群组行中.specfiles 是一个自由格式的文本字段,可用于声明类别或通过合适的元数据阅读器启用其他排序和过滤方式。该字段在 openSUSE 中已不再使用。zypper 和 yast2 都不再显示它,并且可以从 spec 文件中省略它。

历史上,群组字段值精确指定了许多分层类别树中的一个类别,例如

  • 娱乐
    • 游戏
      • 3D
    • 教学
  • 生产力
    • 图形
      • CAD (3D)
      • 2D

类别以斜杠作为分隔符,写成该树中的路径,换句话说, 用于 3D 游戏,或者 用于不那么具体的游戏类型。

由于一个软件包可能属于多个类别,因此在 2019 年提出了一项提案,即放弃分层系统,转而使用基于标签的系统,其中群组字段是空格分隔的关键字列表,用于描述软件包。这样,kate软件包例如可以与关键字kde编辑器以及gedit软件包与gnome编辑器相关联,这样用户在浏览软件目录时可以根据kdegnome(取决于偏好),或者根据编辑器(如果界面无关紧要)进行过滤,以发现他可能感兴趣的软件包。读者可参考 freshcode.clubstackexchange.com 网站,作为此类标签系统实际应用的示例。

经典分层组系统

过去,Group: 字段曾被rpmlint构建软件检查是否符合特定值。此功能已于 2019 年 9 月被废除(再次)。只需在 .spec 文件中开始使用新组即可创建。

娱乐

  • 娱乐/游戏/3D/其他
  • 娱乐/游戏/3D/赛车
  • 娱乐/游戏/3D/射击
  • 娱乐/游戏/3D/模拟
  • 娱乐/游戏/动作/街机
  • 娱乐/游戏/动作/打砖块
  • 娱乐/游戏/动作/其他
  • 娱乐/游戏/动作/赛车
  • 娱乐/游戏/动作/射击
  • 娱乐/游戏/棋盘/纸牌
  • 娱乐/游戏/棋盘/国际象棋
  • 娱乐/游戏/棋盘/其他
  • 娱乐/游戏/棋盘/台球
  • 娱乐/游戏/棋盘/拼图
  • 娱乐/游戏/逻辑
  • 娱乐/游戏/其他
  • 娱乐/游戏/角色扮演游戏
  • 娱乐/游戏/策略/其他
  • 娱乐/游戏/策略/即时战略
  • 娱乐/游戏/策略/回合制

教学

教学包含具有教育意义的内容。因此,此组中的大多数应用程序在学校中很有用,但不一定在大学中。

  • 娱乐/教学/语言
  • 娱乐/教学/数学
  • 娱乐/教学/其他

玩具

包含娱乐用户但并非真正游戏的内容。

  • 娱乐/玩具/背景
  • 娱乐/玩具/时钟
  • 娱乐/玩具/图形
  • 娱乐/玩具/其他
  • 娱乐/玩具/屏幕保护程序

开发

此部分旨在帮助软件开发者。普通用户通常无需手动选择此组中的软件包。库 必须安装才能运行应用程序,但它们会因依赖关系而自动安装。

语言

以下组适用于在特定编程语言中进行开发时有用甚至必要的工具。这是编译器、解释器和编程语言相关工具的正确位置。

  • 开发/语言/C 和 C++
  • 开发/语言/Fortran
  • 开发/语言/Go
  • 开发/语言/Haskell
  • 开发/语言/Java
  • 开发/语言/Lua
  • 开发/语言/NodeJS
  • 开发/语言/OCaml
  • 开发/语言/其他
  • 开发/语言/Perl
  • 开发/语言/PHP
  • 开发/语言/Python
  • 开发/语言/Ruby
  • 开发/语言/Rust
  • 开发/语言/Scheme
  • 开发/语言/Tcl

以下组适用于提供库开发功能的软件包。它们主要按编程语言排序。但是,也有 KDE、GNOME 和 YaST 库的特殊组。在这里,开发者应该能找到所有可在更多项目中使用的可用库。

如果一个库可以归因于特定的 RPM 主题,请使用它。例如,ntl 库专注于数论的特定方面,因此位于 生产力/科学/数学 下,而像 libHX 这样的通用库则位于回退组 开发/库/C 和 C++ 中。对于介于两个组之间的软件包,请选择抽象程度较低的那个,例如选择数学而不是库/C++。

-devel 子软件包通常根据语言归入 Development/Libraries/(Subgroup) 组。提供共享库的子软件包通常标记为 System/Libraries。请注意,某些也涉及编程的软件包改用 Development/Languages/(Subgroup)——并且它们的用法并不像人们希望的那样一致。

Development/Languages/Perl *.spec -> 29
Development/Libraries/Perl *.spec -> 1127
Development/Languages/Python *.spec -> 1190
Development/Libraries/Python *.spec -> 404

潜在的 -doc 子软件包被归入 Documentation/(Subgroup) 组。

  • 开发/库/C 和 C++
  • 开发/库/交叉编译
  • 开发/库/GNOME
  • 开发/库/Haskell
  • 开发/库/Java
  • 开发/库/KDE
  • 开发/库/其他
  • 开发/库/并行
  • 开发/库/Perl
  • 开发/库/PHP
  • 开发/库/Python
  • 开发/库/Rust
  • 开发/库/Tcl
  • 开发/库/X11
  • 开发/库/YaST

源代码

  • 开发/源代码用于包含源代码的二进制和 noarch 软件包。它是内核源代码和内核模块源代码的正确位置。

工具

此部分的组包含与特定编程语言无关的开发有用工具。

  • 开发/工具/构建
  • 开发/工具/调试器
  • 开发/工具/文档生成器
  • 开发/工具/GUI 构建器
  • 开发/工具/IDE
  • 开发/工具/导航器
  • 开发/工具/其他
  • 开发/工具/版本控制

文档

文档部分适用于所有包含额外文档包的软件包。

  • 文档/Howto:一种特殊的文档(“要实现 X,请执行 Y,Z”)
  • 文档/HTML:文档主要由 HTML 格式的文件组成
  • 文档/Man:文档主要由 roff/troff/nroff 格式的文件组成,或者具有程序手册页的特定书写风格(“选项 X 允许设置 Y”)
  • 文档/其他:其他任何内容
  • 文档/SUSE:与 SUSE/openSUSE Linux 发行版相关的文档

硬件

硬件部分包含支持特殊硬件的工具。

  • 硬件/摄像头
  • 硬件/传真
  • 硬件/ISDN
  • 硬件/游戏杆
  • 硬件/移动设备
  • 硬件/调制解调器
  • 硬件/其他
  • 硬件/Palm
  • 硬件/打印
  • 硬件/Psion
  • 硬件/无线电
  • 硬件/扫描仪
  • 硬件/电视
  • 硬件/UPS
  • 硬件/Wifi

元软件包

  • 元软件包:此组包含通常不应出现在任何安装源上的软件包。它们包含应出现在媒体本身的文件,例如 README.txt、许可证文件、文档或 DOS 工具
如果您安装此类软件包,您将在根目录中找到一个新目录/CD1,其中包含应出现在第一个安装介质或安装源上的文件。该软件包可以/usr/share/<packagename>中安装其他文件。如果软件包包含多个主题,它们将例如放在/usr/share/<packagename>/themes/<name>中。

多媒体

"Multimedia/*" 组来自 jpackage。请改用 Productivity/Multimedia/*。

生产力

生产力部分非常庞大,旨在容纳对普通用户最重要的软件包:用于生产事物的应用程序。

  • 生产力/归档/备份
  • 生产力/归档/压缩
  • 生产力/集群/计算
  • 生产力/集群/高可用性
  • 生产力/数据库/客户端
  • 生产力/数据库/服务器
  • 生产力/数据库/工具

文件工具

此部分中的组适用于对文件进行基本操作的工具。这些是像 filefindutils 和文件管理器(如 mcnautilusytree)之类的软件包。

  • 生产力/文件工具

图形

  • 生产力/图形/3D 编辑器
  • 生产力/图形/位图编辑器
  • 生产力/图形/CAD
  • 生产力/图形/转换器(转换器?)
  • 生产力/图形/其他
  • 生产力/图形/矢量编辑器
  • 生产力/图形/查看器
  • 生产力/图形/可视化/图表
  • 生产力/图形/可视化/其他
  • 生产力/图形/可视化/光线追踪器

业余无线电

此部分中的组适用于 Linux 业余无线电(Amateur radio,通常是 AX.25)应用程序和相关实用工具。

  • 生产力/业余无线电/传真
  • 生产力/业余无线电/日志
  • 生产力/业余无线电/摩尔斯电码
  • 生产力/业余无线电/其他
  • 生产力/业余无线电/分组电台
  • 生产力/业余无线电/Psk31
  • 生产力/业余无线电/卫星

多媒体

  • 生产力/多媒体/CD/抓取工具
  • 生产力/多媒体/CD/播放器
  • 生产力/多媒体/CD/录制
  • 生产力/多媒体/其他
  • 生产力/多媒体/声音/编辑器和转换器
  • 生产力/多媒体/声音/Midi
  • 生产力/多媒体/声音/混音器
  • 生产力/多媒体/声音/播放器
  • 生产力/多媒体/声音/实用工具
  • 生产力/多媒体/声音/可视化
  • 生产力/多媒体/视频/编辑器和转换器
  • 生产力/多媒体/视频/播放器

网络

此部分中的组适用于提供各种网络服务和相关工具的软件包。

  • 生产力/网络/AOL即时通讯
  • 生产力/网络/Archie
  • 生产力/网络/引导/客户端
  • 生产力/网络/引导/服务器
  • 生产力/网络/引导/实用工具
  • 生产力/网络/诊断
  • 生产力/网络/DNS/服务器
  • 生产力/网络/DNS/实用工具
  • 生产力/网络/电子邮件/客户端
  • 生产力/网络/电子邮件/邮件列表
  • 生产力/网络/电子邮件/服务器
  • 生产力/网络/电子邮件/实用工具
  • 生产力/网络/文件共享
  • 生产力/网络/Ftp/客户端
  • 生产力/网络/Ftp/服务器
  • 生产力/网络/ICQ
  • 生产力/网络/即时通讯
  • 生产力/网络/IRC
  • 生产力/网络/LDAP/客户端
  • 生产力/网络/LDAP/服务器
  • 生产力/网络/LDAP/实用工具
  • 生产力/网络/Napster
  • 生产力/网络/新闻/客户端
  • 生产力/网络/新闻/服务器
  • 生产力/网络/新闻/实用工具
  • 生产力/网络/NFS
  • 生产力/网络/NIS
  • 生产力/网络/Novell
  • 生产力/网络/其他
  • 生产力/网络/PPP
  • 生产力/网络/Radius/客户端
  • 生产力/网络/Radius/服务器
  • 生产力/网络/路由
  • 生产力/网络/Samba
  • 生产力/网络/安全
  • 生产力/网络/SSH
  • 生产力/网络/系统
  • 生产力/网络/Talk/客户端
  • 生产力/网络/Talk/服务器
  • 生产力/网络/Web/浏览器
  • 生产力/网络/Web/前端
  • 生产力/网络/Web/代理
  • 生产力/网络/Web/服务器
  • 生产力/网络/Web/实用工具

办公

  • 生产力/办公/字典
  • 生产力/办公/财务
  • 生产力/办公/管理
  • 生产力/办公/组织者
  • 生产力/办公/其他
  • 生产力/办公/电子表格
  • 生产力/办公/套件
  • 生产力/办公/文字处理
  • 生产力/其他

出版

此部分中的组适用于用于发布信息的软件包。此组中的应用程序通常需要比办公部分中的类似应用程序更有经验的用户。

  • 生产力/出版/DocBook
  • 生产力/出版/HTML/编辑器
  • 生产力/出版/HTML/工具
  • 生产力/出版/其他
  • 生产力/出版/PDF
  • 生产力/出版/演示文稿
  • 生产力/出版/PS
  • 生产力/出版/SGML
  • 生产力/出版/TeX/基础
  • 生产力/出版/TeX/字体
  • 生产力/出版/TeX/前端
  • 生产力/出版/TeX/实用工具
  • 生产力/出版/Texinfo
  • 生产力/出版/Troff
  • 生产力/出版/Word
  • 生产力/出版/XML

科学应用

如果这在大学或类似的教育路径中很重要,这无疑是它的位置,尽管您当然不一定需要理解内部算法才能使用软件——或这些示例 RPM 组。

  • 生产力/科学/天文学
  • 生产力/科学/化学
  • 生产力/科学/电子学
  • 生产力/科学/数学
  • 生产力/科学/其他
  • 生产力/科学/物理学

安全

此部分中的组适用于与安全相关的内容,如病毒扫描程序、安全密码生成器、用于加密、解密、签名数据以及权限设置的实用工具(例如 permissions 软件包)。

  • 生产力/安全
  • 生产力/电话/客户端
  • 生产力/电话/H323/客户端
  • 生产力/电话/H323/服务器
  • 生产力/电话/H323/实用工具
  • 生产力/电话/服务器
  • 生产力/电话/SIP/客户端
  • 生产力/电话/SIP/服务器
  • 生产力/电话/SIP/实用工具
  • 生产力/电话/实用工具
  • 生产力/文本/转换器
  • 生产力/文本/编辑器
  • 生产力/文本/拼写检查
  • 生产力/文本/实用工具

系统

系统子组中的软件包构成了操作系统的基础。它们对系统管理员很重要,普通用户不需要了解太多。它们只提供一个运行其他组(如 * 生产力 或 * 娱乐)应用程序的环境。

  • 系统/基础用于基础系统工具。它包括 ejectsystemdmansedsudotarulimit 等软件包。
  • 系统/基准测试用于提供基准测试和各种测试套件的软件包。
  • 系统/引导用于与系统引导相关的工具。它包含引导加载器、图像构建器、引导启动画面主题、内存测试等软件包。
  • 系统/控制台用于控制台专用软件包,如 fbsetgpmkbdvlock
  • 系统/守护进程用于基础系统守护进程。这些是 at(d)autofsnscdpowersavesyslogd 等软件包。
  • 系统/Fhs用于根据 FHS (文件系统层次结构标准) 创建基本目录结构的软件包。这些是 filesystemaaa_basedevs 等软件包。
  • 系统/文件系统用于文件系统相关工具。这些是 * quota, * dosfstools, * reiserfs, * reaidtools, 和 * xfstools 等软件包。
  • 系统/内核包含内核二进制文件和内核相关工具,如 module-init-tools。包含内核源代码和内核模块源代码的软件包位于 Development/Sources 组中。
  • 系统/库用于提供运行应用程序所需库部分的软件包。此组中的软件包应已因依赖关系而自动安装。因此,此组绝不应用于群组文件的主要.spec行(因为库应位于子软件包中,请参见 SLPP)。用户和开发者都不应需要在此组中搜索软件包。这意味着这些软件包不得提供任何应用程序——此类软件包必须位于生产力部分。
  • 系统/本地化包含从主软件包拆分出来的语言特定子软件包。在 openSUSE 10.3 及更高版本中,这是通过使用 specfile 中的%lang_package宏自动完成的。
  • 系统/管理用于各种 GUI、文本或基于 Web 的系统管理工具。然而,YaST 模块有其自己的组,即 System/YaST
  • 系统/监控用于直接或通过分析日志监控系统的工具。
  • 系统/软件包:用于与软件包管理相关的软件包,如 alien、deb 或 rpm。
  • 系统/Shell
  • 系统/声音守护进程:用于声音守护进程,尽管它们可能主要为特殊用途而开发。例如,有用于 GNOME 的 esound 或 WindowMaker 的 wsndsrv 声音守护进程。

模拟器

此部分的组用于各种操作系统的模拟器。此处可找到 dosemuwine(但这并非模拟器)、vmwareatai800 等软件包。

  • 系统/模拟器/其他
  • 系统/模拟器/PC

图形用户界面 (GUI)

此部分的组包含窗口管理器和相关工具。一些窗口管理器有其自己特定的应用程序变体或移植,但此组不适用于应用程序或库。此类软件包应放在 生产力开发娱乐 等部分中。

  • 系统/图形用户界面/GNOME
  • 系统/图形用户界面/KDE
  • 系统/图形用户界面/LXDE
  • 系统/图形用户界面/其他
  • 系统/图形用户界面/XFCE

国际化 (I18N)

此部分的组用于提供特殊支持以输入、显示或处理中文、日文和韩文语言的软件包。

  • 系统/国际化/中文
  • 系统/国际化/日文
  • 系统/国际化/韩文

X11

X11 部分的组用于基础图形系统,目前也包括 X11 的继任者(Wayland、Mir 等)。窗口管理器归入 System/GUI

  • 系统/X11/显示管理器
  • 系统/X11/字体
  • 系统/X11/图标
  • 系统/X11/服务器/XF86_3
  • 系统/X11/服务器/XF86_4
  • 系统/X11/终端
  • 系统/X11/实用工具

YaST

  • 系统/YaST

System/YaST 组用于所有与 YaST 相关的软件包。所有 YaST 模块尤其应放在此组中。