[命令] openSUSE & SLE 命令 zypper (管理软件和软件源)

内容目录:

内容一: 帮助文档相关
1.1 显示 zypper 帮助信息
1.2 显示 zypper 选项的帮助信息
1.2.1 显示 zypper 选项帮助信息的格式
1.2.2 显示 zypper 选项帮助信息的案例

内容二:软件相关
2.1 安装软件
2.1.1 安装软件的格式
2.1.1.1 交互式
2.1.1.2 非交互式
2.1.2 安装软件的案例
2.1.2.1 交互式
2.1.2.2 非交互式
2.2 删除软件
2.2.1 删除软件的格式
2.2.1.1 交互式
2.2.1.2 非交互式
2.2.2 删除软件的案例
2.2.2.1 交互式
2.2.2.2 非交互式
2.3 锁定软件
2.3.1 锁定软件的格式
2.3.2 锁定软件的案例
2.4 显示所有已锁软件
2.5 解锁软件
2.5.1 解锁软件的格式
2.5.2 解锁软件的案例
2.5.3 清除所有已锁软件
2.6 升级软件
2.6.1 升级软件
2.6.1.1 升级软件的格式
2.6.1.1.1 交互式
2.6.1.1.2 非交互式
2.6.1.2 升级软件的案例
2.6.1.2.1 交互式
2.6.1.2.2 非交互式
2.6.2 升级所有软件
2.6.2.1 升级所有软件
2.6.2.1.1 交互式
2.6.2.1.2 非交互式
2.6.2.2 显示所有可升级的软件
2.7 查找软件
2.7.1 查找软件的格式
2.7.2 查找软件的案例
2.8 显示软件所有可以安装的版本
2.8.1 显示软件所有可以安装版本的格式
2.8.2 显示软件所有可以安装版本的案例
2.9 显示软件的生命周期
2.9.1 显示软件的生命周期的格式
2.9.2 显示软件的生命周期的案例

内容三:软件组相关
3.1 安装软件组
3.1.1 安装软件组的格式
3.1.1.1 交互式
3.1.1.2 非交互式
3.1.2 安装软件组的案例
3.1.2.1 交互式
3.1.2.2 非交互式
3.2 删除软件组
3.2.1 删除软件组的格式
3.2.1.1 交互式
3.2.1.2 非交互式
3.2.2 删除软件组的案例
3.2.2.1 交互式
3.2.2.2 非交互式
3.3 显示所有可用软件组
3.4 显示软件组的详细信息
3.4.1 显示软件组详细信息的格式
3.4.2 显示软件组详细信息的案例
3.5 显示软件组所需要的所有软件包
3.5.1 显示软件组所需要的所有软件包的格式
3.5.2 显示软件组所需要的所有软件包的案例

内容四:安全相关
4.1 安全补丁
4.1.1 安装安全补丁
4.1.1.1 安装安全补丁的格式
4.1.1.1.1 交互式
4.1.1.1.2 非交互式
4.1.1.2 安装安全补丁的案例
4.1.1.2.1 交互式
4.1.1.2.2 非交互式
4.1.2 所有安全补丁
4.1.2 安装所有安全补丁
4.1.2.1 非交互式
4.1.2.2 交互式

内容五:软件源相关
5.1 新增软件源并指定软件源名
5.1.1 新增软件源并指定软件源名的格式
5.1.2 新增软件源并指定软件源名的案例
5.2 删除软件源
5.2.1 删除软件源
5.2.1.1 删除软件源的格式
5.2.1.2 删除软件源的案例
5.2.2 删除所有软件源
5.3 启用软件源
5.3.1 启用软件源
5.3.1.1 启用软件源的格式
5.3.1.2 启用软件源的案例
5.3.2 启用所有软件源
5.4 禁用软件源
5.4.1 禁用软件源
5.4.1.1 禁用软件源的格式
5.4.1.2 禁用软件源的案例
5.4.2 禁用所有软件源
5.5 显示软件源
5.5.1 显示所有软件源
5.5.2 显示所有软件源的链接
5.5.2.1 显示所有软件源的链接 (显示时进行软件源验证)
5.5.2.2 显示所有软件源的链接 (显示时不进行软件源言政)
5.6 缓存软件源列表
5.6.1 缓存所有已启用软件源列表
5.6.2 清除所有软件源列表缓存

内容六:系统本版相关

具体的内容:

内容一: 帮助文档相关
1.1 显示 zypper 帮助信息

# zypper help

或者:

# zypper --h

1.2 显示 zypper 选项的帮助信息
1.2.1 显示 zypper 选项帮助信息的格式

# zypper help <option>

或者:

# zypper <option> help

1.2.2 显示 zypper 选项帮助信息的案例

# zypper help install

