Apt 工具是一种基于 DebianLinux 发行版(如Ubuntu )中使用的高级包管理系统,可让您轻松安装、更新和删除软件包。

最初,APT被设计为dpkg处理软件包的前端.deb。此后,它已在 macOS、OpenSolaris 和其他系统上获得关注。

想要学习和掌握用于管理 Debian 包管理的APT和DPKG 命令吗?使用我们的深入文章,其中涵盖了这两种工具的 30 多个示例。

在本文中,我们将探讨在 Debian Linux 及其衍生产品(如 Ubuntu 和 Linux Mint)中禁用或锁定软件包安装、升级或删除的各种技术。

1.使用 Apt-mark 锁定软件包

该apt-mark命令将标记或取消标记软件包为自动安装,并与选项hold或一起使用unhold。

hold– 此选项用于将软件包标记为保留,这将阻止该软件包被安装、升级或删除。

unhold– 此选项用于删除先前设置的软件包保留,以允许安装、升级或删除该软件包。

在 Ubuntu 中锁定软件包

例如,要使某个软件包apache2无法安装、升级或卸载,您可以在具有 root 权限的终端中使用以下命令:

sudo apt-mark hold apache2

要检查包是否成功锁定,请运行:

apt-mark showhold

此命令将显示当前锁定的所有包的列表。

在 Ubuntu 中解锁软件包

如果您决定再次允许更新该软件包,您可以使用以下命令解锁:

sudo apt-mark unhold apache2

2. 使用 APT 偏好设置阻止软件包更新

阻止特定软件包更新的另一种方法是将其条目添加到/etc/apt/preferences或/etc/apt/preferences.d/referencefile文件中,该条目可以是任何文件,它负责根据用户指定的优先级更新或阻止某些软件包更新。

要阻止该包,请在目录中创建一个新文件/etc/apt/preferences.d/。

sudo nano /etc/apt/preferences.d/no-updates

在该文件中,添加以下行来指定要列入黑名单的包:

Package: apache2
Pin: release o=Ubuntu
Pin-Priority: 1

选项说明:

o=Ubuntu:这指定固定适用于源自 Ubuntu 发行版的软件包。

Pin-Priority: 1:设置优先级 1 可以有效地阻止更新,因为任何具有更高优先级的包都将优先。

您可以使用各种关键字进一步细化您的置顶标准:

a:存档(例如,a=stable、a​​=testing)

c:组件(例如,c=main、c=universe)

o:起源(例如,o=Debian、o=Ubuntu)

l:标签(用于特定存储库标签)

n:架构(例如,n=amd64)

保存首选项文件后,运行以下命令来更新您的软件包列表。

sudo apt update

3. 使用 APT 自动删除文件将软件包更新列入黑名单

要使用APT autoremove 文件将软件包更新列入黑名单,您可以创建特定配置,以防止在系统清理操作期间删除某些软件包。

您需要99autoremove在/etc/apt/apt.conf.d/目录中创建或编辑一个文件,因为该文件将指定要保留哪些包。

sudo nano /etc/apt/apt.conf.d/99autoremove

在该文件中,添加以下行来指定要列入黑名单以防止自动删除的软件包:

Apt::NeverAutoRemove {
    "apache2";
};

添加必要的行后,运行以下命令来更新您的软件包列表并确保您的更改生效:

sudo apt update

要验证软件包是否已成功列入黑名单,您可以尝试运行该apt autoremove命令以查看列入黑名单的软件包是否不应出现在将要删除的软件包列表中。

sudo apt autoremove

如果您在列表中看到您列入黑名单的软件包(如apache2),则表明配置未正确应用。如果没有出现,则表示黑名单已成功。

4. 将源列表中的软件包列入黑名单
您还可以通过修改源列表将包列入黑名单,但这种方法不太常见,通常不推荐,而且这种方法涉及注释掉提供该包的存储库。

在文本编辑器中打开源列表文件。

sudo nano /etc/apt/sources.list

找到包含要列入黑名单的包的存储库的行,然后在行开头添加#将其注释掉。

# deb http://archive.ubuntu.com/ubuntu/ focal main restricted

最后,运行以下命令来更新您的软件包列表:

sudo apt update

5. 升级期间避免更新

如果您想在执行系统升级时暂时避免更新,可以使用以下–no-upgrade选项:

sudo apt upgrade --no-upgrade apache2

这将升级除您指定的软件包之外的所有软件包。

结论

使用Apt工具禁用、锁定或将包更新列入黑名单是一个简单的过程,可让您更好地控制 Linux 系统。

无论您选择使用apt-mar k锁定软件包、使用APT 首选项还是修改源列表,每种方法都可以根据您的需要实现其用途。

相关推荐
人工智能训练如何影响计算资源的需求?
近年来,人工智能的格局发生了显著变化,计算资源在这一转变中起到了至关重要的作用。随着我们从小规模模型向大规模训练转变,对计算能力的需求急剧上…
头像
技术指南 2024-10-27
872
如何搭建《方舟:生存升级》的独立服务器?
当您的游戏环境成功启动后,吸引玩家的关键在于有效的推广策略。随着《方舟:生存升级》在游戏界的热潮,许多玩家希望搭建自己的独立服务器,以获得个…
头像
技术指南 2024-10-27
391
独立IP地址为您的网站带来的优势是什么?
如果您在使用共享IP服务器时遇到问题,例如网站因攻击而停机,那么可能是时候考虑升级到独立IP了。本文将引导您完成从共享IP到独立IP的转换,…
头像
技术指南 2024-10-27
557
如何解决在联想服务器上运行CentOS时的驱动冲突问题?
许多系统管理员和服务器租赁提供商在联想服务器上运行CentOS时会遇到兼容性问题。本文将深入探讨这些问题的根源,并提供切实可行的解决方案,以…
头像
技术指南 2024-10-26
250
为什么服务器租用提供商会将服务器禁ping?
在服务器租赁和管理领域,您可能会发现服务器会阻止Ping请求。这种现象被称为“Ping阻止”或“ICMP过滤”,在服务器租赁提供商和管理员中…
头像
技术指南 2024-10-26
945
如何选择合适的视频聊天服务器租赁方案?
在挑选合适的视频聊天服务器租赁方案时,有几个重要因素需要考虑。视频聊天应用程序需要稳定且强大的服务器解决方案,以确保用户享受到流畅的交流体验…
头像
技术指南 2024-10-26
901