[步骤] Rocky Linux & RHEL 自定义 YUM 源的制作

步骤一:制作自定义 YUM 源

1.1 安装从软件源下载安装包和依赖包到本地的工具

# yum install yum-utils -y

(注意:这里假设的情况是本系统可以正常使用 YUM 安装软件)

1.2 获取某软件的安装包和此软件的依赖包

# yumdownloader --resolve --destdir /tmp/ansible ansible

(补充:这里以将 ansible 安装包和 ansible 的依赖包下载到本地的 /tmp/ansible 目录为例)

(注意:这里假设的情况是本系统可以正常使用 YUM 安装软件)

1.3 获取生成 YUM 源的工具软件包

# yumdownloader --resolve --destdir /tmp/ansible createrepo

(补充:这里以将 createrepo 安装包和 createrepo 的依赖包下载到本地的 /tmp/ansible 目录为例)

(注意:这里假设的情况是本系统可以正常使用 YUM 安装软件)

1.4 制作 YUM 源

1.4.1 进入到软件的安装包、依赖包和生成 YUM 源的工具软件包所在的目录
# cd /tmp/ansible

(补充:这里以进入到目录 /tmp/ansible 为例)

1.4.2 安装生成 YUM 源的工具
# rpm -ivh deltarpm & rpm -ivh python-deltarpm & rpm -ivh createrepo


补充:这里安装的软件包有
1) deltarpm
2) python-deltarpm
3) createrepo

1.4.3 进入到上一级目录
# cd ../
1.4.4 创建 ansible 的 YUM 源
# createrepo ansible

(补充:这里以用 ansible 目录里的软件包创建 YUM 源为例)

步骤二:使用自定义 YUM 源

2.1 创建新的 repo 文件

# vim /etc/yum.repos.d/ansible.repo

创建以下内容:

[ansible]
name=ansible
baseurl=file:///tmp/ansible
gpgcheck=0
enabled=1


补充:这里以
1) 文件名为 ansible
2) 文件标题为 ansible
3) YUM 源的软件包位置在 /tmp/ansible
4) 不进行 gpgcheck 检测
5) 启用此 YUM 源
为例

2.2 使用自定义 YUM 源安装软件

# yum install ansible -y

(补充:这里以安装 ansible 软件为例)

[步骤] Linux 同步软件源到本地 (Rocky Linux 版)

步骤一:查看所有的软件源

# yum repolist

步骤二:同步软件源里的软件包到本地

2.1 同步软件源里的软件包到本地的格式

# reposync -r <software source> <local directory>

2.2 同步软件源里的软件包到本地的案例

# reposync -r base -p /tmp/repository/
# reposync -r extras -p /tmp/repository/
# reposync -r updates -p /tmp/repository/
# reposync -r epel -p /tmp/repository/

(补充:这里以同步软件源 base、extras、updates 和 epel 分到目录 /tmp/repository/、/tmp/repository/、/tmp/repository/、/tmp/repository/ 为例)

步骤三:创建本地 YUM 源

# cd /tmp/repository/base && createrepo ./
# cd /tmp/repository/extras && createrepo ./
# cd /tmp/repository/updates && createrepo ./
# cd /tmp/repository/epel && createrepo ./

(补充:这里以在目录 /tmp/repository/base、/tmp/repository/extras、/tmp/repository/updates 和 /tmp/repository/epel 里创建本地 YUM 源为例)

步骤四:更新本地 YUM 源

4.1 再次同步软件源里的软件包到本地

4.1.1 同步软件源里的软件包到本地的格式
# reposync -r <software source> <local directory>
4.1.2 同步软件源里的软件包到本地的案例
# reposync -r base -p /tmp/repository/
# reposync -r extras -p /tmp/repository/
# reposync -r updates -p /tmp/repository/
# reposync -r epel -p /tmp/repository/

(补充:这里以同步软件源 base、extras、updates 和 epel 分到目录 /tmp/repository/、/tmp/repository/、/tmp/repository/、/tmp/repository/ 为例)

4.2 更新本地 YUM 源

4.2.1 更新本地 YUM 源的格式
# createrepo --update <local directory>
4.2.2 更新本地 YUM 源的案例
# createrepo --update /tmp/repository/base
# createrepo --update /tmp/repository/extras
# createrepo --update /tmp/repository/updates
# createrepo --update /tmp/repository/epel

(补充:这里以在目录 /tmp/repository/base、/tmp/repository/extras、/tmp/repository/updates 和 /tmp/repository/epel 里更新本地 YUM 源为例)