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输出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输出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 

您问题的第一部分是您已禁用不稳定的PPA或repos。 有关其他信息, 请查看此post 。 这将是解决问题的第一步。

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

  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 

很简单。 你正在使用一个拥有众多freerdp包而不是libfreerdp1的ppa。

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

因此,在尝试安装vlc时,它依赖于ubuntu repos中提供的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消失的地方是什么。

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

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