与 CentOS 的 yum -y update APPNAME 不同,Ubuntu 在使用 apt -y dist-upgrade 更新时无法指定软件,会更新所有已安装程序,今天杜老师说下如何设置指定软件不参与升级。
1 | penn@penn-VMware-Virtual-Platform:~/桌面$ sudo dpkg --get-selections |
注意:使用 sudo dpkg --get-selections
可查询所有软件状态,输出数据会比较多,建议用 more 命令分屏显示。其中左侧为软件名,右侧为软件的状态。install 为升级,hold 为锁定「即不升级」
如果需要锁定软件,可执行 sudo echo APPNAME hold | sudo dpkg --set-selections
,其中 APPNAME 为软件名称,修改后可以通过命令 sudo dpkg --get-selections | grep hold
查询是否生效。下面以 zip 作为演示:
1 | penn@penn-VMware-Virtual-Platform:~/桌面$ sudo dpkg --get-selections | grep hold |
如需恢复软件状态,可执行 sudo echo APPNAME install | sudo dpkg --set-selections
:
1 | penn@penn-VMware-Virtual-Platform:~/桌面$ sudo dpkg --get-selections | grep hold |