ubuntu upgrade 不升级某些包
使用 ubuntu 的更新命令 sudo apt upgrade -y
时总是会升级所有的包,但是有些包是不能或不便升级的,如 GPU 驱动程序等,升级后可能会导致无法使用。有时升级某些软件后会导致系统重启失败等。本篇介绍如何抑制某些包不升级。
update & upgrade
当使用一段时间后,或需要更新某个软件包时,总会运行如下的命令,检查更新:
1 | sudo apt update |
当运行上面的命令后,会提示我们有多少包需要更新,使用如下命令,可以查看详细信息:
1 | sudo apt list --upgradable |
当我们想要升级罗列的所有软件包时,我们可以使用如下命令:
1 | sudo apt upgrade -y |
当我们想要只升级某一个软件包时,我们可以使用如下命令:
1 | sudo apt install --only-upgrade [packagename] |
但是,如果我们需要升级的软件比较多,但又不是所有软件都想要升级,那么我们不能够使用 sudo apt upgrade
,但使用 sudo apt install --only-upgrade [packagename]
又有些繁琐,我们可以采用下面的方法。
apt-mark
apt-mark 可以对软件包进行设置安装标记,如手动(manual)、自动(auto)、不安装(hold)等。以 vim 为例,我们可以如下设置:
1 | # vim 自动升级 |
查看所有软件的标记状态:
1 | # 查看自动升级的软件包 |
当我们把不想要自动升级的软件设置为 hold 状态时,这是我们就可以方向的使用如下命令升级想要升级的软件了:
1 | sudo apt update |
此时,在使用如下命令查看,发现 hold 状态的软件虽然列出来了,但是没有被升级:
1 | sudo apt list --upgradable |
参考文献
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 J. Xu!
评论