opensuse 下图形化的 Yast 也十分强大(也许是我见过最好用的图形化管理工具),建议两者配合使用。
<pre>
zypper 列出可用的全局选项和命令
zypper help search 列出 search 命令的帮助
zypper up 更新所有软件包到可用的新版本
zypper lu 获取可用的更新列表
zypper lp 列出需要的补丁更新
zypper patch安装所需的补丁
zypper pchk 检查是否有可用的重要的补丁,并反馈补丁数
zypper patch-info Firefox 显示 Firefox 补丁的信息
zypper se sqlite搜索 sqlite 软件
zypper se -s virtualbox-ose 查看匹配软体套件包的全部可选版本
zypper se -dC --match-words RSI 搜寻包括摘要和描述中的匹配 RSI 缩写的项
zypper se 'yast*' 搜寻所有含 yast 字符的软件包(注意 shell 的表达,不确定就加引号)
zypper se -r packman列出所有 packman 供应源的软件包
zypper se -i sqlite 列出所有已安装的其名字包含 sqlite 的软件包
zypper se -t pattern -r repo-oss列出所有 repo-oss 供应源的模式 (pattern)
zypper se -t product列出所有可选的成品 (product)
zypper ve 验证检查依赖关系
zypper wp firefox 列出所有指定软体的供应方
zypper info amarok 显示名为 amarok 的软体套件包的具体信息
zypper info -t pattern lamp_server 显示 lamp server 模式的信息
zypper info -t product openSUSE-FTP 显示特定成品的信息
zypper rm sqlite2 删除 sqlite2 软件
zypper in sqlite3 安装 sqlite3 软件
zypper in yast* 安装所有符合 yast* 名称的软件
zypper in vim -emacs安装 vim 并移除 emacs
zypper in -f subversion 强制重新安装 subversion
zypper in bitchx-1.1-81.x86_64.rpm 安装当前目录的 bitchx RPM 软件包
zypper inr 查找并安装已安装的软体套件包的推荐的新添加的软体套件包
zypper ps 显示使用被最近的更新或移除 *** 作所删除的文件的进程
zypper si -D zypper 只安装源码包
zypper si -d zypper 只安装构建依赖
zypper al 'yast2 ' 锁定所有以 yast2 开首的软体套件包
zypper al -r repo-oss virtualbox限制 repo-oss 供应源(允许安装其他供应源的软件包)
zypper ll 列出当前有效的锁定
zypper rl yast2-packager移除锁定,可对应序号锁定
zypper lr 列出设定的供应套件库
zypper lr -u列出供应源 URI
zypper lr -d列出供应源的其他数项属性
zypper lr -P列出供应源优先级并依此排序
zypper lr -e my 导出全部的供应源设定信息至文件 my.repo
zypper ar http://download.videolan.org/pub/vlc/SuSE/11.1 vlc添加供应套件库
zypper ar http://download.opensuse.org/repositories/X11:/XGL/openSUSE_11.1/X11:XGL.repo 通过 .repo 文件
zypper ar -c ftp://some.download.site myalias 添加之前试探供应源
zypper ar my/dir/with/rpms local添加含 RPM 文件的本地目录为供应源
zypper rr vlc 1 23 foo 移除供应套件库
zypper mr -d 6 禁用序号为 6 的供应套件库
zypper mr -rk -p 70 packman 启用 packman 供应套件库的自动刷新并缓存 RPM 文件,再设置其优先顺序为 70
zypper mr -Ka 禁用所有供应套件库的 RPM 文件缓存
zypper mr -ka 启用所有供应套件库的 RPM 文件缓存
zypper nr 3 upd 重命名供应套件库
zypper refresh 刷新供应套件库
zckman main 只指定特定的供应源刷新
zypper ref -f upd 强制 upd 供应源刷新
</pre>
<pre>$ zypper lr --export backups/repos/foo.repo
$ zypper ar backups/repos/foo.repo</pre>
<pre>$ zypper dup 此命令使用发行版升级演算法,处理软体套件包分裂 (package splits)、无维护软体套件包以及类似的其他软体套件包
建议在发行版升级过程中仅启用您所欲安装的发行版的主要的供应套件库和一些您所用的重要的供应套件库(若其版本对应於主
要的供应套件库则更佳)。也可以先禁用旧的供应套件库 zypper mr -da,添加新的供应套件库 zypper ar,
再 zypper dup 升级。您可以用 --repo 选项指定所使用的供应套件库 zypper dup -r repo1 -r repo2
</pre>
一、zypper源的配置SUSE的zypper本地源配置起来跟yum的配置很相似,它们的配置文件有很多相似之处。不过,个人觉得zypper这个工具稍微强大些。在SUSE下,可以通过一条zypper的命令,即可完成zypper源的配置。
以下包是SUSE的Bash最新升级包,接下来的 *** 作是把下面的升级包作为一个本地仓库,供以后zypper update来使用,
1
2
3
4
5
6
7
8
9
10
funny:~ # unzip CVE-2014-6271.zip
Archive: CVE-2014-6271.zip
creating: CVE-2014-6271/
inflating: CVE-2014-6271/bash 9740.htm
inflating: CVE-2014-6271/bash-3.2-147.20.1.x86_64.rpm
inflating: CVE-2014-6271/bash-doc-3.2-147.20.1.x86_64.rpm
inflating: CVE-2014-6271/libreadline5-32bit-5.2-147.20.1.x86_64.rpm
inflating: CVE-2014-6271/libreadline5-5.2-147.20.1.x86_64.rpm
inflating: CVE-2014-6271/license_agreement.txt
inflating: CVE-2014-6271/readline-doc-5.2-147.20.1.x86_64.rpm
接下来的 *** 作是把这些包放到一个目录里,然后把该目录做成系统的一个更新源。比如,把解压后的目录放到/opt目录下,然后使用zypper ar添加该zypper源。
1
2
3
4
5
6
7
8
funny:~ # mv CVE-2014-6271 /opt/update
funny:~ # zypper ar file:///opt/update update
Adding repository 'update' [done]
Repository 'update' successfully added
Enabled: Yes
Autorefresh: No
GPG check: Yes
URI: file:/opt/update
接下来,使用zypper lr验证下,
1
2
3
4
5
funny:~ # zypper lr
# | Alias | Name | Enabled | Refresh
--+--------+--------+---------+--------
1 | local | local | Yes | Yes
2 | update | update | Yes | No
说明我们已成功添加update的源。另外,执行”zypper ar URI alias“后,会在/etc/zypp/repo.d/目录下生成alias.repo配置文件。接下来,我们试试zypper update命令,看是不是可以真的可以升级?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
funny:~ # zypper update
Building repository 'update' cache [done]
Loading repository data...
Reading installed packages...
The following packages are going to be upgraded:
bash bash-doc libreadline5 readline-doc
The following packages are not supported by their vendor:
bash bash-doc libreadline5 readline-doc
4 packages to upgrade.
Overall download size: 923.0 KiB. ...
Continue? [y/n/?] (y): y
Retrieving package libreadline5-5.2-147.20.1.x86_64 (1/4), ...
Retrieving package bash-3.2-147.20.1.x86_64 (2/4), ...
Retrieving package readline-doc-5.2-147.20.1.x86_64 (3/4), ...
Retrieving package bash-doc-3.2-147.20.1.x86_64 (4/4), ...
Retrieving package libreadline5-5.2-147.20.1.x86_64 (1/4), ...
Installing: libreadline5-5.2-147.20.1 [done]
Retrieving package bash-3.2-147.20.1.x86_64 (2/4), ...
Installing: bash-3.2-147.20.1 [done]
Retrieving package readline-doc-5.2-147.20.1.x86_64 (3/4), ...
Installing: readline-doc-5.2-147.20.1 [done]
Retrieving package bash-doc-3.2-147.20.1.x86_64 (4/4), ...
Installing: bash-doc-3.2-147.20.1 [done]
以上说明可以进行升级的。接下来,我们使用zypper ps命令,可以查看有哪些终端还在使用之前没有升级过的bash,
1
2
3
4
5
6
7
8
9
10
11
funny:/etc/zypp/repos.d # zypper ps
The following running processes use deleted files:
PID | PPID | UID | Login | Command | Files
------+-------+-----+-------+---------+--------------------------
2663 | 2542 | 0 | root | bash| /lib64/libreadline.so.5.2
| | | | | /bin/bash (deleted)
22426 | 22423 | 0 | root | bash| /lib64/libreadline.so.5.2
| | | | | /bin/bash (deleted)
You may wish to restart these processes.
二、zypper命令选项介绍
1. zypper的几个重要选项:
选项
说明
repos, lr
列出库
sl
列出库(目的是与rug兼容)
addrepo, ar添加库
sa添加库(目的是与rug兼容)
renamerepo, nr重命名指定的安装源
modifyrepo, mr修改指定的安装源
refresh, ref刷新所有安装源
clean清除本地缓存
2. zypper软件管理:
选项说明
install, in
安装软件包
remove, rm删除软件包
verify, ve检验软件包依赖关系的完整性
update, up更新已安装的软件包到新的版本
dist-upgrade, dup
整个系统的升级
source-install, si安装源代码软件包和它们的编译依赖
3. zypper的查询选项:
选项
说明
search, se安装软件包
packages, pa
列出所有可用的软件包
patterns, pt列出所有可用的模式
products, pd列出所有可用的产品
what-provides, wp列出能够提供指定功能的软件包
笔者新入了一台ThinkPad X61来玩玩,给它装上了OpenSUSE。为了获得更好的输入体验,安装搜狗输入法必不可少,然而OpenSUSE使用的包管理器是RPM,与搜狗输入法官方支持的Debian差别太大,互不兼容。加之即使在OpenSUSE中安装了Debian的包管理器 dpkg ,也无法正常安装搜狗的包,提示依赖条件不满足。
所幸,OpenSUSE的多语言支持社区编写了可以在OpenSUSE下安装搜狗输入法的安装器,这就使得搜狗不会局限在Debian系Linux发行版(如Ubuntu、Deepin)的专利中了。
搜狗输入法的安装器在OpenSUSE的M17N源,即多语言支持源中。首先进入源的地址( http://download.opensuse.org/repositories/M17N/ ),然后在列表中找到与你OpenSUSE版本所对应的那一项。进入后,复制地址栏上的地址备用。例如,笔者的OpenSUSE是Leap 15.0版本的,那就点击“OpenSUSE_Leap_15.0“,从而在地址栏得到这个地址:
打开终端,输入以下命令来添加源,命令中的地址就是刚才复制的地址,只是要在最后加上“ M17N.repo ”:
这样,多语言支持源就添加好了。
直接在终端中就可以安装:
稍等片刻,让安装过程正常进行。有别于其他的RPM软件包,这里的搜狗输入法“软件包”其实是一个安装器,由shell脚本构成。它的作用就是获取搜狗官方的DEB安装包,然后将其中的内容直接抽取出来,安装到系统的相应位置。据此就可以在不支持DEB的OpenSUSE中安装搜狗的DEB安装包了。
理论上,在任务栏上的Fcitx输入法管理器中就可以找到搜狗输入法,并启用之。但是,搜狗输入法却始终无法正常工作,表现为实际的输入法界面和控制栏一直未出现,而且过一段时间后就d出输入法出错的提示。
后来,笔者尝试在终端中直接运行搜狗输入法的主程序 sogou-qimpanel ,结果提示找不到共享库 libQtWebKit.so.4 ,无法运行。
看来,终究还是缺少依赖导致运行异常——OpenSUSE默认并未带这个库。所幸,这个库文件是可以直接用zypper来安装的:
安装完成后,重启搜狗输入法,即可正常打字了。
笔者随意打开了一个文本编辑器打字,结果发现,搜狗输入法虽然能正常输入了,但打出来的标点全都是半角英文标点,即使开启了中文标点选项也是如此。
这个问题解决的办法其实很简单: 重启系统即可 。重启完成后,搜狗输入法就能正常输入中文标点了。
若还是有问题,可以在OpenSUSE的“Qt 4 设置”程序中(在OpenSUSE开始菜单搜索“Qt 设置”即可找到),将“Interface”选项卡中的“Default Input Method”设为Fcitx。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)