赞
踩
repo(repository)是指仓库的意思,读者可能在使用 svn 时听说过 repo,也有可能在使用 fedora 等通过 rpm 包方式管理软件的操作系统上听说过 repo 源。openEuler 操作系统也是采用 rpm 包方式管理软件的操作系统,所以此处的 repo 主要是指 repo 源。
我们怎么知道 openEuler 的 repo 源在哪里呢?下面介绍几种访问 repo 的方法:
1)直接网址访问:https://repo.openeuler.org/
小贴士:openEuler 很多的网址都是以 openeuler.org 结尾的,所以网址很好记。
2)通过官网访问:https://www.openeuler.org/zh/
点击“下载->镜像仓库列表”可以看到很多站点,找一个网络带宽大的站点访问,如下所示:
下面让我们来认识一下 repo 里面有哪些内容。
前面的是 openEuler 已经发布的各个版本,作者将以最新的 openEuler-22.03-LTS 版本来讲解,而且这个版本实现了服务器、云、边缘和嵌入式的全场景支持,可以查看发行说明了解更多。
这些目录下存放的是 openEuler 发布的各种软件包和镜像文件,各个目录具体存放什么样的软件可以参考 openEuler版本软件仓库说明。
这里以 OS 目录为例进行介绍,openEuler 服务器版本主要支持 aarch64 和 x86_64 两种架构,由于一般用户只有 x86_64 架构的设备,所以只介绍 x86_64,aarch64 只是架构不同,其它内容是一致的,目录具体内容如下所示:
实际这里的内容和对应 ISO 目录下的镜像文件解压后的内容是一样的,主要目录和文件介绍如下:
可以在 /etc/yum.repos.d 目录下创建 xx.repo 文件,然后在 repo 文件中配置 repo 源,每个源主要有六个字段如下:
[serverid]
name=Some name for this server
baseurl=url://path/to/repository/
enabled=[1 or 0]
gpgcheck=1
gpgkey=url://path/to/repository/key
有几个变量可以使用:
安装 openEuler 后,默认的 repo 文件为 /etc/yum.repos.d/openEuler.repo,其内容如下所示:
可以通过命令yum repolist
查看配置了哪些 repo 源:
1、通过yum list --repo NAME
获取指定 repo 源下面的软件信息,然后通过 shell 脚本解析出每个软件名和对应的版本信息。基本数据如下:
2、通过获取 packages 目录的 html 文件,然后通过 shell 脚本解析出每个软件名和对应的版本信息。比如:https://repo.openeuler.org/openEuler-22.03-LTS/OS/x86_64/Packages/
解析工具在 https://gitee.com/icanpool/shcanpool 仓库中,执行如下:
repodata 目录下有相应的软件包关系文件(xml 和 sqlite),yum 命令应该就是基于这些文件来获取软件信息的,openEuler 开发的包管理工具 pkgship(https://gitee.com/openeuler/pkgship)就是基于这里的 sqlite 数据库文件,读者可以自行体验 pkgship 工具,当然 openEuler 已经提供了网页版的包查询功能,可以访问 https://pkgmanage.openeuler.org/ 体验:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。