(补充:这里以显示 install 子选项为例)

或者:

# zypper install help

(补充:这里以显示 install 子选项为例)

内容二:软件相关
2.1 安装软件
2.1.1 安装软件的格式
2.1.1.1 交互式

# zypper in <software>

或者:

# zypper in -f <software>

(补充:这里的 -f 参数是强制安装软件)

2.1.1.2 非交互式

# zypper -n in <software>

或者:

# zypper -n in -f <software>
(补充:这里的 -f 参数是强制安装软件)

2.1.2 安装软件的案例
2.1.2.1 交互式

# zypper in httpd

(补充:这里以交互式安装 httpd 软件为例)

或者:

# zypper in -f httpd

(补充:这里以交互式安装 httpd 软件为例)

2.1.2.2 非交互式

# zypper -n in httpd

(补充:这里以非交互式安装 httpd 软件为例)

或者:

# zypper -n in -f httpd

(补充:这里以非交互式强制安装 httpd 软件为例)

2.2 删除软件
2.2.1 删除软件的格式
2.2.1.1 交互式

# zypper rm <software>

2.2.1.2 非交互式

# zypper -n rm <software>

2.2.2 删除软件的案例
2.2.2.1 交互式

# zypper rm httpd

(补充:这里以交互式删除 httpd 软件为例)

2.2.2.2 非交互式

# zypper -n rm httpd

(补充:这里以非交互式删除 httpd 软件为例)

2.3 锁定软件
2.3.1 锁定软件的格式

# zypper addlock <software>

或者:

# zypper al <software>

2.3.2 锁定软件的案例

# zypper addlock httpd

或者:

# zypper al httpd

(补充:这里以锁定 httpd 软件的周期为例)

2.4 显示所有已锁软件

# zypper locks

或者:

# zypper ll

2.5 解锁软件
2.5.1 解锁软件的格式

# zypper removelocks <software>

或者:

# zypper rl <software>

2.5.2 解锁软件的案例

# zypper removelocks httpd

(补充:这里以解锁 httpd 为例)

或者:

# zypper rl httpd

(补充:这里以解锁 httpd 为例)

2.5.3 清除所有已锁软件

# zypper cleanlocks

或者:

# zypper cl

2.6 升级软件
2.6.1 升级软件
2.6.1.1 升级软件的格式
2.6.1.1.1 交互式

# zypper update <software>

2.6.1.1.2 非交互式

# zypper -n update <software>

2.6.1.2 升级软件的案例
2.6.1.2.1 交互式

# zypper update nginx

(补充:这里以交互式升级 nginx 为例)

2.6.1.2.2 非交互式

# zypper -n update nginx

(补充:这里以非交互式升级 nginx 为例)

2.6.2 升级所有软件
2.6.2.1 升级所有软件
2.6.2.1.1 交互式

# zypper update

2.6.2.1.2 非交互式

# zypper -n update

2.6.2.2 显示所有可升级的软件

# zypper lp

2.7 查找软件
2.7.1 查找软件的格式

# zypper se <software>

或者:

# zypper search <software>

或者:

# zypper search --match-exact --type package --details <software>

(补充:这里 –match-exact 参数的作用是精确匹配,–type package 参数的作用是指定查找的对象是软件)

2.7.2 查找软件的案例

# zypper se httpd

(补充:这里以查找 httpd 软件为例)

或者:

# zypper search httpd

(补充:这里以查找 httpd 软件为例)

或者:

# zypper se --match-exact --type package --details httpd

(补充:此方法会精确查找 httpd 软件为例)

2.8 显示软件所有可以安装的版本
2.8.1 显示软件所有可以安装版本的格式

# zypper se -s <software>

或者:

# zypper search -details <software>

2.8.2 显示软件所有可以安装版本的案例

# zypper se -s kernel-default

或者:

# zypper search -details kernel-default

(补充:这里以查找 httpd 软件为例)

2.9 显示软件的生命周期
2.9.1 显示软件的生命周期的格式

# zypper lifecycle <software>

2.9.2 显示软件的生命周期的案例

# zypper lifecycle httpd

(补充:这里以查找 httpd 软件的周期为例)

内容三:软件组相关
3.1 安装软件组
3.1.1 安装软件组的格式
3.1.1.1 交互式

# zypper in -t pattern <pattern>

3.1.1.2 非交互式

# zypper -n in -t pattern <pattern>

3.1.2 安装软件组的案例
3.1.2.1 交互式

# zypper in -t pattern kvm_server

(补充:这里以交互式安装 kvm_server 软件组为例)

3.1.2.2 非交互式

# zypper -n in -t pattern kvm_server

(补充:这里以非交互式安装 kvm_server 软件组为例)

3.2 删除软件组
3.2.1 删除软件组的格式
3.2.1.1 交互式

