记录解决的一个问题。
在SUSE 中zypper 不能使用,错误如下:
hostname~ # zypper install make
Refreshing service 'packman'.
Unexpected exception.
Parse error: repoindex.xml[1] Document is empty
Please file a bug report about this.
See http://en.opensuse.org/Zypper/Troubleshooting for instructions.
解决办法是: 将zypper 对应的文件配置文件中 /etc/zypp/services.d 目录删掉。
在验证一下 zypper install make , 解决了。
zypper install make
Loading repository data...
Reading installed packages...
'make' is already installed.
No update candidate for 'make'.
Resolving package dependencies...
原因:
xxx:/etc/zypp/services.d # zypper lr
# | Alias | Name | Enabled | Refresh
--+-----------+-----------+---------+--------
1 | DVD1 | DVD1 | Yes | No
2 | DVD2 | DVD2 | Yes | No
3 | DVD3 | DVD3 | Yes | No
4 | SUSE11SP2 | SUSE11SP2 | No | Yes
xxx:/etc/zypp/services.d # zypper ls
# | Alias | Name | Enabled | Refresh | Type
--+-----------+-----------+---------+---------+------
1 | service | packman | Yes | Yes | ris
2 | service_1 | service_1 | Yes | Yes | ris
3 | DVD1 | DVD1 | Yes | No | yast2
4 | DVD2 | DVD2 | Yes | No | yast2
5 | DVD3 | DVD3 | Yes | No | yast2
6 | SUSE11SP2 | SUSE11SP2 | No | Yes | yast2
发现多了两个service( service 和service_1) , 查询一下,ris 是缓存对于源进行CRUD操作, 应该是这个ris 数据结果出错了。
==> 解决之道, 这个问题其实盘查了好几天,但是一直未果。
1. 先用问题在网上搜, 查找出是什么问题。但是没有解决
2. 看zypper 文档,看官方材料,有同样的问题,大多未解决或者解决方案不好使。
3. 看log,根据提示错误,全局搜索这个文件。 删除缓存文件,重启都未果
4. 找专家,未果。
5. 对比。根据一台可以work的suse ,同样配置,比对一下配置文件发现不一样。 解决掉。
记录一下解决问题的方法。