我安装了一个包(不记得哪个包,但那不应该太重要)并且需要“真正的” ffmpeg
,所以我清除了 debian 包ffmpeg
并手动安装了另一个版本。
问题是我现在无法安装或更新任何软件包而不aptitude
告诉我xyz package
需要ffmpeg
哪些未安装。但是,由于安装了该软件包,所有依赖它的程序都可以正常工作。我不想用存储库版本覆盖我拥有的版本,我只想告诉aptitude
ffmpeg 确实已安装。
我试过apt-mark
了,但因为 aptitude 认为它没有安装它不会手动标记它。
根据要求apt-cache policy ffmpeg
显示:
ffmpeg:
Installed: (none)
Candidate: 7:3.2.10-1~deb9u1~bpo8+1
Version table:
10:2.6.9-dmo1 0
100 /var/lib/dpkg/status
7:3.2.10-1~deb9u1~bpo8+1 0
100 http://http.debian.net/debian/ jessie-backports/main amd64 Packages
我仍然对解决方案非常感兴趣,但我决定只安装存储库版本,然后重新安装我想要的版本。Aptitude 确实“安装”了 ffmpeg,但它没有覆盖我当前的版本(也许它把它放在不同的位置,或者它看到了一个“更新”的版本)。
不建议使用 dpkg 安装随机包。
在采取任何行动之前阅读整个答案
Apt
有问题,因为它与您的ffmpeg
. 就它而言,您没有ffmpeg
安装并且因此给您上述错误。你的输出apt-cache policy ffmpeg
证明了这一点。我不知道将随机.deb
文件与之关联的方法,apt
除非您的包apt
在其安装过程中设置。如果有人可以纠正我这一点,我将不胜感激。如果您需要当前存储库中不可用的包,您可以自行决定将 testing/unstable/backports/whatever 存储库添加到包含您要查找的包的 source.list 并使用包管理器。我不建议您使用非官方的 Debian 存储库。
ffmpeg
在此处查找可用版本。如果您想要的版本位于稳定版以外的存储库中,则应将其添加到您的 sources.list 中。如果您设置“Apt Pinning”,您可以管理多个 Debian 版本,而开销很小。通过删除当前实例来修复您的ffmpeg
start 安装,以便我们可以从头开始。这将清除
ffmpeg
,然后查看是否已安装。您应该按照此帖子rc
查找状态。然后,您可以按照wiki 中关于 apt pinning的指南添加测试和不稳定的存储库。不要忘记为您计划使用的每个存储库创建文件以及相应的文件。一旦你创建了正确的文件来设置 apt pinning,你就可以简单地运行:/etc/apt/sources.list.d/
/etc/apt/preferences.d/
ffmpeg
从不稳定的 repo安装。如果你设置了 apt pinning,你可以用你想要的包来自的任何 repo 替换不稳定的。但是,如果您绝对必须使用非官方的 Debian 存储库
这是添加包含
ffmpeg
您可能正在寻找的软件包的第三方存储库的指南。如果您决定使用 apt pinning,则需要创建 repo (/etc/apt/sources.list.d/deb-multimedia.list
) 和首选项 (/etc/apt/preferences.d/deb-multimedia.preferences
)。ffmpeg
按照前面描述的方式清除后完成以下步骤。添加这一行:
保存并退出。现在按照以下步骤操作:
之后你就可以运行了
apt-get install ffmpeg
,你应该有正确的包。结论
我知道这涵盖了很多,但我想全面。我个人管理 Debian 的理念是尽可能不要偏离稳定版,不要偏离官方 repos 并根据Debian wiki正确设置 apt pinning ,并仔细限制和管理
.deb
来自源代码或从源代码安装的任何内容。如果您可以通过让您可以管理的所有内容来帮助防止包/库的版本控制之间发生冲突,apt
那么您应该是安全的。抱歉,如果这太冗长或不是您需要的,我只是想确保我涵盖了所有基础。祝你好运!