RHEL8的软件仓库
随着linux系统越来越庞大,软件包也越来越多,越来越复杂。在RHEL8中引入了一种新的结构来管理软件内容,所有的软件内容被划分成了两个repository:BaseOS 和AppStream
BaseOS
类似于原来的软件仓库,主要提供了OS系统的基础组建,提供的是RPM形式的包,因为都是RPM包形式所以它支持与之前版本兼容(support terms similar)
AppStream
这是一个特殊类型的仓库,它提供的是额外的用户空间的应用,运行时语言等,它提供了两种形式的内容:第一种是RPM形式的独立的软件包,第二种是Modules形式的包集合,它是一系列用于同时构建,测试,发布的包的集合,即将相关的包组合在一起。
模块(modules)
Modules是代表着一组通常一起安装的RPM包,一个典型的modules包含应用,依赖库,文档库,帮助组件等。
如何划分RPM包为一个集合呢?有两种组织RPM包的方式:
1.按照version组织:
modules streams代表一组组件的版本,可以视为实际repository通过过滤器构成的虚拟repository,streams有active和inactive两种状态,streams之间也可以有依赖关系。
2.按purpose组织:
modules profiles代表为了某个功能需要一起安装的包列表,module streams中可以包含多个profiles。
包管理
一些RHEL的包管理命令
- 查找包
$ yum search "package"
- 查看包信息
$ yum info package
- 列出可用的module streams
$ yum module list
- 列出可用的包
$ yum list available
- 找出哪些module提供了包
$ yum module provides package
- 启用一个module
$ yum module enable module-name
- 启用一个module使用指定的stream
$ yum module enable module-name:stream
- 使用默认的stream和profiles安装一个module
$ yum install @module-name
$ yum module install module-name
- 删除包
$ yum remove package
- 删除module stream profiles
$ yum module remove module-name
- 重置module streams
$ yum module reset module-name
- 禁用module
$ yum module disable module-name
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。