有时,由于某些应用程序依赖性,您可能会不小心更新不想更新的包。这通常发生在系统范围的更新或自动包升级中。如果发生这种情况,可能会破坏应用程序的功能。这可能会导致严重的问题,您将花费大量时间尝试修复它们。如何避免这种情况?如何从apt-get更新中排除包?如果你想从YumUpdate中排除特定的包,请参考这个。可以,在Debian和Ubuntu系统上使用以下三种方法即可。apt-mark命令、dpkg命令和aptitude命令将详细展示。方法1:如何使用apt-mark命令排除Debian/Ubuntu系统上的包更新apt-mark用于标记/取消标记包以进行自动安装。hold选项用于将包标记为hold以防止它被自动安装、升级或删除。unhold选项用于取消以前的设置以允许重复所有操作。运行以下命令以使用apt-mark命令保留指定的包。$sudoapt-markholdnanonano设置为暂停。一旦包被搁置,运行以下apt-mark命令来查看它们。$sudoapt-markshowholdnano这表示在执行完整系统更新时,不会升级nano包。$sudoaptupdateReadingpackagelists…DoneBuildingdependencytreeReadingstateinformation…DoneCalculatingupgrade…DoneThefollowingpackageshavebeenkeepedback:nano0upgraded,0newlyinstalled,0toremoveand1notupgraded.已保留以下软件包:nano0已升级,0个新安装,0个要删除,1个未升级。运行以下命令并使用apt-mark命令取消保存nano包。$sudoapt-markunholdnanoCanceledholdonnano。方法2:如何使用dpkg命令排除Debian/Ubuntu系统上的软件包更新dpkg命令是用于安装、构建、删除和管理Debian软件包的CLI工具。dpkg的主要和更用户友好的前端是aptitude。运行以下命令以使用dpkg命令阻止给定的包。语法:$echo"package_namehold"|sudodpkg--set-selections运行以下dpkg命令来保存apache2包。$echo"apache2hold"|sudodpkg--set-selections持有包后,运行以下命令查看它们。$sudodpkg--get-selections|grep"hold"apache2hold它会显示在进行完整系统更新时,apache2软件包不会升级。$sudoaptupdateReadingpackagelists…DoneBuildingdependencytreeReadingstateinformation…DoneCalculatingupgrade…DoneThefollowingpackageshavebeenkeepedback:apache20upgraded,0newlyinstalled,0toremoveand1notupgraded.已保留以下软件包:apache20已升级,0个新安装,0个要删除,1个未升级。运行以下命令,使用dpkg命令取消指定的软件包预留。语法:$echo"package_nameinstall"|sudodpkg--set-selections运行以下命令以使用dpkg命令取消保留apache2包。$echo"apache2安装"|sudodpkg--set-selections方法三:如何在Debian/Ubuntu系统上使用aptitude命令排除包更新aptitude命令是Debian及其衍生版本的基于文??本的包管理界面。它允许用户查看包列表并执行包管理任务,例如安装、升级和删除包。它可以从可视化界面或命令行执行操作。运行以下命令以使用aptitude命令保留指定的包。$sudoaptitudeholdpython3持有一些包后,运行以下命令查看它们。$sudodpkg--get-selections|grep"hold"或$sudoapt-markshowholdpython3这表示在执行完整系统更新时,不会升级python3包。$sudoaptupdateReadingpackagelists…DoneBuildingdependencytreeReadingstateinformation…DoneCalculatingupgrade…DoneThefollowingpackageshavebeenkeepedback:python30upgraded,0newlyinstalled,0toremoveand1notupgraded.已保留以下软件包:python30已升级,0个新安装,0个要删除,1个未升级。使用aptitude命令运行如下命令,去除python3软件包保留。$sudoaptitudeunholdpython3
