[ 已解决 ][ 依赖问题 ] 解码器安装失败

系统:openSUSE 13.1

按照置顶帖 [openSUSE 编解码器一键安装、常见编解码器对应软件包 / 源说明、及版权须知) ,从这个链接进去的:
opensuse-community.org/Restricted_formats/zh-hans
但是发现提示 404,发现这个链接可以: opensuse-community.org/

点击后一路点确定,提示依赖不满足,无法安装,提示如下:

#### YaST2 conflicts list - generated 2014-05-02 12:35:30 ####
k3b-codecs-2.0.2-18.53.x86_64 依赖 k3b = 2.0.2-18.53,但无法提供此依赖
不可安装的提供者:k3b-2.0.2-18.53.i586[Packman Repository]
                   k3b-2.0.2-18.53.x86_64[Packman Repository]
     ] 不安装 k3b-codecs-2.0.2-18.53.x86_64
     ] 将执行以下动作:
降级 k3b-2.0.2-29.1.3.x86_64 到 k3b-2.0.2-18.53.x86_64
安装 k3b-2.0.2-18.53.x86_64 (包括厂商变更)
  openSUSE --> http://packman.links2linux.de
     ] 不安装 k3b-codecs-2.0.2-18.53.x86_64
     ] 通过忽略一些依赖关系来破坏 k3b-codecs-2.0.2-18.53.x86_64 

ffmpeg-2.2-1.4.x86_64 依赖 libavutil52 = 2.2,但无法提供此依赖
不可安装的提供者:libavutil52-2.2-1.4.i586[Packman Repository]
                   libavutil52-2.2-1.4.x86_64[Packman Repository]
     ] 安装 libavutil52-2.2-1.4.x86_64 (包括厂商变更)
  openSUSE --> http://packman.links2linux.de
     ] 不安装 ffmpeg-2.2-1.4.x86_64
     ] 不安装 ffmpeg-2.2-1.4.x86_64
     ] 通过忽略一些依赖关系来破坏 ffmpeg-2.2-1.4.x86_64 

libxine2-codecs-1.2.5-90.2.x86_64 依赖 libxine2 = 1.2.5,但无法提供此依赖
不可安装的提供者:libxine2-1.2.5-90.2.i586[Packman Repository]
                   libxine2-1.2.5-90.2.x86_64[Packman Repository]
     ] 将执行以下动作:
安装 libxine2-1.2.5-90.2.x86_64 (包括厂商变更)
  openSUSE --> http://packman.links2linux.de
安装 libxine2-pulse-1.2.5-90.2.x86_64 (包括厂商变更)
  openSUSE --> http://packman.links2linux.de
     ] 通过忽略一些依赖关系来破坏 libxine2-codecs-1.2.5-90.2.x86_64 
     ] 不安装 libxine2-codecs-1.2.5-90.2.x86_64
     ] 不安装 libxine2-codecs-1.2.5-90.2.x86_64
#### YaST2 conflicts list END ###

没有说依赖不满足哇。只是你安装了 Pacman 里的软件有一些依赖软件的版本需要转成 Pacman 里的。然后系统就会问你是否确定转换(因为随意安装其它源的软件可能导致不稳定)。openSUSE 不会私自给用户换源,他会询问并给出了方案让你选择。基本就是这样的:

  1. 转换源(就是说的厂商)安装 「你要转的软件」(有时候需要降级)
    – 降级信息
    – 换源信息
  2. 不安装 「你要装的软件」
  3. 破坏依赖关系安装 「你要装的软甲」

除了特殊情况不会选 3(你觉得官方依赖关系有问题,这样安装其实是可以的或者你有特殊要求), 你要实在关心稳定坚决不用其它源里的版本替换官方源的版本就选择 2,一般选择 1 就好了。

PS:好像很多人初次使用 openSUSE,包括一些其它发行版过来的「老手」卡在这一步,其实 openSUSE 的方式(怎么形容这种方式呢,用户至上?)就是这样的。
PS:也可以参考这里安装 lug.ustc.edu.cn/sites/opensuse-guide/codecs.php 你要先选择「换源并安装」以后再选择继续。

1赞

谢谢啦,不懂这个概念看到 conflict 就以为是依赖不满足呢

palefire 说的很详细,简单说就是当 AB 两个源都提供某个相同软件时,你在 A 软件源安装了软件,那么更新也将从 A 来更新,那怕 B 提供的版本更高,否则你必须告诉系统你要改变软件厂商 (软件源)。