[已解决]zypper 源的问题

您好,我想使用 zypper install libboost-iostreams-dev
可是反馈的错误信息是找不到这个包的名字,请问要怎么添加源,才能安装 libboost-iostreams-dev ?

openSUSE 下的开发包后缀不是 -dev 而是 -devel。

zypper install libboost-iostreams-devel

Retrieving repository ‘mirror1’ metadata [error]
Repository ‘mirror1’ is invalid.
|] Valid metadata not found at specified URL(s)
Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Disabling repository ‘mirror1’ because of the above error.
Error building the cache:
|] Valid metadata not found at specified URL(s)
Warning: Disabling repository ‘nonoss’ because of the above error.
Error building the cache:
|] Valid metadata not found at specified URL(s)
Warning: Disabling repository ‘update’ because of the above error.
Loading repository data…
Reading installed packages…
‘libboost-iostreams-devel’ not found in package names. Trying capabilities.
No provider of ‘libboost-iostreams-devel’ found.
Resolving package dependencies…

Nothing to do.

你好像有一个无效源,应该是安装时候的 iso,可以删掉他。


我要把所有的源删掉,然后添加什么源,才能正常安装呢?

我觉得是 3 个无效源。你要装 boost 的开发包直接装 boost-devel 就行了。

就是要怎么弄?

不是把所有源都删掉,是把提示你 invalid 的源删掉。你现在源无效,元数据缓存无法构建,估计安装什么包都是这个错误,哪怕源里有。

openSUSE 找源挺简单的,比如 download.opensuse.org/distribution/13.2/repo/oss/

但有些时候也容易犯错误,比如 download.opensuse.org/repositories/home:/MargueriteSu/ 就是错的,这个 URL 下面没有 .repo 文件就不是一个有效源,一定要 download.opensuse.org/repositories/home:/MargueriteSu/openSUSE_13.2/ 才可以。

1赞

能不能教我怎么找到正确的源,好让我能顺利使用 zypper install 安装各种的东西。

默认你装完不就有一些源了么,oss,non-oss,oss-update,non-oss-update 都有了啊,一般需求这四个源就够了啊,再有需求就 Search 啊。

您好,非常谢谢您的帮助!
可是我还是有问题,zypper lr 命令,没有显示其他源。可能都被我删掉了,如果安装源都被删掉了,要怎么安装回来?

  1. 添加源的命令是:

sudo zypper addrepo -f 源地址 源名称

  1. oss, non-oss 源去 download.opensuse.org/distribution/ 下面找,比如 download.opensuse.org/distribution/13.2/repo/oss/。update 源去 download.opensuse.org/update/ 下面找,比如 download.opensuse.org/update/13.2-non-oss/。注意 tumbleweed 没有 update-oss 和 update-non-oss 源,滚动升级版本主源始终是最新的。
1赞

Thanks a lot !!!
The problem is solved!