[内容] Linux 软件指定版本的升级或降级 (CentOS Linux 7 版) (以系统版本作为指定维度)

内容一:将软件降级到某个版本

# yum --disablerepo='*' --enablerepo='C7.6*' update openssh

(补充:这里以将 openssh 软件升级到 CentOS Linux 7.6 系统版本里的最新版本为例为例)

或者:

# yum --disablerepo='*' --enablerepo='C7.6*' upgrade openssh

(补充:这里以将 openssh 软件升级到 CentOS Linux 7.6 系统版本里的最新版本为例为例)

内容二:将软件降级到某个版本

# yum --disablerepo='*' --enablerepo='C7.6*' downgrade openssh

(补充:这里以将 openssh 软件降级到 CentOS Linux 7.6 系统版本里的最新版本为例为例)

[步骤] Linux 系统指定版本的升级 (CentOS Linux 7 版)

步骤一:安装其他版本软件源

1.1 安装 centos-release

# yum install centos-release

1.2 查看当前所有软件源

# yum repolist all

或者:

# cat /etc/yum.repos.d/CentOS-Vault.repo

步骤二:清除 yum 缓存

2.1 除 yum 缓存

# yum clean all

2.2 删除 yum 缓存目录

# rm -rf /var/cache/yum

步骤三:将系统或软件升级到指定版本

3.1 方案一:将整个系统升级到指定版本

# yum --disablerepo='*' --enablerepo='C7.6*' update

(补充:这里以将整个系统升级到 CentOS Linux 7.6 版本为例)

(注意:系统中其他所有软件都会升级到 CentOS Linux 7.6 系统版本中的最新版本)

或者:

# yum --disablerepo='*' --enablerepo='C7.6*' upgrade

(补充:这里以将整个系统升级到 CentOS Linux 7.6 版本为例)

(注意:系统中其他所有软件都会升级到 CentOS Linux 7.6 系统版本中的最新版本)

3.2 方案二:只将系统内核或某个软件升级到指定版本

# yum --disablerepo='*' --enablerepo='C7.6*' update kernel

(补充:这里以只将系统内核 kernel 升级到 CentOS Linux 7.6 系统版本里的最新版本为例)

或者:

# yum --disablerepo='*' --enablerepo='C7.6*' upgrade kernel

(补充:这里以只将系统内核 kernel 升级到 CentOS Linux 7.6 系统版本里的最新版本为例)

[步骤] 软件源的设置 (SLES 版) (通过本地镜像版)

步骤一:加载本地镜像到系统光驱

(步骤略)

步骤二:挂载本地镜像

# mount /dev/cdrom /mnt

(补充:这里以挂载 /dev/sr1 到 /mnt 目录为例)

步骤三:添加本地镜里的软件源

3.1 添加本地镜里的软件源 (通过 zypper 命令)

# zypper ar file:/mnt/Module-Basesystem SLE15-Base
# zypper ar file:/mnt/Module-Legacy SLE15-Legacy
# zypper ar file:/mnt/Module-Development-Tools SLE15-Tools

或者:

# zypper ar -f /mnt/Module-Basesystem SLE15-Base
# zypper ar -f /mnt/Module-Legacy SLE15-Legacy
# zypper ar -f /mnt/Module-Development-Tools SLE15-Tools


补充:这里以将
1) /mnt/Module-Basesystem 添加到软件源并命名为 SLE15-Base
2) /mnt/Module-Legacy 添加到软件源并命名为 SLE15-Legacy
3) /mnt/Module-Development-Tools 添加到软件源并命名为 SLE15-Tools
为例

3.1 添加本地镜里的软件源 (通过创建配置文件)

# vim /etc/zypp/repos.d/SLE15-Base.repo

创建以下内容:

[SLE15-Base]
enabled=1
autorefresh=0
baseurl=file:/mnt/Module-Development-Tools
# vim /etc/zypp/repos.d/SLE15-Legacy.repo

创建以下内容:

[SLE15-Legacy]
enabled=1
autorefresh=0
baseurl=file:/mnt/Module-Legacy
# vim /etc/zypp/repos.d/SLE15-Tools.repo

创建以下内容:

[SLE15-Tools]
enabled=1
autorefresh=0
baseurl=file:/mnt/Module-Basesystem/


补充:这里以将
1) /mnt/Module-Basesystem 添加到软件源并命名为 SLE15-Base
2) /mnt/Module-Legacy 添加到软件源并命名为 SLE15-Legacy
3) /mnt/Module-Development-Tools 添加到软件源并命名为 SLE15-Tools
为例

[步骤] 系统升级 (从 openSUSE Leap 15.2 升级到 openSUSE Leap 15.3)

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

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

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

步骤二:准备升级

2.1 确认已使用的软件库

# zypper ls -d
#  | Alias                     | Name                               | Enabled | GPG Check | Refresh | Priority | Type   | URI
---+---------------------------+------------------------------------+---------+-----------+---------+----------+--------+---------------------------------------------------------------------------------------------
1  | repo-non-oss              | Non-OSS Repository                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/non-oss/
2  | repo-oss                  | Main Repository                    | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.2/repo/oss/
3  | repo-update               | Main Update Repository             | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.2/oss/
4  | repo-update-non-oss       | Update Repository (Non-Oss)        | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.2/non-oss/

(补充:确保以上软件库已处于 Enabled 状态)

2.2 刷新已使用的软件库

# zypper ref

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

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

# zypper -n update

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

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

步骤三:升级系统

3.1 将版本号设置为 15.3 并刷新

# zypper --releasever=15.3 refresh

3.2 提前下载并安装 openSUSE Leap 15.3 所需的软件包

# zypper --releasever=15.3 dup --download-in-advance

3.3 升级系统

# zypper --releasever=15.3 dup

3.4 重启系统

# reboot

步骤四:后续检查

4.1 显示升级后的系统版本

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

4.2 显示升级后已使用的软件库

# zypper ls -d
#  | Alias                     | Name                                                         | Enabled | GPG Check | Refresh | Priority | Type   | URI
---+---------------------------+------------------------------------+---------+-----------+---------+----------+--------+---------------------------------------------------------------------------------------------
1  | repo-non-oss              | Non-OSS Repository                                           | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/non-oss/
2  | repo-oss                  | Main Repository                                              | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/distribution/leap/15.3/repo/oss/
3 | repo-update                | Main Update Repository                                       | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/oss/
4 | repo-update-non-oss        | Update Repository (Non-Oss)                                  | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/non-oss/
4  | repo-backports-update     | Update repository of openSUSE Backports                      | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/backports/
5  | repo-sle-update           | Update repository with updates from SUSE Linux Enterprise 15 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/15.3/sle/

(注意:升级到 openSUSE Leap 15.3 系统后,自动新增加了 repo-backports-update 软件库和 repo-sle-update 软件库)