From 390bdf2579df7a7ae2631ff5ba2ecf877af3d60b Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Wed, 12 Dec 2018 13:29:33 +0800 Subject: [PATCH] PRF:20180221 12 useful zypper command examples.md @cycoe --- ...80221 12 useful zypper command examples.md | 92 ++++++++++--------- 1 file changed, 50 insertions(+), 42 deletions(-) diff --git a/translated/tech/20180221 12 useful zypper command examples.md b/translated/tech/20180221 12 useful zypper command examples.md index 018c5da7c3..356c55becc 100644 --- a/translated/tech/20180221 12 useful zypper command examples.md +++ b/translated/tech/20180221 12 useful zypper command examples.md @@ -1,10 +1,11 @@ 12 条实用的 zypper 命令范例 ====== -zypper 是 Suse Linux 系统的包和补丁管理器,你可以根据下面的 12 条附带输出示例的实用范例来学习 zypper 命令的使用。 + +`zypper` 是 Suse Linux 系统的包和补丁管理器,你可以根据下面的 12 条附带输出示例的实用范例来学习 `zypper` 命令的使用。 ![zypper 命令示例][1] -Suse Linux 使用 zypper 进行包管理,其是一个由 [ZYpp 包管理引擎][2]提供技术支持的包管理系统。在此篇文章中我们将分享 12 条附带输出示例的实用 zypper 命令,能帮助你处理日常的系统管理任务。 +Suse Linux 使用 `zypper` 进行包管理,其是一个由 [ZYpp 包管理引擎][2]提供的包管理系统。在此篇文章中我们将分享 12 条附带输出示例的实用 `zypper` 命令,能帮助你处理日常的系统管理任务。 不带参数的 `zypper` 命令将列出所有可用的选项,这比参考详细的 man 手册要容易上手得多。 @@ -18,12 +19,12 @@ root@kerneltalks # zypper --help, -h 帮助 --version, -V 输出版本号 --promptids 输出 zypper 用户提示符列表 - --config, -c 使用制定的配置文件来替代默认的 + --config, -c 使用指定的配置文件来替代默认的 --userdata 在历史和插件中使用的用户自定义事务 id --quiet, -q 忽略正常输出,只打印错误信息 --verbose, -v 增加冗长程度 --color - --no-color 是否启用彩色模式如果 tty 支持 + --no-color 是否启用彩色模式,如果 tty 支持的话 --no-abbrev, -A 表格中的文字不使用缩写 --table-style, -s 表格样式(整型) --non-interactive, -n 不询问任何选项,自动使用默认答案 @@ -43,7 +44,7 @@ root@kerneltalks # zypper --gpg-auto-import-keys 自动信任并导入新仓库的签名密钥 --plus-repo, -p 使用附加仓库 --plus-content 另外使用禁用的仓库来提供特定的关键词 - 尝试 '--plus-content debug' 选项来启用仓库 + 尝试使用 '--plus-content debug' 选项来启用仓库 --disable-repositories 不从仓库中读取元数据 --no-refresh 不刷新仓库 --no-cd 忽略 CD/DVD 中的仓库 @@ -55,11 +56,11 @@ root@kerneltalks # zypper --disable-system-resolvables 不读取已安装包 - 命令: + 命令: help, ? 打印帮助 shell, sh 允许多命令 - 仓库管理: + 仓库管理: repos, lr 列出所有自定义仓库 addrepo, ar 添加一个新仓库 removerepo, rr 移除指定仓库 @@ -68,14 +69,14 @@ root@kerneltalks # zypper refresh, ref 刷新所有仓库 clean 清除本地缓存 - 服务管理: + 服务管理: services, ls 列出所有自定义服务 addservice, as 添加一个新服务 modifyservice, ms 修改指定服务 removeservice, rs 移除指定服务 refresh-services, refs 刷新所有服务 - 软件管理: + 软件管理: install, in 安装包 remove, rm 移除包 verify, ve 确认包依赖的完整性 @@ -83,7 +84,7 @@ root@kerneltalks # zypper install-new-recommends, inr 安装由已安装包建议一并安装的新包 - 更新管理: + 更新管理: update, up 更新已安装包至更新版本 list-updates, lu 列出可用更新 patch 安装必要的补丁 @@ -91,7 +92,7 @@ root@kerneltalks # zypper dist-upgrade, dup 进行发行版更新 patch-check, pchk 检查补丁 - 查询: + 查询: search, se 查找符合匹配模式的包 info, if 展示特定包的完全信息 patch-info 展示特定补丁的完全信息 @@ -103,27 +104,28 @@ root@kerneltalks # zypper products, pd 列出所有可用的产品 what-provides, wp 列出提供特定功能的包 - 包锁定: + 包锁定: addlock, al 添加一个包锁定 removelock, rl 移除一个包锁定 locks, ll 列出当前的包锁定 cleanlocks, cl 移除无用的锁定 - 其他命令: + 其他命令: versioncmp, vcmp 比较两个版本字符串 targetos, tos 打印目标操作系统 ID 字符串 licenses 打印已安装包的证书和 EULAs 报告 download 使用命令行下载指定 rpm 包到本地目录 source-download 下载所有已安装包的源码 rpm 包到本地目录 - 子命令: + 子命令: subcommand 列出可用子命令 输入 'zypper help ' 来获得特定命令的帮助。 ``` -##### 如何使用 zypper 安装包 -`zypper` 通过 `in` 或 `install` 开关来在你的系统上安装包。它的用法与 [yum package installation][3] 相同。你只需要提供包名作为参数,包管理器(此处是 zypper)就会处理所有的依赖并与你指定的包一并安装。 +### 如何使用 zypper 安装包 + +`zypper` 通过 `in` 或 `install` 子命令来在你的系统上安装包。它的用法与 [yum 软件包安装][3] 相同。你只需要提供包名作为参数,包管理器(此处是 `zypper`)就会处理所有的依赖并与你指定的包一并安装。 ``` # zypper install telnet @@ -147,11 +149,11 @@ Checking for file conflicts: ................................................... 以上是我们安装 `telnet` 包时的输出,供你参考。 -推荐阅读 : [在 YUM 和 APT 系统中安装包][3] +推荐阅读:[在 YUM 和 APT 系统中安装包][3] -##### 如何使用 zypper 移除包 +### 如何使用 zypper 移除包 -要在 Suse Linux 中擦除或移除包,使用 `zypper` 命令附带 `remove` 或 `rm` 开关。 +要在 Suse Linux 中擦除或移除包,使用 `zypper` 附带 `remove` 或 `rm` 子命令。 ``` 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 (1/1) Removing telnet-1.2-165.63.x86_64 ..........................................................................................................................[done] ``` + 我们在此处移除了先前安装的 telnet 包。 -##### 使用 zypper 检查依赖或者认证已安装包的完整性 +### 使用 zypper 检查依赖或者认证已安装包的完整性 有时可以通过强制忽略依赖关系来安装软件包。`zypper` 使你能够扫描所有已安装的软件包并检查其依赖性。如果缺少任何依赖项,它将提供你安装或重新安装它的机会,从而保持已安装软件包的完整性。 -使用附带 `verify` 或 `ve` 开关的 `zypper` 命令来检查已安装包的完整性。 +使用附带 `verify` 或 `ve` 子命令的 `zypper` 命令来检查已安装包的完整性。 ``` root@kerneltalks # zypper ve @@ -184,9 +187,10 @@ Reading installed packages... Dependencies of all installed packages are satisfied. ``` + 在上面的输出中,你能够看到最后一行说明已安装包的所有依赖都已安装完全,并且无需更多操作。 -##### 如何在 Suse Linux 中使用 zypper 下载包 +### 如何在 Suse Linux 中使用 zypper 下载包 `zypper` 提供了一种方法使得你能够将包下载到本地目录而不去安装它。你可以在其他具有同样配置的系统上使用这个已下载的软件包。包会被下载至 `/var/cache/zypp/packages///` 目录。 @@ -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 ``` + 你能看到我们使用 `zypper` 将 telnet 包下载到了本地。 -推荐阅读 : [在 YUM 和 APT 系统中只下载包而不安装][4] +推荐阅读:[在 YUM 和 APT 系统中只下载包而不安装][4] -##### 如何使用 zypper 列出可用包更新 +### 如何使用 zypper 列出可用包更新 -`zypper` 允许你浏览已安装包的所有可用更新,以便你可以提前计划更新活动。使用 `list-updates` 或 `lu` 开关来显示已安装包的所有可用更新。 +`zypper` 允许你浏览已安装包的所有可用更新,以便你可以提前计划更新活动。使用 `list-updates` 或 `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 | 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 @@ -262,7 +268,7 @@ Found 37 applicable patches: ##### 如何使用 zypper 更新包 -要使用 zypper 更新包,使用 `update` 或 `up` 开关后接包名。在上述列出的更新命令中,我们知道在我们的服务器上 `rsync` 包更新可用。让我们现在来更新它吧! +要使用 `zypper` 更新包,使用 `update` 或 `up` 子命令后接包名。在上述列出的更新命令中,我们知道在我们的服务器上 `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] ``` -##### 在 Suse Linux 上使用 zypper 查找包 +### 在 Suse Linux 上使用 zypper 查找包 -如果你不确定包的全名也不要担心。你可以使用 zypper 附带 `se` 或 `search` 开关并提供查找字符串来查找包。 +如果你不确定包的全名也不要担心。你可以使用 `zypper` 附带的 `se` 或 `search` 子命令并提供查找字符串来查找包。 ``` root@kerneltalks # zypper se lvm @@ -303,14 +309,15 @@ S | Name | Summary | Type | llvm-devel | Header Files for LLVM | package | lvm2 | Logical Volume Manager Tools | srcpackage 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 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. ``` -##### 使用 zypper 列出仓库 +### 使用 zypper 列出仓库 -使用 zypper 命令附带 `lr` 或 `repos` 开关列出仓库。 +使用 `zypper` 命令附带 `lr` 或 `repos` 子命令列出仓库。 ``` root@kerneltalks # zypper lr @@ -364,7 +371,7 @@ Repository priorities are without effect. All enabled repositories share the sam 此处你需要检查 `enabled` 列来确定哪些仓库是已被启用的而哪些没有。 -##### 在 Suse Linux 中使用 zypper 添加或移除仓库 +### 在 Suse Linux 中使用 zypper 添加或移除仓库 要添加仓库你需要仓库或 .repo 文件的 URI,否则你会遇到如下错误。 @@ -390,16 +397,17 @@ Priority : 99 (default 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 Removing repository 'nVidia-Driver-SLE12-SP3' ....................................................................................................................[done] Repository 'nVidia-Driver-SLE12-SP3' has been removed. ``` -##### 清除 zypper 本地缓存 +### 清除 zypper 本地缓存 使用 `zypper clean` 命令清除 zypper 本地缓存。 @@ -414,7 +422,7 @@ via: https://kerneltalks.com/commands/12-useful-zypper-command-examples/ 作者:[KernelTalks][a] 译者:[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/) 荣誉推出