apt偏好设置固定包:本地来源?

7
我已经从笔记本电脑中删除了fglrx并返回使用免费驱动程序,但xfce4-power-manager无法启动。这是一个已知的错误
我使用apt-get source获取了补丁,进行了构建和安装。现在一切都完美地运行了,我已将此错误报告给了Debian。但现在我想保留此软件包以防止升级一段时间。
我知道笨拙的方法是提高软件包构建版本部分。例如,1.0.10-5,然后按版本保留软件包:
Package: xfce4-power-manager
Pin: version 1.0.10-5
Pin-priority: 1001

我认为最好的方法是按照来源保留软件包:
Package: xfce4-power-manager
Pin: origin "local origin?"
Pin-priority: 1001

这是可能的吗?我在文档中找不到


我会用apt_preferences方法来回答,但你也可以使用类似apt-mark hold的命令来实现:https://askubuntu.com/questions/18654/how-to-prevent-updating-of-a-specific-package - undefined
4个回答

2

直接从 man 手册 (man 5 apt_preferences) 中摘录:

       This general-form entry in the APT preferences file applies only to
       groups of packages. For example, the following record assigns a
       high priority to all package versions available from the local
       site.

           Package: *
           Pin: origin ""
           Pin-Priority: 999

我相信这就是你要找的。我从未使用过固定来做这件事,所以我不确定这是否能解决你的问题。


2
使用“run”或“now”作为起点应该可以工作:
Package: xfce4-power-manager
Pin: release o=now
Pin-priority: 1001

1

最近版本的apt(在Debian 9.8,stretch上测试)支持安装本地debs,只要已配置的存储库中没有同名的deb文件,否则将优先使用存储库版本。例如,在从本地apt配置中注释掉相关存储库后,这对我有效:

    sudo apt install ./packagename_0.0.1_all.deb

apt需要使用./前缀或完整路径以查找本地文件。


1

release o=now不起作用,但release a=now会起作用。

您可以从apt policy(或apt-cache policy)的输出中获取有关机器软件包源的各种方式。在/etc/apt/preferences.d/myprefs中放置:

Package: xfce4-power-manager
Pin: release a=now
Pin-priority: 1000

然后,如果你运行:
apt policy xfce4-power-manager

你会看到已安装的版本优先级为1000。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接