# zypper rm -t pattern <pattern>

3.2.1.2 非交互式

# zypper -n rm -t pattern <pattern>

3.2.2 删除软件组的案例
3.2.2.1 交互式

# zypper -n rm -t pattern kvm_server

(补充:这里以交互式删除 kvm_server 软件组为例)

3.2.2.2 非交互式

# zypper -n rm -t pattern kvm_server

(补充:这里以非交互式删除 kvm_server 软件组为例)

3.3 显示所有可用软件组

# zypper patterns

或者:

# zypper pt

或者:

# zypper se -t pattern

3.4 显示软件组的详细信息
3.4.1 显示软件组详细信息的格式

# zypper pattern-info <pattern>

3.4.2 显示软件组详细信息的案例

# zypper pattern-info kvm_server

(补充:这里以显示 kvm_server 软件组为例)

3.5 显示软件组所需要的所有软件包
3.5.1 显示软件组所需要的所有软件包的格式

# zypper info --requires <pattern>

3.5.2 显示软件组所需要的所有软件包的案例

# zypper info --requires kvm_server

(补充:这里以显示 kvm_server 软件组所需要的所有软件包为例)

内容四:安全相关
4.1 安全补丁
4.1.1 安装安全补丁
4.1.1.1 安装安全补丁的格式
4.1.1.1.1 交互式

# zypper in -t patch <patch>

4.1.1.1.2 非交互式

# zypper -n in -t patch <patch>

4.1.1.2 安装安全补丁的案例
4.1.1.2.1 交互式

# zypper in -t patch SUSE-SLE-SERVER-12-SP5-2022-323=1

(补充:这里以安装 SUSE-SLE-SERVER-12-SP5-2022-323=1 补丁为例)

4.1.1.2.2 非交互式

# zypper -n in -t patch SUSE-SLE-SERVER-12-SP5-2022-323=1

(补充:这里以安装 SUSE-SLE-SERVER-12-SP5-2022-323=1 补丁为例)

4.1.2 所有安全补丁
4.1.2 安装所有安全补丁
4.1.2.1 非交互式

# zypper patch

4.1.2.2 交互式

# zypper -n patch

内容五:软件源相关
5.1 新增软件源并指定软件源名
5.1.1 新增软件源并指定软件源名的格式

# zypper ar -fcg <software source link> <define software source name>

5.1.2 新增软件源并指定软件源名的案例

# zypper ar -fcg http://192.168.1.1/update-oss/ update-oss

(补充:这里以添加 http://192.168.1.1/update-oss/ 库并命名为 update-oss 为例)

5.2 删除软件源
5.2.1 删除软件源
5.2.1.1 删除软件源的格式

# zypper rr -d <software source name/software source URL>

5.2.1.2 删除软件源的案例

# zypper rr -d 'Main Repository'

或者:

# zypper rr -d http://download.opensuse.org/distribution/leap/15.3/repo/oss/

(补充:这里以删除名为 Main Repository 链接为 http://download.opensuse.org/distribution/leap/15.3/repo/oss/ 的软件源为例)

5.2.2 删除所有软件源

# zypper rr -da

或者:

# zypper rr `zypper ls | awk '{print $1}'`

5.3 启用软件源
5.3.1 启用软件源
5.3.1.1 启用软件源的格式

# zypper mr -e <software source name/software source URL>

或者:

# zypper modifyrepo -e <software source name/software source URL>

5.3.1.2 启用软件源的案例

# zypper mr -e 'Main Repository'

或者:

# zypper modifyrepo -e http://download.opensuse.org/distribution/leap/15.3/repo/oss/

(补充:这里以启用名为 Main Repository 链接为 http://download.opensuse.org/distribution/leap/15.3/repo/oss/ 的软件源为例)

5.3.2 启用所有软件源

# zypper mr -ea

或者:

# zypper modifyrepo -ea

或者:

# zypper mr -e `zypper ls | awk '{print $1}'`

或者:

# zypper modifyrepo -e `zypper ls | awk '{print $1}'`

5.4 禁用软件源
5.4.1 禁用软件源
5.4.1.1 禁用软件源的格式

# zypper mr -d <software source name/software source URL>

或者:

# zypper modifyrepo -d <software source name/software source URL>

5.4.1.2 禁用软件源的案例

# zypper mr -d 'Main Repository'

或者:

# zypper modifyrepo -d http://download.opensuse.org/distribution/leap/15.3/repo/oss/

(补充:这里以禁用名为 Main Repository 链接为 http://download.opensuse.org/distribution/leap/15.3/repo/oss/ 的软件源为例)

5.4.2 禁用所有软件源

# zypper mr -da

或者:

# zypper modifyrepo -da

或者:

# zypper mr `zypper ls | awk '{print $1}'`

或者:

# zypper modifyrepo `zypper ls | awk '{print $1}'`

5.5 显示软件源
5.5.1 显示所有软件源

# zypper ls

或者:

# zypper lr

(补充:zypper ls 会多显示软件源的 Type)

5.5.2 显示所有软件源的链接
5.2.2.1 显示所有软件源的链接 (显示时进行软件源验证)

# zypper ls -d

5.2.2.2 显示所有软件源的链接 (显示时不进行软件源言政)

# zypper --non-interactive --no-gpg-checks repos -d


补充:
1) –non-interactive 代表非交互式
2) –no-gpg-checks 代表不检查证书

5.6 缓存软件源列表
5.6.1 缓存所有已启用软件源列表

# zypper ref

或者:

# zypper refresh

5.6.2 清除所有软件源列表缓存

# zypper clean

内容六:系统本版相关

升级系统版本

# zypper migration

[步骤] openSUSE & SLE 开机自启

内容一:openSUSE & SLE 开机设置文档介绍

1) /etc/init.d/boot.local
2) /etc/init.d/halt.local
3) /etc/init.d/before.local
4) /etc/init.d/after.local


