尝试使用libvlccore9解决PPA问题,导致程序包管理无法运行

因为PPA没有实际的bug跟踪器而且维护得非常糟糕,我想我会问这里如何解决这个问题。

vlc-master PPA中的软件包libvlccore9正在尝试安装/usr/lib/x86_64-linux-gnu/libvlccore.so.9.0.0 ,它应该由libvlccore8安装。

 Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libodbcinstq4-1 vlc-bin vlc-l10n vlc-plugin-notify vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2 vlc-plugin-video-splitter vlc-plugin-visualization Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: libvlccore9 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. 34 not fully installed or removed. Need to get 470 kB of archives. After this operation, 1,243 kB of additional disk space will be used. Get:1 http://ppa.launchpad.net/videolan/master-daily/ubuntu artful/main amd64 libvlccore9 amd64 3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1 [470 kB] Fetched 470 kB in 1s (279 kB/s) (Reading database ... 322201 files and directories currently installed.) Preparing to unpack .../libvlccore9_3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1_amd64.deb ... Unpacking libvlccore9:amd64 (3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1) ... dpkg: error processing archive /var/cache/apt/archives/libvlccore9_3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libvlccore.so.9.0.0', which is also in package libvlccore8:amd64 3.0.0~~git20171208+r73126+99~ubuntu17.10.1 dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/libvlccore9_3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 

问题是为什么,libvlccore8没有显示该文件,

 apt-file show libvlccore8 libvlccore8: /usr/lib/x86_64-linux-gnu/libvlccore.so.8 libvlccore8: /usr/lib/x86_64-linux-gnu/libvlccore.so.8.0.0 libvlccore8: /usr/share/bug/libvlccore8/control libvlccore8: /usr/share/bug/libvlccore8/presubj libvlccore8: /usr/share/doc/libvlccore8/NEWS.Debian.gz libvlccore8: /usr/share/doc/libvlccore8/changelog.Debian.gz libvlccore8: /usr/share/doc/libvlccore8/copyright 

我有一个libvlccore8

 dpkg -l | grep -i libvlccore rc libvlccore7 2.1.6-0ubuntu14.04.1 amd64 base library for VLC and its modules ii libvlccore8:amd64 3.0.0~~git20171208+r73126+99~ubuntu17.10.1 amd64 base library for VLC and its modules 

但我现在甚至无法删除它,

 sudo apt-get --purge remove libvlccore8 Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: libvlc5 : Depends: libvlccore9 (>= 3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1~) but it is not going to be installed phonon4qt5-backend-vlc : Depends: libvlccore8 (>= 2.0.0) but it is not going to be installed vlc-plugin-base : Depends: libvlccore9 (>= 3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1~) but it is not going to be installed Depends: vlc-plugin-abi-4-0-0 vlc-plugin-notify : Depends: libvlccore9 (>= 3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1~) but it is not going to be installed Depends: vlc-plugin-abi-4-0-0 vlc-plugin-qt : Depends: libvlccore9 (>= 3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1~) but it is not going to be installed Depends: vlc-plugin-abi-4-0-0 vlc-plugin-samba : Depends: libvlccore9 (>= 3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1~) but it is not going to be installed Depends: vlc-plugin-abi-4-0-0 vlc-plugin-skins2 : Depends: libvlccore9 (>= 3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1~) but it is not going to be installed Depends: vlc-plugin-abi-4-0-0 vlc-plugin-video-output : Depends: libvlccore8 (= 3.0.0~~git20171208+r73126+99~ubuntu17.10.1) but it is not going to be installed vlc-plugin-video-splitter : Depends: libvlccore9 (>= 3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1~) but it is not going to be installed Depends: vlc-plugin-abi-4-0-0 vlc-plugin-visualization : Depends: libvlccore9 (>= 3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1~) but it is not going to be installed Depends: vlc-plugin-abi-4-0-0 E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). 

并且,我无法运行--fix-broken install因为它会尝试执行失败的相同操作…

 apt-get --fix-broken install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following packages were automatically installed and are no longer required: libodbcinstq4-1 vlc-bin vlc-l10n vlc-plugin-notify vlc-plugin-qt vlc-plugin-samba vlc-plugin-skins2 vlc-plugin-video-splitter vlc-plugin-visualization Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: libvlccore9 The following NEW packages will be installed: libvlccore9 0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded. 34 not fully installed or removed. Need to get 0 B/470 kB of archives. After this operation, 1,243 kB of additional disk space will be used. Do you want to continue? [Y/n] y (Reading database ... 322201 files and directories currently installed.) Preparing to unpack .../libvlccore9_3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1_amd64.deb ... Unpacking libvlccore9:amd64 (3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1) ... dpkg: error processing archive /var/cache/apt/archives/libvlccore9_3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libvlccore.so.9.0.0', which is also in package libvlccore8:amd64 3.0.0~~git20171208+r73126+99~ubuntu17.10.1 dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/libvlccore9_3.0.0~rc1~~git20171213+r73247+108~ubuntu17.10.1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 

我有同样的问题。 请尝试以下步骤:

 sudo dpkg --purge libvlccore8 sudo apt-get --fix-broken install sudo apt-get update sudo apt-get -y upgrade 

为了解决这些问题,我跑了

 rm -rf /usr/lib/x86_64-linux-gnu/libvlccore.so.9.0.0 apt-get --purge --yes remove '*vlc*' 

这种沉重的方法最终消除了VLC的所有痕迹。 从那时起,我想我可以重新添加它。 但随后,可能出现了真正的问题。 PPA中的内部版本字符串是borked 。

为了使您的系统进入合作状态,您必须手动删除libvlccore.so.9.0.0 ,否则dpkg无法继续。