在 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
直接的解决方案是删除libasound2
并apt-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/