补充:
1) 其中的 boot.local 是在刚开机时,在所有其他的程序执行前执行的文件
2) 其中的 after.local 是在刚开机后,在所有其他的程序执行后执行的文件

(注意:上面第三和第四个档案默认是不存在的,可以自己创建一个, 就像写个 shell 一样很简单)

内容二:设置 openSUSE & SLE 开机自启命令的案例
2.1 创建 after.local 文件

# vim /etc/init.d/after.local

创建以下内容:

sudo systemctl restart httpd

(补充:这里以开机自启 httpd 程序为例)

2.2 给 after.local 文件执行权限

# chmod u+x /etc/init.d/after.local

[步骤] Red Hat Satellite 客户端设置 (软件源)

步骤一:软件源所对应的系统版本设置
1.1 显示客户端服务器现在正在使用的软件源库所对应的系统版本

(只在 client servers 上执行以下步骤)

# subscription-manager release --show

1.2 显示客户端服务器所有可以使用的软件源所对应的系统版本

(只在 client servers 上执行以下步骤)

# subscription-manager release –-list

步骤二:修改客户端服务器的软件源对应的系统版本
2.1 修改对应系统版本的格式

(只在 client servers 上执行以下步骤)

# subscription-manager release --set=<system version number>

2.2 修改对应系统版本的案例

(只在 client servers 上执行以下步骤)

# subscription-manager release -–set=7.5 

(补充:这里的 7.5 是 1 个系统的版本号)

(注意:这里如果低版本的系统选择了高版本的软件源库,则在更新软件的过程中可能会直接升级系统)

步骤三:在选择了 1 个系统版本之后选择里面的软件源
3.1 显示软件源
3.1.1 显示客户端服务器目前正在使用的软件源

(只在 client servers 上执行以下步骤)

# subscription-manager repos --list-enable

3.1.2 显示客户端服务器所有可以用的软件源和正在使用的软件源

(只在 client servers 上执行以下步骤)

# subscription-manager repos --list

3.2 让客户端服务器启用 1 个软件源
3.2.1 启用 1 个软件源的格式

(只在 client servers 上执行以下步骤)

# subscription-manager repos --enable=<software source name>

3.2.2 启用 1 个软件源的案例

(只在 client servers 上执行以下步骤)

# subscription-manager repos --enable=rhel-7-server-satellite-tools-6.3-rpms

(补充:这里以启动 rhel-7-server-satellite-tools-6.3-rpms 软件源为例)

3.3 让客户端服务器禁用 1 个软件源
3.3.1 禁用 1 个软件源的格式

(只在 client servers 上执行以下步骤)

# subscription-manager repos --disable=<software source name>

3.3.2 禁用 1 个软件源的案例

(只在 client servers 上执行以下步骤)

# subscription-manager repos –disable=rhel-7-server-satellite-tools-6.2-rpms

(补充:这里以禁止 rhel-7-server-satellite-tools-6.3-rpms 软件源为例)

3.4 让客户端服务器同时启用或禁用 1 个或多个软件源

# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms;subscription-manager repos --enable=rhel-8-for-x86_64-appstream-rpms;subscription-manager repos --disable=satellite-tools-6.10-for-rhel-8-x86_64-rpms

(补充:这里以启动 rhel-8-for-x86_64-baseos-rpms;subscription-manager 软件源和 rhel-8-for-x86_64-appstream-rpms;subscription-manager 软件源,禁用 satellite-tools-6.10-for-rhel-8-x86_64-rpms 软件源为例)

3.5 刷新所有的设置

# subscription-manager refresh