不使用指定软件源中的包
--no-refresh
不刷新软件源,即使用缓存的软件源库信息(即库中包含哪些软件包以及软件包的名称、描述等信息)
[/code]查询软件包,se(等同于se)、pt(等同于pattern):[code]#软件包组查询,所谓“软件包组”即为实现某一目的的一系列软件集合,例如c++开发
zypper pt
#查看 pt 命令的选项
zypper help pt
#下面是pt命令选项解释
-r 仅在指定的软件库别名/序号/URL中查询,软件资源库的别名可以通过zypper lr命令查看
-i 仅列出已安装的软件组
-u 仅列出未安装的软件组
#例如,我们要安装C++开发工具
zypper pt | grep -i c++
| devel_C_C++ | 20150918-10.1 | openSUSE-Leap-42.1-Oss |
| devel_C_C++ | 20150918-12.1 | openSUSE-Leap-42.1-Update |
| devel_C_C++ | 20150918-10.1 | ustc-oss |
| devel_C_C++ | 20150918-12.1 | ustc-update-oss |
i | devel_C_C++ | 20150918-12.1 | @System |
#在上面的输出中第一列是说明此软件组是否已安装,已安装的含“i”标记(例如最后一行),第三列是提供软件组的库名称
#如果上面没有“i”标记则说明我们没有安装C++开发工具链,下面的命令可以安装
zypper in -t pattern devel_C_C++
[/code]查询软件包:[code]zypper se
#查看选项
zypper help se
#常用选项如下
--match-substrings
子串匹配,即此选项所跟字符串只要出现在软件包名称、描述(须指定-d选项)等的某一部分即可列出,此选项亦是默认选项
--match-words
整字匹配,即软件包名称、描述(须指定-d选项)等进行分词(即按非a-z0-9的字符划分片段)后,如果某个词与此选项指定字符串相同则列出
--provides
匹配时包含“软件包提供特性”信息,例如,我们向开发C#但又不知道哪个软件包提供C#开发功能,则我们可以执行下面命令:
zypper se --provides csharp
S | Name | Summary | Type
--+------------------+---------------------------------------------------------+--------
| gettext-csharp | Native Language Support (NLS) for C# | package
| ikvm | A JVM Based on the Mono Runtime | package
| libxflaim | Embeddable XML Database Engine | package
| mono-core | Cross-platform, Open Source, .NET development framework | package
| mono-devel | Mono development tools | package
i | openSUSE-release | openSUSE | package
| qtsharp | Qt Bindings for C# | package
#我们可以看到第4项说mono是一个跨平台的开源开发框架,第5项则是mono的开发工具集合(包含MonoDev集成开发环境)
#那么我们就可以通过zypper安装C#开发环境了:zypper in mono-core mono-devel
--recommends 查询推荐软件包,即待安装软件包的附属功能或模块包含此选项指定的值则列出
--requires 依赖关系查询,例如我们想查看依赖vim的软件包:zypper se --requires vim
-d, --search-descriptions 查询时包含软件包的描述文本,即在软件包的简要描述里匹配
-C, --case-sensitive 即区分查询关键字的大小写(默认不区分)
-i, --installed-only 仅在已安装的软件包中查询
-u, --uninstalled-only 仅在未安装的软件包中查询
-t, --type 软件类型,共有5种类型:package(普通rpm包), patch(补丁集合), pattern(软件组),
product(产品,默认只有openSUSE、openSUSE-Addon-NonOss两项,openSUSE即你的系统),
srcpackage(源代码包,例如我们进行KDE开发,扩展某些系统应用时就会用到),可以用这5项替换-n, --name 在软件包名称中匹配查询关键字,默认选项
-f, --file-list
在软件包的文件列表中查询,例如,我们发现某篇博客中写道,要修改/etc/my.cnf以配置mysql缓冲区大小,而我们ls
/etc发现并没有my.cnf,那么我们就可以通过这个命令查询需要安装哪个软件包:zypper se -f my.cnf
[/code]