SUSE zypper failed to work

记录解决的一个问题。

在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 ,同样配置,比对一下配置文件发现不一样。 解决掉。

记录一下解决问题的方法。

原文地址:https://www.cnblogs.com/zhyg6516/p/3680187.html