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 的依赖计算问题。想要生成测试案例,在如 install、remove、update、dist-upgrade、verify 或 source-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