ubuntu有时在用户登录后会提示有软件包更新,每次更新之后按提示重启,你就会看到一个类似于安全模式下大写的GNU GRUB(一个多操作系统启动程序),虽然这没什么问题,但是我在想能不能自主地去更新呢?
References:
电子文献:
https://birdteam.net/122231
https://blog.csdn.net/a3192048/article/details/86618314
apt-get
这个有点类似于windows中的dism
命令,可以用于安装、更新、卸载软件,大部分操作需要root权限,因此使用命令时别忘了授权。
首先介绍一下它的常见用法:
安装
使用如下命令安装名为xxx的软件:
1
sudo apt-get install xxx
卸载
使用如下命令卸载名为xxx的软件:
1
sudo apt-get remove xxx
注意:切忌卸载关键的软件包,比如coreutils。
更新
本文重点来了,apt-get
相关升级更新命令有下面这四个:1
2
3
4
5
6
7
8
9
10
11sudo apt-get update
#更新软件源缓存,从服务器更新可用的软件列表,一般在安装软件时引入新的软件仓库之后使用
sudo apt-get upgrade
#更新系统,即根据列表更新已安装的软件包,既不会删除在列表中已经不存在了的软件,也不会安装有依赖需求但尚未安装的软件
sudo apt-get full-upgrade
#根据列表更新已安装的软件包,可能会为了解决软件包冲突而删除一些已安装的软件
sudo apt-get dist-upgrade
#更新系统版本,也是根据列表更新已安装的软件包,可能会为了解决软件包冲突而删除一些已安装的软件,不同于full-upgrade的dist-upgrade也可能会为了解决软件包依赖问题安装新的软件包
更新软件列表
当我们想自主更新软件包时,可以依次执行下面两条命令:
1 | sudo apt-get upgrade |
这两条命令其实比较类似,不同的是当相依性问题时,upgrade
时此package就不会被升级而保留下来;而dist-upgrade
相对“智能”,若遇到相依性问题,需要安装或者移除新的package时,dist-upgrade
命令就会试着去安装或者移除它,这就可能以牺牲某些非重要软件包为代价来升级某些非常重要的软件包,个人认为存在一定风险。
apt
在根据各类教程安装各个软件时,我开始注意到有时候apt-get
的位置被apt
代替了。随着使用量的增加,这个疑惑越来越大,因此我决定搞搞清楚。
其实,apt
命令是在ubuntu16.04发布时引入的。它具有更精减但足够的命令选项,而且具有更为有效的参数选项的组织方式。实际上,虽然不是一个东西,但完完全全可以认为apt
和apt-get
是等价的,其格式语法几乎完全统一,在使用时不会出现不同。目前apt
命令还在不断地发展,而apt-get
比apt
有更多、更细化的操作功能,有时对于一些低级操作,仍需使用apt-get
。
下表是apt
命令与apt-get
等命令的对比,可以看到在普通使用时是完全一样的。
apt命令 | 等效命令 | 功能 |
apt install | apt-get install | 安装软件包 |
apt remove | apt-get remove | 移除软件包 |
apt purge | apt-get purge | 移除软件包及配置文件 |
apt update | apt-get update | 更新软件列表 |
apt upgrade | apt-get upgrade | 升级所有可升级的软件包 |
apt autoremove | apt-get autoremove | 自动删除不需要的包 |
apt full-upgrade | apt-get full-upgrade | 在升级软件包时自动处理依赖关系 |
apt search | apt-get search | 搜索应用程序 |
apt show | apt-get show | 显示软件包信息 |
此外,apt
还有一些自己的命令,比如apt list
列出包含条件的包(已安装,可升级等);apt edit-sources
编辑源列表。