有时,apt
/apt-get
会推荐额外的包:
# sudo apt-get install zangband angband moria endless-sky
[...]
The following additional packages will be installed:
angband-data endless-sky-data zangband-data
Suggested packages:
angband-audio angband-bigtiles
The following NEW packages will be installed:
angband angband-data endless-sky endless-sky-data moria zangband zangband-data
但尝试安装它们通常会失败:
# sudo apt-get install angband-audio angband-bigtiles
[...]
Package angband-audio is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package angband-bigtiles is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'angband-audio' has no installation candidate
E: Package 'angband-bigtiles' has no installation candidate
这里发生了什么事?
在某些情况下,这些软件包位于系统上未启用的存储库(更准确地说,是存档区域
angband-audio
)。这就是 发生的情况的要点:虽然angband
它本身在 中main
,因此可以在所有 Debian 设置中安装,angband-audio
但它在 non-free 中,因此只有在启用 non-free 时才可用。另外,angband-audio
存在错误并且未包含在 Debian 的最后几个版本中。现在已在Debian 测试版和不稳定版中修复了这个问题,但除非您在启用了 non-free 的情况下运行测试版或不稳定版,或者启用了这些存储库,否则您将无法安装它。(在 Debian 12 中,这实际上是 中的一个错误angband
;但它不会破坏任何东西,所以不太可能在那里修复。它将在 Debian 13 中修复。)在其他情况下,它只是一个错误 — 通常是一个不再存在或从未存在过的旧包。这就是 的情况
angband-bigtiles
;它似乎从未在 Debian 中可用。也许angband
当时的维护者打算打包它,但一直没有时间。鉴于 Debian 版本应该是一致的,也就是说,给定 Debian 版本中的每个软件包只能依赖于同一 Debian 版本中的其他软件包,好奇的读者可能会想知道这怎么可能发生。肯定有一些自动化程序可以检查各种依赖项中提到的软件包是否真的可用?有,但仅限于非替代依赖项和建议;允许软件包建议不存在的其他软件包。
如果您在其他环境/发行版中安装了这些软件包,并且
angband-audio
和angband-bigtiles
可用,它们就会被使用。它们在您当前的存储库中不可用。查看
angband
信息,它可能会告诉您该怎么做。从 开始dpkg -L angband
。