[步骤] Rocky Linux & RHEL 本地缓存的软件包的安装

步骤一:将 yum 工具 & dnf 工具缓存下来的软件包设置为持续保存

# vi /etc/yum.conf

或者:

# vi /etc/dnf/dnf.conf

将部分内容修改如下:

......
keepcache = 1

步骤二:清空本地 yum 工具 & dnf 工具的缓存

# yum clean all

或者:

# dnf clean all

步骤三:将 yum 工具 & dnf 工具的软件包清单缓存到本地

# yum makecache

步骤四:将 yum 工具 & dnf 工具所有可以升级的软件包缓存到本地

# yum update --downloadonly

或者:

# dnf update --downloadonly

步骤五:显示已经缓存的软件包

5.1 显示所有已经缓存的软件包

# yum -C list

或者:

# dnf -C list

5.2 显示某个已经缓存的软件包

# yum -C list kernel

或者:

# dnf -C list kernel

(补充:这里以显示已经缓存的 kernel 软件包为例)

步骤六:使用 yum 工具 & dnf 工具缓存的所有软件包提到系统里现存的老的软件包

# yum -C update

或者:

# dnf -C update

[排错] RHEL 8 及以上解决系统升级 Nginx 后使用 yum 命令时显示警告 “Problem: module……,but none of the providers can be installed”

报错代码

 Problem: module php:7.2:820181215112050:76554e01.x86_64 from rhel-8-for-x86_64-appstream-rpms requires module(nginx:1.14), but none of the providers can be installed
  - module nginx:1.14:820181214004940:9edba152.x86_64 from rhel-8-for-x86_64-appstream-rpms conflicts with module(nginx:1.24) provided by nginx:1.24:8100020240119085512:e155f54d.x86_64 from rhel-8-for-x86_64-appstream-rpms
  - module nginx:1.24:8100020240119085512:e155f54d.x86_64 from rhel-8-for-x86_64-appstream-rpms conflicts with module(nginx:1.14) provided by nginx:1.14:820181214004940:9edba152.x86_64 from rhel-8-for-x86_64-appstream-rpms
  - module nginx:1.14:8000020190830002848:f8e95b4e.x86_64 from rhel-8-for-x86_64-appstream-rpms conflicts with module(nginx:1.24) provided by nginx:1.24:8100020240119085512:e155f54d.x86_64 from rhel-8-for-x86_64-appstream-rpms
  - module nginx:1.24:8100020240119085512:e155f54d.x86_64 from rhel-8-for-x86_64-appstream-rpms conflicts with module(nginx:1.14) provided by nginx:1.14:8000020190830002848:f8e95b4e.x86_64 from rhel-8-for-x86_64-appstream-rpms
  - conflicting requests
Dependencies resolved.

解决方法一:禁用所有和 nginx 模块有关联的 php 模块

# dnf module disable php

解决方法二:开启最新版本的 php 模块

# dnf module reset php && dnf module enable php:7.2

(补充:这里以设置 php:7.2 模块为例)

[排错] 解决 openSUSE & SLES 安装 insserv-compat 软件包时报错 “error: unpacking of archive failed on file /etc/rc.d: cpio: File from package already exists as a directory in system”

报错命令

# zypper in insserv-compat

报错代码

error: unpacking of archive failed on file /etc/rc.d: cpio: File from package already exists as a directory in system

解决方法

步骤一:删除 /etc/rc.d 目录

# rm -r /etc/rc.d

步骤二:重新安装 insserv-compat 软件包

# zypper in insserv-compat

(补充:这里以在 openSUSE & SLES 上安装 insserv-compat 软件包为例)

[内容] Linux 设置环境变量的案例 (添加命令路径)

内容一:临时设置命令路径

1.1 直接临时设置命令路径的方法

# PATH="$PATH":/usr/local/bin/

(补充:这里以添加命令路径 /usr/local/bin/ 为例)

1.2 使用 export 命令临时设置命令路劲的方法

# export PATH="$PATH:/usr/local/bin/"

(补充:这里以添加命令路径 /usr/local/bin/ 为例)

内容二:永久设置命令路径

2.1 在可以设置环境变量的文件里设置环境变量

# vim /etc/profile

添加以下内容:

......
export PATH="$PATH:/usr/local/bin/"

(补充:这里以在 /etc/profile 文件添加命令路径 /usr/local/bin/ 为例)

