在 Debian 中,dvd 源包含系统上可能尚未安装的软件包。当这些更新时,DVD 包含过时的软件包。
当我们尝试时apt-get install outdated-package-name
,它总是尝试下载并安装该包。有什么方法可以告诉 apt-get 从本地源安装,即使它已经过时了?我不想删除 http 源。
我仅将其用于测试目的,安全性不是主要问题。
答案1
默认情况下,apt 安装版本号最大的软件包版本。您可以使用APT 偏好设置(维基百科)来覆盖它。 APT 首选项允许您根据软件包名称、版本号和软件包安装源来配置软件包版本的优先级。
默认情况下,包源的优先级为 500。如果将优先级降低到 100,则来自该源的包将不会自动安装,除非需要满足依赖关系。如果将优先级降低到 1,则永远不会安装来自该源的软件包,除非您明确请求该版本或该源。
在中创建一个文件/etc/apt/preferences.d
并将其来源是您使用的 Debian 镜像的软件包(security.debian.org
如果您不需要安全更新)声明为优先级 100(或 1,取决于您希望避免下载软件包的程度)。例如,如果您更新自ftp.iitm.ac.in
(即如果您有以deb ftp://ftp.iitm.ac.in/
in开头的行/etc/apt/sources.list
):
Package: *
Pin: origin "ftp.iitm.ac.in"
Pin-Priority: 100
答案2
您所询问的内容可以在 中进行配置/etc/apt/preferences
,如下所述:
- 存储库优先级设置,称之为“apt pinning”,并建议阅读
apt_preferences
手册页,以及指向- 适合初学者的 Apt-Pinning