使用 zypper 安装软件

本文将简单介绍怎样使用 openSUSE 发行版本自带的 zypper 工具搜索、安装、卸载和更新软件包。

注意:本文采用 openSUSE Linux 15.2 64位

zypper 是 SUSE Linux 发行版所特有的包管理命令,类似于 yum 和 apt-get,适用于社区发行版 openSUSE 和企业发行版 SUSE Linux Enterprise。

zypper 语法

zypper [--全局选项] <命令> [--命令选项][参数]

全局选项:

  • --help,-h 帮助。

  • --version,-V 输出版本号。

  • --quiet,-q 减少普通输出,仅打印错误信息。

  • --verbose,-v 增加信息的详细程度

  • --no-abbrev,-A 表格中不出现缩写文本。

  • --table-style,-s 表格样式(整数)。

  • --rug-compatible,-r 开启与rug的兼容。

  • --non-interactive,-n 不询问任何问题,自动使用默认的回复。

  • --xmlout,-x 切换到XML输出。

  • --reposd-dir,-D <dir> 使用其他的安装源定义文件目录。

  • --cache-dir,-C <dir> 使用其他的元数据缓存数据库目录。

  • --raw-cache-dir <dir> 使用其他的原始元数据缓存目录。

Repository Options:

  • --no-gpg-checks 忽略GPG检查失败并继续。

  • --plus-repo,-p <URI> 使用额外的安装源。

  • --disable-repositories 不从安装源读取元数据。

  • --no-refresh 不刷新安装源。

目标选项:

  • --root,-R<dir> 在不同的根目录下操作。

  • --disable-system-sources、-D 不读取系统安装的可解析项。

命令:

  • help,? 打印帮助。

  • shell,sh 一次接受多个命令.

安装源操作:

  • repos,lr 列出所有定义的安装源。

  • addrepo,ar 添加一个新的安装源。

  • removerepo,rr 删除指定的安装源。

  • renamerepo,nr 重命名指定的安装源。

  • modifyrepo,mr 修改指定的安装源。

  • refresh,ref 刷新所有安装源。

  • clean 清除本地缓存。

软件管理:

  • install,in 安装软件包。

  • remove,rm 删除软件包。

  • verify,ve 检验软件包的依赖关系的完整性。

  • update,up 将已经安装的软件包更新到新的版本。

  • dist-upgrade,dup 执行整个系统的升级。

  • source-install,si 安装源代码软件包和它们的编译依赖。

查询:

  • search,se 查找符合一个模式的软件包。

  • info,if 显示指定软件包的完整信息。

  • patch-info 显示指定补丁的完整信息。

  • pattern-info 显示指定模式的完整信息。

  • product-info 显示指定产品的完整信息。

  • patch-check,pchk 检查补丁。

  • list-updates,lu 列出可用的更新。

  • patches,pch 列出所有可用的补丁。

  • packages,pa 列出所有可用的软件包。

  • patterns,pt 列出所有可用的模式。

  • products,pd 列出所有可用的产品。

  • what-provides,wp 列出能够提供指定功能的软件包。

软件包锁定:

  • addlock,al 添加一个软件包锁定。

  • removelock,rl 取消一个软件包锁定。

  • locks,ll 列出当前的软件包锁定。

常用命令

下面将以 emacs 软件包作为实例。Emacs,著名的集成开发环境和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器之一,另外一个vim。如下图:

使用 zypper 安装软件

搜索软件

使用“zypper search package”命令搜索名称为“package”的安装包。

实例:搜索 emacs 安装包

hx@install:~> zypper search emacs
正在加载软件源数据...
正在读取已安装的软件包...

S | Name                    | Summary                                                        | Type
--+-------------------------+----------------------------------------------------------------+---------
  | ccrypt-emacs            | Integration for ccrypt with emacs                              | 软件包
  | emacs                   | GNU Emacs Base Package                                         | 软件包
  | emacs                   | GNU Emacs Base Package                                         | 源代码包
  | emacs-apel              | A Portable Emacs Library                                       | 软件包
  | emacs-auctex            | AUC TeX: An Emacs Extension                                    | 软件包
  | emacs-color-theme       | Color themes for emacs                                         | 软件包
  | emacs-completion-golang | Golang 的 Emacs 自动补全文件                                   | 软件包
  | emacs-dash              | A modern list library for Emacs                                | 软件包

注意,也可以使用“zypper se emacs”来搜索 emacs 软件包。

安装软件

使用“zypper install package”命令安装名称为“package”的软件包。

实例:安装 emacs 软件包

hx@install:~> zypper install emacs
需要 Root 权限才可运行此命令。
hx@install:~> sudo zypper install emacs
[sudo] root 的密码:
正在加载软件源数据...
正在读取已安装的软件包...
正在解决软件包依赖关系...

将安装以下 5 个新软件包:
  emacs emacs-info emacs-x11 etags libXaw3d8

