抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

与 CentOS 的 yum -y update APPNAME 不同,Ubuntu 在使用 apt -y dist-upgrade 更新时无法指定软件,会更新所有已安装程序,今天杜老师说下如何设置指定软件不参与升级。

查询软件状态

1
2
3
4
5
6
7
8
penn@penn-VMware-Virtual-Platform:~/桌面$ sudo dpkg --get-selections
...
zenity-common install
zhaoxin-linux-graphics-driver-dri:amd64 install
zip install
zlib1g:amd64 install
zlib1g-dev:amd64 install
penn@penn-VMware-Virtual-Platform:~/桌面$

注意:使用 sudo dpkg --get-selections 可查询所有软件状态,输出数据会比较多,建议用 more 命令分屏显示。其中左侧为软件名,右侧为软件的状态。install 为升级,hold 为锁定「即不升级」

修改软件状态

如果需要锁定软件,可执行 sudo echo APPNAME hold | sudo dpkg --set-selections,其中 APPNAME 为软件名称,修改后可以通过命令 sudo dpkg --get-selections | grep hold 查询是否生效。下面以 zip 作为演示:

1
2
3
4
5
penn@penn-VMware-Virtual-Platform:~/桌面$ sudo dpkg --get-selections | grep hold
penn@penn-VMware-Virtual-Platform:~/桌面$ sudo echo zip hold | sudo dpkg --set-selections
penn@penn-VMware-Virtual-Platform:~/桌面$ sudo dpkg --get-selections | grep hold
zip hold
penn@penn-VMware-Virtual-Platform:~/桌面$

如需恢复软件状态,可执行 sudo echo APPNAME install | sudo dpkg --set-selections

1
2
3
4
5
penn@penn-VMware-Virtual-Platform:~/桌面$ sudo dpkg --get-selections | grep hold
zip hold
penn@penn-VMware-Virtual-Platform:~/桌面$ sudo echo zip install | sudo dpkg --set-selections
penn@penn-VMware-Virtual-Platform:~/桌面$ sudo dpkg --get-selections | grep hold
penn@penn-VMware-Virtual-Platform:~/桌面$

评论