我目前正在运行 10.10,并且删除了一个包。
我担心升级时,Synaptic 可能会再次安装该软件包。有没有办法将即使通过发行版升级也能正常运行的软件包列入黑名单?
就我的情况来说,这个包是单声道的。
答案1
答案很简单:
使用、突触包管理器或软件中心删除不需要的软件包。通过发出命令apt-get
打开 APT文件01autoremove
sudo -H gedit /etc/apt/apt.conf.d/01autoremove
导航到标题为 Never-MarkAuto-Sections 的部分底部,并向该部分添加条目。在我的例子中,为了阻止 GRUB,我输入了grub.*
;。修改后的文件的内容位于此页面的底部。
您将输入软件包名称或软件包名称的一部分,包括使用.*
表示的任何字符。在我的例子中,grub.*
阻止所有以单词 开头的软件包grub
。
当您下次打开更新实用程序时,它将不会显示升级或更新您选择阻止的软件的选项。
我的/etc/apt/apt.conf.d/01autoremove
文件:
APT
{
NeverAutoRemove {
"^linux-firmware$";
"^linux-image.*"; "^linux-restricted-modules.*";
"^linux-ubuntu-modules-.*";
};
Never-MarkAuto-Sections
{ "metapackages";
"restricted/metapackages";
"universe/metapackages";
"multiverse/metapackages";
"oldlibs";
"restricted/oldlibs";
"universe/oldlibs";
"multiverse/oldlibs";
"grub.*";
};
};
答案2
您可以制作自己的空的 mono 包,并将版本设置得非常高。
但有时这会产生 dep-solving 问题
答案3
我不确定 APT::NeverMarkAuto 究竟起了什么作用,它是否会阻止人们考虑依赖关系解析。
编辑 /etc/apt/preferences 并输入:
Package: mono
Pin: version *
Pin-Priority: -10
(警告,我没有测试过这个。即使它确实有效,这也可能会阻止你手动安装它。)
手册页中有更多文档apt_preferences(5)
。
通过以 为前缀来注释行Explanation:
。Package: 字段不支持通配符;Package: *
在某些示例中使用通配符是一种特殊情况。
自从我不再尝试将来自 intrepid-backports 的某些软件包与来自 karmic(发布之前)的其他软件包、来自 Debian repos 或来自 Medibuntu 的软件包与来自 Ubuntu-shipped 的软件包混合后,我就不再使用首选项了。使用首选项固定可能会让 apt / aptitude /etc. 决定除最高版本号版本之外的某个版本是最佳安装版本,或者不需要升级。
无论如何,我只使用 aptitude 进行所有软件包管理,它比我见过的任何简单的 GUI 都好得多,这些 GUI 出现在 liveCD 或默认安装中。在标记要安装的东西之后,如果有大量的东西需要通过 引入recommends:
,我会先取消标记,然后再给出最终的批准。