2.2 让刚刚在文件里设置的环境变量生效

# source /etc/profile

(补充:这里以让在 /etc/profile 里设置的环境变量生效为例)

内容三:在 Linux 中其它可以添加命令路径的文件

[步骤] 系统升级 (从 openSUSE Leap 15.6 升级到 openSUSE Leap 16.0)

正文:

步骤一:显示现在的系统版本

# cat /etc/*release*
NAME="openSUSE Leap"
VERSION="15.6"
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.6"
PRETTY_NAME="openSUSE Leap 15.6"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.6"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Leap"
LOGO="distributor-logo-Leap"

(注意:确保显示的系统版本是 openSUSE Leap 15.6)

步骤二:准备升级

2.1 确认已使用的软件库

# zypper ls -d
# | Alias       | Name        | Enabled | GPG Check | Refresh | Priority | Type   | URI
--+-------------+-------------+---------+-----------+---------+----------+--------+-------------------------------------------------------------------------
1 | Debug-OSS   | Debug-OSS   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/debug/distribution/leap/15.6/repo/oss/
2 | Non-OSS     | Non-OSS     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/distribution/leap/15.6/repo/non-oss/
3 | OSS         | OSS         | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/distribution/leap/15.6/repo/oss/
4 | Src-Non-OSS | Src-Non-OSS | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/source/distribution/leap/15.6/repo/non-oss/
5 | Src-OSS     | Src-OSS     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://download.opensuse.org/source/distribution/leap/15.6/repo/oss/

或者:

# zypper ls -d
# | Alias       | Name        | Enabled | GPG Check | Refresh | Priority | Type   | URI
--+-------------+-------------+---------+-----------+---------+----------+--------+-------------------------------------------------------------------------
1 | Debug-OSS   | Debug-OSS   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://cdn.opensuse.org/debug/distribution/leap/15.6/repo/oss/
2 | Non-OSS     | Non-OSS     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://cdn.opensuse.org/distribution/leap/15.6/repo/non-oss/
3 | OSS         | OSS         | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://cdn.opensuse.org/distribution/leap/15.6/repo/oss/
4 | Src-Non-OSS | Src-Non-OSS | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://cdn.opensuse.org/source/distribution/leap/15.6/repo/non-oss/
5 | Src-OSS     | Src-OSS     | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | https://cdn.opensuse.org/source/distribution/leap/15.6/repo/oss/


补充:
1) 确保以上软件库已处于 Enabled 状态
2) 手动启动这些软件库的命令如下

# zypper ar -f https://download.opensuse.org/distribution/leap/\$releasever/repo/oss/ OSS
# zypper ar -f https://download.opensuse.org/distribution/leap/\$releasever/repo/non-oss/ Non-OSS
# zypper ar -f https://download.opensuse.org/source/distribution/leap/\$releasever/repo/oss/ Src-OSS
# zypper ar -f https://download.opensuse.org/source/distribution/leap/\$releasever/repo/non-oss/ Src-Non-OSS
# zypper ar -f https://download.opensuse.org/debug/distribution/leap/\$releasever/repo/oss/ Debug-OSS

或者:

# zypper ar -f https://cdn.opensuse.org/distribution/leap/\$releasever/repo/oss/ OSS
# zypper ar -f https://cdn.opensuse.org/distribution/leap/\$releasever/repo/non-oss/ Non-OSS
# zypper ar -f https://cdn.opensuse.org/source/distribution/leap/\$releasever/repo/oss/ Src-OSS
# zypper ar -f https://cdn.opensuse.org/source/distribution/leap/\$releasever/repo/non-oss/ Src-Non-OSS
# zypper ar -f https://cdn.opensuse.org/debug/distribution/leap/\$releasever/repo/oss/ Debug-OSS

2.2 刷新已使用的软件库

# zypper ref

(注意:确保刷新成功,否则请检查网络)

2.3 将所有 openSUSE Leap 15.6 软件包更新到最新版本

# zypper -n update

2.4 用 releasever 变量替换所有版本号

# sed -i 's/15.6/${releasever}/g' /etc/zypp/repos.d/*.repo

步骤三:升级系统

3.1 升级系统

# sudo zypper --releasever 16.0 dup

3.2 重启系统

# reboot

参考文献:

https://en.opensuse.org/SDB:System_upgrade
https://github.com/openSUSE/openSUSE-repos/blob/main/opensuse-leap16-repoindex.xml