debian apt-get dist-upgrade从squeeze到wheezy在vlc上失败

debian apt-get dist-upgrade从squeeze到wheezy在vlc上失败

在解决这个错误之前我无法继续,我尝试删除 dpkg 以便重新下载它,但在尝试 dist-upgrade 或现在 apt-get -f install 时仍然出现此错误。

root@hayek:~# apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done

[Omitted outout]

The following NEW packages will be installed:
  cpp-4.6 gcc-4.6 libvlccore5 linux-headers-3.2.0-3-amd64 linux-headers-amd64
  The following packages will be upgraded:
  vlc vlc-data
  2 upgraded, 5 newly installed, 1 to remove and 486 not upgraded.
  1346 not fully installed or removed.
  Need to get 0 B/19.3 MB of archives.
  After this operation, 39.9 MB of additional disk space will be used.
  Do you want to continue [Y/n]? 

Reading changelogs... Done
(Reading database ... 204688 files and directories currently installed.)
Preparing to replace vlc 1.1.3-1squeeze6 (using .../vlc_1%3a2.0.3-dmo2_amd64.deb) ...
Unpacking replacement vlc ...
dpkg: error processing /var/cache/apt/archives/vlc_1%3a2.0.3-dmo2_amd64.deb (--unpack):
 trying to overwrite '/usr/share/doc/vlc', which is also in package vlc-data 1.1.3-1squeeze6
Processing triggers for man-db ...
Errors were encountered while processing:
 /var/cache/apt/archives/vlc_1%3a2.0.3-dmo2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

有人知道该怎么办吗?

答案1

更新:看来您正在安装的新 vlc 来自 deb-multimedia.org。根据deb-多媒体常见问题解答,您应该将错误报告发送至[电子邮件受保护]

首先,您应该报告错误。 Squeeze 到 Wheezy 的升级应该不会出现错误。您可以使用 轻松完成此操作reportbug vlc。快速浏览一下VLC 错误列表没有显示,所以请报告。 [deb-multimedia 软件包应设置为reportbug能够自动将报告直接发送给 Christian Marillat,而不是 Debian BTS。如果没有,您可以将报告保存到文件中,然后手动邮寄]

该错误抱怨您当前vlc-data安装了一个包含该文件的软件包/usr/share/doc/vlc,但新vlc软件包也包含该文件。所以存在冲突,导致 dpkg 出错。最有可能的是,喘息版本vlc-data不再包含此文件(并且维护者未能告诉 dpkg 预计会出现这种情况)。所以修复方法是:

  • 提交bug,等待维护者修复。当然,可能需要一段时间。
  • 尝试使用官方包而不是 deb-multimedia 包。在您的系统更新到 Wheezy 后,可能会升级到 deb-multimedia。
  • 首先尝试升级vlc-data,使用dpkg -i它(查看 /var/cache/apt/archives,应该.deb在那里)。然后升级vlc。依赖关系可能会阻止您,但如果没有,这将起作用(并且非常安全)。
  • 完全删除vlc(和vlc-data等)。然后,当您重新安装它们时,它将安装喘息版本。如果由于依赖关系而必须删除大量包,这可能会出现问题。
  • 告诉 dpkg 您预计会出现此错误,并继续。用于dpkg --force-overwrite -i安装vlc(不是vlc-data)。这--force-overwrite是关键的事情。这是相当安全的,特别是在这种情况下,您非常确定它只是在两个相关包之间移动的文件(毕竟是 /usr/share/doc)。

就我个人而言,当我遇到这种情况时,在报告错误后,我会使用排序(例如,vlc-data第一个)或--force-overwrite.

答案2

我用 解决了这个问题dpkg -r vlc

相关内容