未满足的 acroread 依赖关系阻止 Synaptic 安装

未满足的 acroread 依赖关系阻止 Synaptic 安装

在 Synaptic 中我收到错误:

acroread: 
  Depends: acroread-l10n-en but it is not going to be installed or acroread-l10n 
  Depends: acroread-debian-files but it is not going to be installed 
  Depends: acroread-data but it is not going to be installed 
  Depends: ia32-libs-xulrunner but it is not going to be installed 

这对我来说很不寻常,因为 Synaptic 通常会自动解决依赖关系;此外,acroread 是一个非常受欢迎的软件包。

我想知道如何解决这个问题。

我使用的是 Deb 6 64 位。

acroread 源自deb http://www.debian-multimedia.org squeeze main non-free.

有关可能的相关详细信息,另请参阅启用 repo 中的源的安全障碍

编辑(@enzotib):

# Debian packages for stable
deb http://mirror.transact.net.au/debian/ stable main contrib non-free
# Uncomment the deb-src line if you want 'apt-get source'
# to work with most packages.
# deb-src http://mirror.transact.net.au/debian/ stable main contrib non-free

# Security updates for stable
# deb http://security.debian.org/ stable/updates main contrib non-free

deb http://www.debian-multimedia.org squeeze main non-free
#contains Adobe Reader

@吉尔斯

peter@peter-deb:~$ apt-cache policy acroread acroread-debian-files ia32-libs-xulrunner
acroread-debian-files:
  Installed: (none)
  Candidate: 9.4.2
  Version table:
     9.4.2 0
        500 http://www.debian-multimedia.org/ squeeze/main amd64 Packages
acroread:
  Installed: (none)
  Candidate: 9.4.2-0.0
  Version table:
     9.4.2-0.0 0
        500 http://www.debian-multimedia.org/ squeeze/non-free amd64 Packages
ia32-libs-xulrunner:
  Installed: (none)
  Candidate: 1.8.1.3-0.5
  Version table:
     1.8.1.3-0.5 0
        500 http://www.debian-multimedia.org/ squeeze/main amd64 Packages

@吉尔斯:

peter@peter-deb:~$ sudo aptitude install acroread
The following NEW packages will be installed:
  acroread acroread-data{a} acroread-debian-files{a} 
  acroread-dictionary-en{a} acroread-l10n-en{a} ia32-libs{a} 
  ia32-libs-gtk{a} ia32-libs-xulrunner{a} lib32asound2{ab} lib32bz2-1.0{a} 
  lib32gcc1{a} lib32ncurses5{a} lib32stdc++6{a} lib32v4l-0{a} lib32z1{a} 
  libc6-i386{a} 
0 packages upgraded, 16 newly installed, 0 to remove and 8 not upgraded.
Need to get 4,955 kB/102 MB of archives. After unpacking 254 MB will be used.
The following packages have unmet dependencies:
  lib32asound2: Depends: libasound2 (= 1.0.23-2.1) but 1.0.24.1-2 is installed.
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     acroread [Not Installed]                           
2)     acroread-data [Not Installed]                      
3)     acroread-debian-files [Not Installed]              
4)     acroread-dictionary-en [Not Installed]             
5)     acroread-l10n-en [Not Installed]                   
6)     ia32-libs [Not Installed]                          
7)     ia32-libs-gtk [Not Installed]                      
8)     ia32-libs-xulrunner [Not Installed]                
9)     lib32asound2 [Not Installed]                       



Accept this solution? [Y/n/q/?] Y
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

更多错误信息:

E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
E: Unable to lock the download directory

答案1

问题分析如上。引用帖子中的话:

The following packages have unmet dependencies:
  lib32asound2: Depends: libasound2 (= 1.0.23-2.1) but 1.0.24.1-2 is installed.
The following actions will resolve these dependencies:

这意味着lib32asound2具有libasound2依赖关系。但是,安装的版本libasound2(1.0.24.1-2)的版本号高于lib32asound2(1.0.23-2.1)所需的版本号。这会导致包管理器(aptitude)出现错误,因为如果没有特殊提示,它不会将包降级到较低版本。

正如发布的那样,版本信息是

libasound2: 
  Installed: 1.0.24.1-2 
  Candidate: 1.0.24.1-2 
  Version table: 
  *** 1.0.24.1-2 0 500 http://mirror.transact.net.au/debian/ testing/main amd64 Packages 
        100 /var/lib/dpkg/status

这似乎缺少稳定版本。我有

$ apt-cache policy libasound2
libasound2:
  Installed: 1.0.23-2.1
  Candidate: 1.0.23-2.1
  Version table:
     1.0.24.1-3 0
         50 http://debian.lcs.mit.edu/debian/ unstable/main amd64 Packages
 *** 1.0.23-2.1 0
        500 http://debian.lcs.mit.edu/debian/ squeeze/main amd64 Packages
        100 /var/lib/dpkg/status

直接的解决方案是删除libasound2apt-get purge libasound2确保没有列出测试源。该帖子没有列出任何内容,但apt-cache假设缓存是最新的,则不会显示有关未列出的来源的信息。因此还要运行apt-get update以确保缓存是最新的。另外,启用安全更新以保持稳定。

答案2

看到你的后上一个问题,看起来您刚刚安装了 Debian Multimedia 存储库密钥环。安装软件包会自动使用 注册签名密钥apt-key,但当您下载软件包列表时(即在更新操作期间)会验证签名。只要您没有这样做,Debian Multimedia 存储库中的软件包就不受信任,因此(如果我没记错的话)默认情况下无法通过 Synaptic 安装。

如果这确实是问题所在,只需apt-get update在安装软件包后运行一次(或 Aptitude 或 Synaptic 中的更新命令)即可debian-multimedia-keyring

答案3

一些来自 google 的访客对这个 4 年前的话题的回复:

只需从互联网上某个地方找到的 deb 包手动安装 ia32-libs-xurlrunner 帮助了我,由于某种原因,我无法在官方或 deb-multimedia repisitories 中找到这个包

对于 Debian squeeze 我在这里找到了它: http://fami-net.dlinkddns.com/mirrors/debian/squeeze/deb-multimedia.org/squeeze/pool/main/i/ia32-libs-xulrunner/

相关内容