使用 Zypper 进行包管理
正如我之前提到的,我是 openSUSE 用户,只要他们不再将 "U" 变成小写,我可能会继续使用它。 在包管理方面,OpenSUSE 和 SUSE Linux 企业版(以及之前的 SuSE)通常与 YaST 相关联(是的,我仍在等待他们将 "a" 变成大写)。 YaST 工作良好,但对于安装单个软件包来说有点冗长,当然,对于那些使用 apt-get 的人来说,这只是更多的谈资,他们会说apt-get install this然后说apt-get install thats。 你无法与他们争论,但是 openSUSE 还有其他选择:yum 和 apt4rpm,但首选的解决方案是 zypper。
Zypper 是一个用于包管理的命令行工具,它基于 ZYpp,又名 libzypp。 维基百科上关于 Zypp 的条目说
与其他常见的包管理器不同,它提供了一个强大的可满足性解算器来计算软件包依赖关系和一个方便的软件包管理 API。
由于我们不想让我们的头脑爆炸,我们只需理所当然地认为一个 强大的可满足性解算器是一件好事。
事实证明,YaST 现在也基于 ZYpp,因此您无需担心使用 zypper 会错过任何东西。
Zypper 使用起来非常简单。 如果你想搜索一个软件包,执行zypper search STRING...。 STRING 可以包含 * 和 ? 通配符,并且有选项可以匹配所有或任何字符串,以及完全精确匹配(默认是部分匹配)。 如果你想搜索软件包描述,也有一个选项。 例如,搜索名称或描述中包含 "mail" 一词的软件包,请执行
$ zypper search --search-descriptions mail
$ # --search-descriptions can be abbreviated as -d
Reading installed packages...
S | Name | Summary | Type
--+----------------------+----------------------------------------+-----------
| Buddi | Buddi - Personal budget software ... | package
| CgEddie | A simple editor with syntax high ... | package
| FrostWire | Gnutella peer-to-peer (P2P) file ... | package
...
i | yast2-mail | YaST2 - Mail Configuration | package
| yast2-mail-plugins | YaST2-Users/Group Plugins for the ... | package
| yum-updatesd | YUM update notification daemon | package
使用 zypper 安装软件包时,正如您所期望/希望的那样,zypper 会负责安装软件包的依赖项
$ zypper install Buddi
Reading installed packages...
The following NEW packages are going to be installed:
BrowserLauncher2 swingx Buddi jcommon jfreechart
Overall download size: 4.1 M. After the operation, additional 5.2 M will be used.
Continue? [YES/no]:
zypper 支持的其他一些有趣的命令是
- refresh - 从您定义的存储库刷新软件包信息。
- addrepo - 添加新的存储库。
- remove - 删除软件包。
- list-updates - 列出已安装软件包可用的更新/补丁。
要获取 zypper 支持的命令的完整列表,请键入zypper help并查看手册页以获取更多详细信息。
Ubuntu 的 WOW 因素之一似乎是apt-get dist-upgrade,即升级到下一个 Ubuntu 版本的的能力(实际上它是任何基于 debian 的发行版的功能)。 这是 apt-get 使用者吹嘘的另一件事,好吧,输入zypper dist-upgrade或者zypper dup。 这允许您从一个版本的 openSUSE 升级到下一个版本。 我还没有使用过这个功能,但是 openSUSE wiki 上的帖子似乎表明它运行良好。
所以对于所有 apt-get 使用者来说,我只能说:zypp 它。