5 个软件包将新装.
总下载大小:25.7 MiB。已缓存:0 B。 操作完成后,将使用额外的 104.7 MiB。
继续吗? [y/n/v/...? 显示全部选项] (y): y
正在撷取 软件包 libXaw3d8-1.6.2-lp152.3.6.x86_64                                                                                                                                                    (1/5), 140.5 KiB (解压后 386.9 KiB)
正在检索: libXaw3d8-1.6.2-lp152.3.6.x86_64.rpm ...............................................................................[完毕]
正在撷取 软件包 emacs-info-25.3-lp152.5.3.1.noarch                                              (2/5),   4.5 MiB (解压后   4.4 MiB)
正在检索: emacs-info-25.3-lp152.5.3.1.noarch.rpm ...............................................................[完毕 (287.3 KiB/s)]
正在撷取 软件包 etags-25.3-lp152.5.3.1.x86_64                                                   (3/5),  99.8 KiB (解压后 237.5 KiB)
正在检索: etags-25.3-lp152.5.3.1.x86_64.rpm ..................................................................................[完毕]
正在撷取 软件包 emacs-25.3-lp152.5.3.1.x86_64                                                   (4/5),  15.4 MiB (解压后  67.7 MiB)
正在检索: emacs-25.3-lp152.5.3.1.x86_64.rpm ......................................................................[完毕 (8.8 MiB/s)]
正在撷取 软件包 emacs-x11-25.3-lp152.5.3.1.x86_64                                               (5/5),   5.6 MiB (解压后  32.0 MiB)
正在检索: emacs-x11-25.3-lp152.5.3.1.x86_64.rpm ..................................................................[完毕 (1.4 MiB/s)]

正在检查文件冲突: ............................................................................................................[完毕]
(1/5) 正在安装:libXaw3d8-1.6.2-lp152.3.6.x86_64 ..............................................................................[完毕]
(2/5) 正在安装:emacs-info-25.3-lp152.5.3.1.noarch ............................................................................[完毕]
额外的 RPM 输出:
install-info: No such file or directory for /usr/share/info/info.info.info.gz


(3/5) 正在安装:etags-25.3-lp152.5.3.1.x86_64 .................................................................................[完毕]
(4/5) 正在安装:emacs-25.3-lp152.5.3.1.x86_64 .................................................................................[完毕]
(5/5) 正在安装:emacs-x11-25.3-lp152.5.3.1.x86_64 .............................................................................[完毕]

注意,命令“sudo zypper in emacs”和上面命令效果一致。

升级某个软件包

可以使用“zypper update package”命令去升级指定的升级包 package。

例如:升级 emacs 软件包

hx@install:~> sudo zypper update emacs
正在加载软件源数据...
正在读取已安装的软件包...
没有 'emacs-25.3-lp152.5.3.1.x86_64' 的更新候选。已安装了可获取的最高版本。
正在解决软件包依赖关系...
无事可做。

卸载某个软件包

使用“zypper remove package”命令卸载名称为“package”软件包。

例如:卸载 emacs 软件安装包,如下:

hx@install:~> sudo zypper remove emacs
[sudo] root 的密码:
正在读取已安装的软件包...
正在解决软件包依赖关系...

将移除以下 2 个软件包:
  emacs emacs-x11

2 个软件包将移除.
操作完成后,将释放 99.7 MiB。
继续吗? [y/n/v/...? 显示全部选项] (y): y
(1/2) 正在移除 emacs-25.3-lp152.5.3.1.x86_64 ................[完毕]
(2/2) 正在移除 emacs-x11-25.3-lp152.5.3.1.x86_64 ............[完毕]

获取所有可用新包的列表

使用“zypper list-updates”命令查看所有可用的新软件包列表,实例:

hx@install:~> zypper list-updates
正在加载软件源数据...
正在读取已安装的软件包...
S | Repository                     | Name             | Current Version    | Available Version  | Arch
--+--------------------------------+------------------+--------------------+--------------------+-------
v | openSUSE15.2-Aliyun-UPDATE-OSS | libnghttp2-14    | 1.40.0-lp152.1.3   | 1.40.0-lp152.2.3.1 | x86_64
v | openSUSE15.2-Aliyun-UPDATE-OSS | libpoppler-cpp0  | 0.79.0-lp152.1.7   | 0.79.0-lp152.2.3.1 | x86_64
v | openSUSE15.2-Aliyun-UPDATE-OSS | libpoppler-glib8 | 0.79.0-lp152.1.7   | 0.79.0-lp152.2.3.1 | x86_64
v | openSUSE15.2-Aliyun-UPDATE-OSS | libpoppler-qt5-1 | 0.79.0-lp152.1.8   | 0.79.0-lp152.2.3.1 | x86_64
v | openSUSE15.2-Aliyun-UPDATE-OSS | libpoppler89     | 0.79.0-lp152.1.7   | 0.79.0-lp152.2.3.1 | x86_64
v | openSUSE15.2-Aliyun-UPDATE-OSS | poppler-tools    | 0.79.0-lp152.1.7   | 0.79.0-lp152.2.3.1 | x86_64
v | openSUSE15.2-Aliyun-UPDATE-OSS | yast2-security   | 4.2.14-lp152.2.6.1 | 4.2.16-lp152.2.9.1 | noarch

上面介绍 zypper 工具进行查询、安装、更新和卸载命令。下面还有一些常用命令:

  • 安装某个版本的软件包:zypper install package=version

  • 安装以某个单词名字开头的所有软件包:zypper install package*

  • 检验软件包的依赖关系的完整性:zypper verify package

  • 执行系统升级:zypper dist-upgrade

  • 执行源代码软件安装和其依赖:zypper source-install package.tgz

时间是一切财富中最宝贵的财富。 —— 德奥弗拉斯多
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号