apt-get update 和 apt-get upgrade 的区别

apt-get updateapt-get upgrade 的区别

以下内容基于腾讯云+Xshell+Ubuntu 20.04进行编写

刚开始接触 Linux 的朋友们,因为和 Windows 系统(视窗系统)完全不同的操作方式,看着命令行面板不知所措(相对来说 有图形化界面的 Linux 系统会友好很多),最想要的知道的就是,如何安装需要的软件。在 Windows 系统中,我们只需要下载相关软件的 .exe 安装程序,然后 双击 运行,按照安装程序的提示就可以一步步完成程序的安装,于是我们开始搜索“ Linux 如何通过命令行安装软件”。搜索结果会出现各种各样的参考内容,但是,所有的参考中,在 install 之前都会出现下面两条命令

sudo apt-get uodate
sudo apt-get upgrade

“既然搜到了解决方案,那按着解决方案说明的步骤,一步步使用指令就可以安装所需要的软件了”,这可能是大多数刚接触 Linux 系统的人的想法,很少有人会去思考这两句指令的意思和具体作用,但是为什么几乎所有的参考中都出现了这两句指令呢?这两句指令具体的意思和作用是什么?下面将做详细的介绍

Ubuntu 中的软件安装方法

每个 Linux 的发行版本,比如 Ubuntu ,都会维护一个自己的软件库,我们几乎所有的常用软件都在这个里面,这里面的软件绝对安全且觉得可以正常安装。在 Ubuntu 下,我们维护一个源列表,源列表中存储的是一些网址信息,里面的每一个网址就是一个源,每个源网址指向的数据标识着这台源服务器上有哪些软件可以安装使用。

# 使用下面的指令可以查看文件中的内容 文件为 源列表
sudo cat /etc/apt/sources.list

# 使用下面的指令可以编辑文件内容
sudo vim /etc/apt/sources.list

apt-get update 和 apt-get upgrade 的区别

apt-get 是某些 Linux 发行版使用的一个“包管理器”(还有别的发行版使用yum等,以及brew等其他平台上的包管理器,工作原理类似)

包管理器的作用是从源(source)服务器那里下载最新的软件包列表,然后在你需要安装某个软件包(apt-get install)的时候从列表里面查询这个软件包的版本信息、系统要求、翻译、依赖项(该软件正常运行必须安装的其它软件)并且添加到同时安装的列表里面,再查询所有安装列表里面的软件包的 .deb 文件下载地址,最后批量下载,自动分析安装顺序然后完成安装。

但是这个软件包列表是不会自动下载的,此时就要用到 sudo apt-get update 命令了,该命令的作用就是更新软件包列表。

下图为软件包列表更新过程 ↓
apt-get update 和 apt-get upgrade 的区别

然而我们需要的软件更新目的还没有达到,sudo apt-get upgrade 命令的作用为,将本地已安装的软件版本与列表中已更新的软件版本进行比较以达到对已经安装的软件包本身进行升级与 update(更新) 区别)。

下图为软件更新过程 ↓
apt-get update 和 apt-get upgrade 的区别
apt-get update 和 apt-get upgrade 的区别
总而言之,在执行 install 命令之前,进行 sudo apt-get updatesudo apt-get upgrade 两条命令,是为了确保本地软件列表信息和已经安装的软件为均为最新,这样可以最大限度地确保新安装的软件包正常工作。

ps.updateupgrade`

上一篇:Oracle DB 18c - 手动升级到 18c 的完整核对清单 (文档 ID 2469647.1)


下一篇:【MySQL】MySQL的常用升级方法