[步骤] 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 源为例)

[排错] 解决 openSUSE & SUSE 使用 zipper 命令时报错 “error: can’t create transaction lock on /usr/lib/sysimage/rpm/.rpm.lock (Resource temporarily unavailable)”

报错代码:

error: can't create transaction lock on /usr/lib/sysimage/rpm/.rpm.lock (Resource temporarily unavailable)

解决方法:

步骤一:删除 Zypper 的软件数据库

# rm -rf /var/lib/rpm/_db*

步骤二:重建 Zypper 的软件数据库

# rpm --rebuilddb

步骤三:刷新 Zypper 缓存

# zypper refresh