SDB:Zypper 疑难解答

跳转至: 导航, 搜索
Zypper 使用中的疑难解答。

详细输出信息

可以使用 --verbose-vv 选项使 zypper 命令输出详细信息。

日志

自 0.8.0 版开始,zypper 日志默认位于 /var/log/zypper.log。可以使用 ZYPP_LOGFILE 环境变量改变日志文件路径,如:

$ ZYPP_LOGFILE=zypper-refresh-updates.log zypper refresh updates

想要启用额外调试日志,在选项里添加 ZYPP_FULLLOG=1 变量。

Solver 测试案例

自 0.8.7 版本开始,zypper 可以生成 Solver 测试案例以帮助调试关于软件包依赖和 libzypp 的依赖计算问题。想要生成测试案例,在如 installremoveupdatedist-upgradeverifysource-install 等命令后添加 --debug-solver 选项,如:

$ zypper install --debug-solver MozillaFirefox

测试案例文件会生成在 /var/log/zypper.solverTestCase 目录中。

提交 Bug

提交 Bug 时,请使用 libzypp 组件并附上日志和 zypper 输出信息。如果您可以重现 Bug,可以附上在 zypper 命令前添加 ZYPP_LOGFILE=logfile_name 选项再次重现 Bug 时所指定的文件,如:

$ ZYPP_LOGFILE=zypper.log zypper -vv install MozillaFirefox

无视 zypper 的运行锁定

在开发程序之时,能无视 zypper 正在运行的锁定有时会很有用(切勿在生产机器上尝试):

$ export ZYPP_READONLY_HACK=1
$ zypper ...

常见问题

读取不了已安装软件列表

此问题的表现为不能启动yast软件管理,使用zypper安装,搜索,升级软件包时一直显示“正在读取已安装的软件包...”,并且cpu占用较高 出现这种情况的原因是 软件源的GPG签名出现问题,特别是update源签名有可能已经失效,故你需要禁用签名失效的源或者删除失效的签名 你也可以尝试使用zypper的 --no-gpg-checks选项禁用GPG签名检查

搜索一个软件包package

$ zypper --no-gpg-checks se package