VLC 无法在 14.04 上安装

VLC 无法在 14.04 上安装

我(拼命地)尝试在我的 14.04 上安装 VLC。

apt-cache policy vlc

返回:

vlc:
  Installed: (none)
  Candidate: 2.1.6-0ubuntu14.04.1
  Version table:
     2.1.6-0ubuntu14.04.1 0
        500 http://mirror.switch.ch/ftp/mirror/ubuntu/ trusty-updates/universe amd64 Packages
        500 http://mirror.switch.ch/ftp/mirror/ubuntu/ trusty-security/universe amd64 Packages
     2.1.2-2build2 0
        500 http://mirror.switch.ch/ftp/mirror/ubuntu/ trusty/universe amd64 Packages

当我尝试安装时,出现了一个臭名昭著的vlc-nox问题:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies.
 vlc : Depends: vlc-nox (= 2.1.6-0ubuntu14.04.1) but it is not going to be installed
       Recommends: vlc-plugin-notify (= 2.1.6-0ubuntu14.04.1) but it is not going to be installed
       Recommends: vlc-plugin-pulse (= 2.1.6-0ubuntu14.04.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

尝试安装vlc-nox会导致请求安装libfreerdp1,然后出现以下消息:

sudo apt-get install libfreerdp1

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  freerdp-x11
The following packages will be REMOVED
  libfreerdp-cache1.1 libfreerdp-client1.1 libfreerdp-codec1.1
  libfreerdp-common1.1.0 libfreerdp-core1.1 libfreerdp-crypto1.1
  libfreerdp-gdi1.1 libfreerdp-locale1.1 libfreerdp-plugins-standard
  libfreerdp-primitives1.1 libfreerdp-rail1.1 libfreerdp-utils1.1
  libwinpr-crt0.1 libwinpr-dsparse0.1 libwinpr-environment0.1 libwinpr-file0.1
  libwinpr-handle0.1 libwinpr-heap0.1 libwinpr-input0.1
  libwinpr-interlocked0.1 libwinpr-library0.1 libwinpr-path0.1
  libwinpr-pool0.1 libwinpr-registry0.1 libwinpr-rpc0.1 libwinpr-sspi0.1
  libwinpr-synch0.1 libwinpr-sysinfo0.1 libwinpr-thread0.1 libwinpr-utils0.1
  libxfreerdp-client1.1 remmina-plugin-rdp
The following NEW packages will be installed
  libfreerdp1

现在,我不明白为什么安装 vlc 会导致删除这些包?有没有办法解决这个问题?

已经尝试过建议的(合理)解决方案这里这里这里这里这里除了添加存储库之外。


输出apt-cache policy libfreerdp-cache1.1

libfreerdp-cache1.1:
  Installed: 1.1.0~git20140921.1.440916e+dfsg1-2ubuntu1~trusty1
  Candidate: 1.1.0~git20140921.1.440916e+dfsg1-2ubuntu1~trusty1
  Version table:
 *** 1.1.0~git20140921.1.440916e+dfsg1-2ubuntu1~trusty1 0
        500 http://ppa.launchpad.net/remmina-ppa-team/remmina-master/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status

输出apt-cache policy remmina-plugin-rdp

remmina-plugin-rdp:
  Installed: 1.1.1-ppa1+484+201508180831~ubuntu14.04.1
  Candidate: 1.1.1-ppa1+484+201508180831~ubuntu14.04.1
  Version table:
 *** 1.1.1-ppa1+484+201508180831~ubuntu14.04.1 0
        500 http://ppa.launchpad.net/remmina-ppa-team/remmina-master/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status
     1.0.0-4ubuntu3 0
        500 http://mirror.switch.ch/ftp/mirror/ubuntu/ trusty/main amd64 Packages

答案1

问题的第一部分是您禁用了不稳定的 PPA 或 repos。请看一下这篇文章以获取更多信息。这将是解决您的问题的第一步。

清除这些后,请在终端窗口中输入以下内容。

 sudo apt-get remove --purge vlc-nox
 sudo apt-get autoclean
 sudo dpkg --configure -a
 sudo apt-get -f install
 sudo apt-get autoremove
 sudo apt-get update
 sudo apt-get dist-upgrade
 sudo apt-get install vlc

另一个建议是使用官方 VLC 存储库而不是 Ubuntu 存储库。在我看来,这些存储库保持最新状态并且效率更高。如果您想这样做,请在下面输入以下内容:

 sudo add-apt-repository ppa:videolan/stable-daily
 sudo apt-get update && sudo apt-get upgrade
 sudo apt-get install vlc

答案2

很简单。您正在使用的 ppa 具有许多 freerdp 包,但没有 libfreerdp1。

https://launchpad.net/~remmina-ppa-team/+archive/ubuntu/remmina-master

因此,当尝试安装 vlc 时,它依赖于 ubuntu 存储库中提供的 libfreerdp1。但是 ubuntu 中的 libfreerdp1 与您安装的一些 freerdp 包冲突,必须删除它们才能安装 vlc 和 libfreerdp1。

要解决或继续,有几个选择,

  1. 在 ppa 上使用 ppa-purge,然后安装 vlc。

  2. 安装 vlc,删除所有那些包(似乎没有用,那么 ppa 就没用了,所以 1 比较好

  3. 联系 ppa 维护人员并报告问题,也许他们会解释为什么没有 libfreerdp1 并提供使用新包/soname 的 vlc 构建。

  4. 看看你是否可以重建 vlc,这样就不需要 libfreerdp1 了,ck。libfreerdp1 消失后,vivid 会做什么。

  5. 不要安装 vlc,保持原样。

答案3

我建议在命令行上使用 aptitude 来解决依赖问题和损坏的包,然后重新查看 Nickolaus L. 给出的答案。

相关内容