PRF:20180221 12 useful zypper command examples.md

@cycoe
This commit is contained in:
Xingyu.Wang 2018-12-12 13:29:33 +08:00
parent 0f357759a6
commit 390bdf2579

View File

@ -1,10 +1,11 @@
12 条实用的 zypper 命令范例 12 条实用的 zypper 命令范例
====== ======
zypper 是 Suse Linux 系统的包和补丁管理器,你可以根据下面的 12 条附带输出示例的实用范例来学习 zypper 命令的使用。
`zypper` 是 Suse Linux 系统的包和补丁管理器,你可以根据下面的 12 条附带输出示例的实用范例来学习 `zypper` 命令的使用。
![zypper 命令示例][1] ![zypper 命令示例][1]
Suse Linux 使用 zypper 进行包管理,其是一个由 [ZYpp 包管理引擎][2]提供技术支持的包管理系统。在此篇文章中我们将分享 12 条附带输出示例的实用 zypper 命令,能帮助你处理日常的系统管理任务。 Suse Linux 使用 `zypper` 进行包管理,其是一个由 [ZYpp 包管理引擎][2]提供的包管理系统。在此篇文章中我们将分享 12 条附带输出示例的实用 `zypper` 命令,能帮助你处理日常的系统管理任务。
不带参数的 `zypper` 命令将列出所有可用的选项,这比参考详细的 man 手册要容易上手得多。 不带参数的 `zypper` 命令将列出所有可用的选项,这比参考详细的 man 手册要容易上手得多。
@ -18,12 +19,12 @@ root@kerneltalks # zypper
--help, -h 帮助 --help, -h 帮助
--version, -V 输出版本号 --version, -V 输出版本号
--promptids 输出 zypper 用户提示符列表 --promptids 输出 zypper 用户提示符列表
--config, -c <file> 使用定的配置文件来替代默认的 --config, -c <file> 使用定的配置文件来替代默认的
--userdata <string> 在历史和插件中使用的用户自定义事务 id --userdata <string> 在历史和插件中使用的用户自定义事务 id
--quiet, -q 忽略正常输出,只打印错误信息 --quiet, -q 忽略正常输出,只打印错误信息
--verbose, -v 增加冗长程度 --verbose, -v 增加冗长程度
--color --color
--no-color 是否启用彩色模式如果 tty 支持 --no-color 是否启用彩色模式如果 tty 支持的话
--no-abbrev, -A 表格中的文字不使用缩写 --no-abbrev, -A 表格中的文字不使用缩写
--table-style, -s 表格样式(整型) --table-style, -s 表格样式(整型)
--non-interactive, -n 不询问任何选项,自动使用默认答案 --non-interactive, -n 不询问任何选项,自动使用默认答案
@ -43,7 +44,7 @@ root@kerneltalks # zypper
--gpg-auto-import-keys 自动信任并导入新仓库的签名密钥 --gpg-auto-import-keys 自动信任并导入新仓库的签名密钥
--plus-repo, -p <URI> 使用附加仓库 --plus-repo, -p <URI> 使用附加仓库
--plus-content <tag> 另外使用禁用的仓库来提供特定的关键词 --plus-content <tag> 另外使用禁用的仓库来提供特定的关键词
尝试 '--plus-content debug' 选项来启用仓库 尝试使用 '--plus-content debug' 选项来启用仓库
--disable-repositories 不从仓库中读取元数据 --disable-repositories 不从仓库中读取元数据
--no-refresh 不刷新仓库 --no-refresh 不刷新仓库
--no-cd 忽略 CD/DVD 中的仓库 --no-cd 忽略 CD/DVD 中的仓库
@ -55,11 +56,11 @@ root@kerneltalks # zypper
--disable-system-resolvables --disable-system-resolvables
不读取已安装包 不读取已安装包
命令: 命令
help, ? 打印帮助 help, ? 打印帮助
shell, sh 允许多命令 shell, sh 允许多命令
仓库管理: 仓库管理
repos, lr 列出所有自定义仓库 repos, lr 列出所有自定义仓库
addrepo, ar 添加一个新仓库 addrepo, ar 添加一个新仓库
removerepo, rr 移除指定仓库 removerepo, rr 移除指定仓库
@ -68,14 +69,14 @@ root@kerneltalks # zypper
refresh, ref 刷新所有仓库 refresh, ref 刷新所有仓库
clean 清除本地缓存 clean 清除本地缓存
服务管理: 服务管理
services, ls 列出所有自定义服务 services, ls 列出所有自定义服务
addservice, as 添加一个新服务 addservice, as 添加一个新服务
modifyservice, ms 修改指定服务 modifyservice, ms 修改指定服务
removeservice, rs 移除指定服务 removeservice, rs 移除指定服务
refresh-services, refs 刷新所有服务 refresh-services, refs 刷新所有服务
软件管理: 软件管理
install, in 安装包 install, in 安装包
remove, rm 移除包 remove, rm 移除包
verify, ve 确认包依赖的完整性 verify, ve 确认包依赖的完整性
@ -83,7 +84,7 @@ root@kerneltalks # zypper
install-new-recommends, inr install-new-recommends, inr
安装由已安装包建议一并安装的新包 安装由已安装包建议一并安装的新包
更新管理: 更新管理
update, up 更新已安装包至更新版本 update, up 更新已安装包至更新版本
list-updates, lu 列出可用更新 list-updates, lu 列出可用更新
patch 安装必要的补丁 patch 安装必要的补丁
@ -91,7 +92,7 @@ root@kerneltalks # zypper
dist-upgrade, dup 进行发行版更新 dist-upgrade, dup 进行发行版更新
patch-check, pchk 检查补丁 patch-check, pchk 检查补丁
查询: 查询
search, se 查找符合匹配模式的包 search, se 查找符合匹配模式的包
info, if 展示特定包的完全信息 info, if 展示特定包的完全信息
patch-info 展示特定补丁的完全信息 patch-info 展示特定补丁的完全信息
@ -103,27 +104,28 @@ root@kerneltalks # zypper
products, pd 列出所有可用的产品 products, pd 列出所有可用的产品
what-provides, wp 列出提供特定功能的包 what-provides, wp 列出提供特定功能的包
包锁定: 包锁定
addlock, al 添加一个包锁定 addlock, al 添加一个包锁定
removelock, rl 移除一个包锁定 removelock, rl 移除一个包锁定
locks, ll 列出当前的包锁定 locks, ll 列出当前的包锁定
cleanlocks, cl 移除无用的锁定 cleanlocks, cl 移除无用的锁定
其他命令: 其他命令
versioncmp, vcmp 比较两个版本字符串 versioncmp, vcmp 比较两个版本字符串
targetos, tos 打印目标操作系统 ID 字符串 targetos, tos 打印目标操作系统 ID 字符串
licenses 打印已安装包的证书和 EULAs 报告 licenses 打印已安装包的证书和 EULAs 报告
download 使用命令行下载指定 rpm 包到本地目录 download 使用命令行下载指定 rpm 包到本地目录
source-download 下载所有已安装包的源码 rpm 包到本地目录 source-download 下载所有已安装包的源码 rpm 包到本地目录
子命令: 子命令
subcommand 列出可用子命令 subcommand 列出可用子命令
输入 'zypper help <command>' 来获得特定命令的帮助。 输入 'zypper help <command>' 来获得特定命令的帮助。
``` ```
##### 如何使用 zypper 安装包
`zypper` 通过 `in``install` 开关来在你的系统上安装包。它的用法与 [yum package installation][3] 相同。你只需要提供包名作为参数,包管理器(此处是 zypper就会处理所有的依赖并与你指定的包一并安装。 ### 如何使用 zypper 安装包
`zypper` 通过 `in``install` 子命令来在你的系统上安装包。它的用法与 [yum 软件包安装][3] 相同。你只需要提供包名作为参数,包管理器(此处是 `zypper`)就会处理所有的依赖并与你指定的包一并安装。
``` ```
# zypper install telnet # zypper install telnet
@ -147,11 +149,11 @@ Checking for file conflicts: ...................................................
以上是我们安装 `telnet` 包时的输出,供你参考。 以上是我们安装 `telnet` 包时的输出,供你参考。
推荐阅读 : [在 YUM 和 APT 系统中安装包][3] 推荐阅读[在 YUM 和 APT 系统中安装包][3]
##### 如何使用 zypper 移除包 ### 如何使用 zypper 移除包
要在 Suse Linux 中擦除或移除包,使用 `zypper` 命令附带 `remove``rm` 开关 要在 Suse Linux 中擦除或移除包,使用 `zypper` 附带 `remove``rm` 子命令
``` ```
root@kerneltalks # zypper rm telnet root@kerneltalks # zypper rm telnet
@ -167,13 +169,14 @@ After the operation, 113.3 KiB will be freed.
Continue? [y/n/...? shows all options] (y): y Continue? [y/n/...? shows all options] (y): y
(1/1) Removing telnet-1.2-165.63.x86_64 ..........................................................................................................................[done] (1/1) Removing telnet-1.2-165.63.x86_64 ..........................................................................................................................[done]
``` ```
我们在此处移除了先前安装的 telnet 包。 我们在此处移除了先前安装的 telnet 包。
##### 使用 zypper 检查依赖或者认证已安装包的完整性 ### 使用 zypper 检查依赖或者认证已安装包的完整性
有时可以通过强制忽略依赖关系来安装软件包。`zypper` 使你能够扫描所有已安装的软件包并检查其依赖性。如果缺少任何依赖项,它将提供你安装或重新安装它的机会,从而保持已安装软件包的完整性。 有时可以通过强制忽略依赖关系来安装软件包。`zypper` 使你能够扫描所有已安装的软件包并检查其依赖性。如果缺少任何依赖项,它将提供你安装或重新安装它的机会,从而保持已安装软件包的完整性。
使用附带 `verify``ve` 开关`zypper` 命令来检查已安装包的完整性。 使用附带 `verify``ve` 子命令`zypper` 命令来检查已安装包的完整性。
``` ```
root@kerneltalks # zypper ve root@kerneltalks # zypper ve
@ -184,9 +187,10 @@ Reading installed packages...
Dependencies of all installed packages are satisfied. Dependencies of all installed packages are satisfied.
``` ```
在上面的输出中,你能够看到最后一行说明已安装包的所有依赖都已安装完全,并且无需更多操作。 在上面的输出中,你能够看到最后一行说明已安装包的所有依赖都已安装完全,并且无需更多操作。
##### 如何在 Suse Linux 中使用 zypper 下载包 ### 如何在 Suse Linux 中使用 zypper 下载包
`zypper` 提供了一种方法使得你能够将包下载到本地目录而不去安装它。你可以在其他具有同样配置的系统上使用这个已下载的软件包。包会被下载至 `/var/cache/zypp/packages/<repo>/<arch>/` 目录。 `zypper` 提供了一种方法使得你能够将包下载到本地目录而不去安装它。你可以在其他具有同样配置的系统上使用这个已下载的软件包。包会被下载至 `/var/cache/zypp/packages/<repo>/<arch>/` 目录。
@ -206,13 +210,14 @@ total 52
-rw-r--r-- 1 root root 53025 Feb 21 03:17 telnet-1.2-165.63.x86_64.rpm -rw-r--r-- 1 root root 53025 Feb 21 03:17 telnet-1.2-165.63.x86_64.rpm
``` ```
你能看到我们使用 `zypper` 将 telnet 包下载到了本地。 你能看到我们使用 `zypper` 将 telnet 包下载到了本地。
推荐阅读 : [在 YUM 和 APT 系统中只下载包而不安装][4] 推荐阅读[在 YUM 和 APT 系统中只下载包而不安装][4]
##### 如何使用 zypper 列出可用包更新 ### 如何使用 zypper 列出可用包更新
`zypper` 允许你浏览已安装包的所有可用更新,以便你可以提前计划更新活动。使用 `list-updates``lu` 开关来显示已安装包的所有可用更新。 `zypper` 允许你浏览已安装包的所有可用更新,以便你可以提前计划更新活动。使用 `list-updates``lu` 子命令来显示已安装包的所有可用更新。
``` ```
root@kerneltalks # zypper lu root@kerneltalks # zypper lu
@ -229,11 +234,12 @@ v | SLE-Module-Containers12-Updates | containerd | 0.2.5+gitr6
v | SLES12-SP3-Updates | crash | 7.1.8-4.3.1 | 7.1.8-4.6.2 | x86_64 v | SLES12-SP3-Updates | crash | 7.1.8-4.3.1 | 7.1.8-4.6.2 | x86_64
v | SLES12-SP3-Updates | rsync | 3.1.0-12.1 | 3.1.0-13.10.1 | x86_64 v | SLES12-SP3-Updates | rsync | 3.1.0-12.1 | 3.1.0-13.10.1 | x86_64
``` ```
输出特意被格式化以便于阅读。每一列分别代表包所属仓库名称、包名、已安装版本、可用的更新版本和架构。 输出特意被格式化以便于阅读。每一列分别代表包所属仓库名称、包名、已安装版本、可用的更新版本和架构。
##### 在 Suse Linux 中列出和安装补丁 ### 在 Suse Linux 中列出和安装补丁
使用 `list-patches``lp` 开关来显示你的 Suse Linux 系统需要被应用的所有可用补丁。 使用 `list-patches``lp` 子命令来显示你的 Suse Linux 系统需要被应用的所有可用补丁。
``` ```
root@kerneltalks # zypper lp root@kerneltalks # zypper lp
@ -262,7 +268,7 @@ Found 37 applicable patches:
##### 如何使用 zypper 更新包 ##### 如何使用 zypper 更新包
要使用 zypper 更新包,使用 `update``up` 开关后接包名。在上述列出的更新命令中,我们知道在我们的服务器上 `rsync` 包更新可用。让我们现在来更新它吧! 要使用 `zypper` 更新包,使用 `update``up` 子命令后接包名。在上述列出的更新命令中,我们知道在我们的服务器上 `rsync` 包更新可用。让我们现在来更新它吧!
``` ```
root@kerneltalks # zypper update rsync root@kerneltalks # zypper update rsync
@ -284,9 +290,9 @@ Checking for file conflicts: ...................................................
(1/1) Installing: rsync-3.1.0-13.10.1.x86_64 .....................................................................................................................[done] (1/1) Installing: rsync-3.1.0-13.10.1.x86_64 .....................................................................................................................[done]
``` ```
##### 在 Suse Linux 上使用 zypper 查找包 ### 在 Suse Linux 上使用 zypper 查找包
如果你不确定包的全名也不要担心。你可以使用 zypper 附带 `se``search` 开关并提供查找字符串来查找包。 如果你不确定包的全名也不要担心。你可以使用 `zypper` 附带的 `se``search` 子命令并提供查找字符串来查找包。
``` ```
root@kerneltalks # zypper se lvm root@kerneltalks # zypper se lvm
@ -304,13 +310,14 @@ S | Name | Summary | Type
| lvm2 | Logical Volume Manager Tools | srcpackage | lvm2 | Logical Volume Manager Tools | srcpackage
i+ | lvm2 | Logical Volume Manager Tools | package i+ | lvm2 | Logical Volume Manager Tools | package
| lvm2-devel | Development files for LVM2 | package | lvm2-devel | Development files for LVM2 | package
``` ```
在上述示例中我们查找了 `lvm` 字符串并得到了如上输出列表。你能在 zypper install/remove/update 命令中使用 `Name` 字段的名字。
##### 使用 zypper 检查已安装包信息 在上述示例中我们查找了 `lvm` 字符串并得到了如上输出列表。你能在 `zypper install/remove/update` 命令中使用 `Name` 字段的名字。
### 使用 zypper 检查已安装包信息
你能够使用 `zypper` 检查已安装包的详细信息。`info` 或 `if` 子命令将列出已安装包的信息。它也可以显示未安装包的详细信息,在该情况下,`Installed` 参数将返回 `No` 值。
你能够使用 zypper 检查已安装包的详细信息。`info` 或 `if` 开关将列出已安装包的信息。它也可以显示未安装包的详细信息,在该情况下,`Installed` 参数将返回 `No` 值。
``` ```
root@kerneltalks # zypper info rsync root@kerneltalks # zypper info rsync
Refreshing service 'SMT-http_smt-ec2_susecloud_net'. Refreshing service 'SMT-http_smt-ec2_susecloud_net'.
@ -343,9 +350,9 @@ Description :
for backups and mirroring and as an improved copy command for everyday use. for backups and mirroring and as an improved copy command for everyday use.
``` ```
##### 使用 zypper 列出仓库 ### 使用 zypper 列出仓库
使用 zypper 命令附带 `lr``repos` 开关列出仓库。 使用 `zypper` 命令附带 `lr``repos` 子命令列出仓库。
``` ```
root@kerneltalks # zypper lr root@kerneltalks # zypper lr
@ -364,7 +371,7 @@ Repository priorities are without effect. All enabled repositories share the sam
此处你需要检查 `enabled` 列来确定哪些仓库是已被启用的而哪些没有。 此处你需要检查 `enabled` 列来确定哪些仓库是已被启用的而哪些没有。
##### 在 Suse Linux 中使用 zypper 添加或移除仓库 ### 在 Suse Linux 中使用 zypper 添加或移除仓库
要添加仓库你需要仓库或 .repo 文件的 URI否则你会遇到如下错误。 要添加仓库你需要仓库或 .repo 文件的 URI否则你会遇到如下错误。
@ -390,16 +397,17 @@ Priority : 99 (default priority)
Repository priorities are without effect. All enabled repositories share the same priority. Repository priorities are without effect. All enabled repositories share the same priority.
``` ```
在 Suse 中使用附带 `addrepo``ar` 开关的 `zypper` 命令添加仓库,后接 URI 以及你需要提供一个别名。 在 Suse 中使用附带 `addrepo``ar` 子命令的 `zypper` 命令添加仓库,后接 URI 以及你需要提供一个别名。
要在 Suse 中移除一个仓库,使用附带 `removerepo``rr` 子命令的 `zypper` 命令。
要在 Suse 中移除一个仓库,使用附带 `removerepo``rr` 开关的 `zypper` 命令。
``` ```
root@kerneltalks # zypper removerepo nVidia-Driver-SLE12-SP3 root@kerneltalks # zypper removerepo nVidia-Driver-SLE12-SP3
Removing repository 'nVidia-Driver-SLE12-SP3' ....................................................................................................................[done] Removing repository 'nVidia-Driver-SLE12-SP3' ....................................................................................................................[done]
Repository 'nVidia-Driver-SLE12-SP3' has been removed. Repository 'nVidia-Driver-SLE12-SP3' has been removed.
``` ```
##### 清除 zypper 本地缓存 ### 清除 zypper 本地缓存
使用 `zypper clean` 命令清除 zypper 本地缓存。 使用 `zypper clean` 命令清除 zypper 本地缓存。
@ -414,7 +422,7 @@ via: https://kerneltalks.com/commands/12-useful-zypper-command-examples/
作者:[KernelTalks][a] 作者:[KernelTalks][a]
译者:[cycoe](https://github.com/cycoe) 译者:[cycoe](https://github.com/cycoe)
校对:[校对者ID](https://github.com/校对者ID) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出