APT是指高级包装工具是基于Linux系统的发现了另一包管理器。 最初设计为一个前端的dpkg与.deb软件包工作,容易成功,展现他在Mac OS中,开放的Solaris等知名度
在Debian和Ubuntu中使用APT禁用软件包更新
要学习和掌握关于APT和dpkg命令管理Debian软件包管理,然后利用我们深入的文章将涵盖两个工具超过30+的例子。
在本文中,我们将看到各种技术来禁用/锁定从Debian Linux及其衍生产品(如Ubuntu和Linux Mint)中安装,升级和删除软件包。
1.禁用/锁定包使用带apt / unhold选项的“apt-mark”
该命令的apt-标记将标记或取消标记软件包为被自动安装,它是用来与选择保留或恢复通话 。
- 持有 -这个选项用来标记一个包作为忍住,这将被安装,升级或删除封锁包。
- 取消保留 -该选项用于在包中取出预先设定的保持,并允许安装,升级和删除软件包。
例如,制作一个包说apache2
的安装不可用,向上渐变或卸载时,可以使用在以root权限终端下面的命令:
# apt-mark hold apache2
若要使此更新包,只需更换“ 持有 ”与“ 恢复通话 ”。
# apt-mark unhold apache2
在Ubuntu / Debian中保持软件包更新
使用APT首选项文件阻止包更新
阻止特定程序包的更新,另一种方法是增加其进入/etc/apt/preferences
或/etc/apt/preferences.d/official-package-repositories.pref
文件。 此文件负责根据用户指定的优先级更新或阻止某些包更新。
要阻止包,您只需要输入其名称,附加功能,以及您想要使用的优先级。 这里,优先级< 1
会阻止该包。
为了阻止任何包,只需在文件中输入其详细信息/etc/apt/preferences
是这样的:
Package: <package-name> (Here, '*' means all packages) Pin: release * Pin-Priority: <less than 0>
例如,要阻止软件包apache2的更新,请添加如下所示的条目:
Package: apache2 Pin: release o=Ubuntu Pin-Priority: 1
使用首选项文件阻止包更新
我们可以使用release关键字的其他选项来进一步识别我们应用引脚优先级的包。 这些关键字是:
- 一个 - >存档
- Ç - >组件
- Ø - >产地
- L - >标签
- N - >建筑
喜欢:
Pin: release o=Debian,a=Experimental
将意味着从Debian包中拉取所述包实验存档。
使用APT自动删除文件将列表更新黑名单
从安装黑名单一包的另一种方法是,以更新其在包含在文件中的一个条目/etc/apt/apt.conf.d/
目录是01autoremove。
示例文件如下所示:
APT { NeverAutoRemove { "^firmware-linux.*"; "^linux-firmware$"; }; VersionedKernelPackages { # linux kernels "linux-image"; "linux-headers"; "linux-image-extra"; "linux-signed-image"; # kfreebsd kernels "kfreebsd-image"; "kfreebsd-headers"; # hurd kernels "gnumach-image"; # (out-of-tree) modules ".*-modules"; ".*-kernel"; "linux-backports-modules-.*"; # tools "linux-tools"; }; Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; }; };
现在,对于任何列入黑名单包,只需要输入其名字Never-MarkAuto-Sections
。 就在最后输入包的名称Never-MarkAuto-Section
和保存并关闭文件。 这将阻止适合搜索该包的进一步更新。
例如,要将包更新为黑名单,请添加如下所示的条目:
Never-MarkAuto-Sections { "metapackages"; "restricted/metapackages"; "universe/metapackages"; "multiverse/metapackages"; "oldlibs"; "restricted/oldlibs"; "universe/oldlibs"; "multiverse/oldlibs"; "apache2*"; }; };
更新的自定义包选择
另一个选择是选择您要更新的内容。 apt工具让你自由选择要更新什么,但对于这个您有关于什么都包可用于上行层次的知识。
对于这样的事情,下面的命令集可以证明是有帮助的:
a。要列出哪些软件包有未处理的更新。
# apt-get -u -V upgrade
b。要安装只选择包。
# apt-get --only-upgrade install <package-name>
更新所选包
结论
在本文中,我们解释了使用APT方式禁用/阻止或黑名单包更新的几种方法。 如果你知道任何其他首选方式,请通过评论告诉我们,或者如果你正在寻找yum命令来禁用/锁定包更新,然后阅读这篇文章。