Redian新闻
>
apt 的 update 和 upgrade 命令的区别是什么? | Linux 中国

apt 的 update 和 upgrade 命令的区别是什么? | Linux 中国

科技
 
导读:我们首先讨论一下 update 和 upgrade 的区别。这两个难道不是一样的吗?           
本文字数:3750,阅读时长大约:4分钟

如果想让你的 Ubuntu 或者 Debian 系统保持更新,要用 sudo apt update 和 sudo apt upgrade 命令组合。

一些以前的教程也会提到 sudo apt-get update 和 sudo apt-get upgrade

apt 和 apt-get 命令运行起来几乎一样,除了一些细微的差别,后面我会讨论。

我们首先讨论一下 update 和 upgrade 的区别。这两个难道不是一样的吗?

apt 的 update 和 upgrade 的区别

尽管听上去运行 apt update 可以给你一个包的最新版本,然而这并不正确。update 命令只会获得系统上所有包的最新信息,并不会下载或者安装任何一个包。而是 apt upgrade 命令来把这些包下载和升级到最新版本。

还是有点困惑?让我来接着解释。我建议阅读 包管理器的概念🔗 itsfoss.com。这个会帮你更好的理解这些东西。

Linux Package Manager Explanation

基本上,你的系统围绕着一个所有可用包的数据库(缓存)工作。注意,这个缓存(或者数据库)并不包含这些包本身,仅仅是关于包的元数据(版本、仓库、依赖等)。

如果你不更新这个数据库,系统就不会知道是否有更新的版本。

当你运行 apt update 或者 apt-get update 命令,它会获取这些包的最新元数据(包的版本等)。

apt update

这时候本地缓存就被更新了,有一些包可以升级。用 sudo apt upgrade 可以升级所有(可升级的)包。

它会显示要升级的包,并且通过回车(默认选择是 Y)或者按下 Y 键进行确认。要在这个阶段取消升级,可以按下 N

apt upgrade

下面这些可能会帮助你记忆:

◈ apt update:更新包缓存(可以知道包的哪些版本可以被安装或升级)
◈ apt upgrade:升级包到最新版本

因为有一些管理员命令,需要作为 root 运行。因此需要使用 sudo 配合其他命令。sudo 使你能够作为 root 在 Ubuntu 和 Debian 上运行命令。

既然理解了 update 和 upgrade 是如何一起运行的,我们接下来来讨论一下 apt 和 apt-get 的用法。

apt 还是 apt-get?应该用哪个?

Debian 和 Ubuntu 使用的是 APT 包管理系统。不要和 apt 命令弄混了。

有许多和 APT 包管理交互的命令;apt-getaptdpkgaptitude 等。

这里面最受欢迎的就是 apt-get 命令。它是一个低层级(low-level)且功能丰富的命令。apt 是 apt-get 命令的一个更新而更简单的版本。

可以读一下这篇文章来 了解 atp 和 apt-get 命令的不同🔗 itsfoss.com。下面重点讨论这些命令中 update 和 upgrade 选项的区别。

apt update vs apt-get update

apt-get update 和 apt update 做的是同样的事,都是更新本地包缓存,这样的话你的系统就知道有哪些包的版本是可用的。

从技术上讲,其实并没有区别。然而,apt update 在一个方面比 apt-get update 做的好,它会告诉你可升级的包的数量

  1. Hit:15 https://ppa.launchpadcontent.net/slimbook/slimbook/ubuntu jammy InRelease
  2. Fetched 213 kB in 4s (55.8 kB/s)
  3. Reading package lists... Done
  4. Building dependency tree... Done
  5. Reading state information... Done
  6. 6 packages can be upgraded. Run 'apt list --upgradable' to see them.

apt-get update 甚至不会告诉你包是否可以升级。

apt get update

apt update output

从 apt 中可以看到 列出可升级的包🔗 itsfoss.com,而 apt-get 甚至没有这个选项。

  1. # apt list --upgradable
  2. Listing... Done
  3. fprintd/jammy-updates 1.94.2-1ubuntu0.22.04.1 amd64 [upgradable from: 1.94.2-1]
  4. gnome-control-center-data/jammy-updates,jammy-updates 1:41.7-0ubuntu0.22.04.4 all [upgradable from: 1:41.7-0ubuntu0.22.04.1]
  5. gnome-control-center-faces/jammy-updates,jammy-updates 1:41.7-0ubuntu0.22.04.4 all [upgradable from: 1:41.7-0ubuntu0.22.04.1]
  6. gnome-control-center/jammy-updates 1:41.7-0ubuntu0.22.04.4 amd64 [upgradable from: 1:41.7-0ubuntu0.22.04.1]
  7. libpam-fprintd/jammy-updates 1.94.2-1ubuntu0.22.04.1 amd64 [upgradable from: 1.94.2-1]
  8. vivaldi-stable/stable 5.4.2753.40-1 amd64 [upgradable from: 5.4.2753.37-1]

现在来比较一下两个命令中 upgrade 的选项。

apt upgrade vs apt-get upgrade

apt-get upgrade 和 apt upgrade 命令根据本地包缓存(通过 update 命令更新)的数据,安装可升级包的最新版本。

然而,apt upgrade 命令会做两件与 apt-get upgrade 不同的事情。

apt upgrade 命令可以升级 Linux 内核版本,apt-get upgrade 不能。apt-get 命令需要使用 apt-get dist-upgrade🔗 itsfoss.com 来升级内核版本。

apt-get upgrade command cannot upgrade Linux kernel version

这是因为升级内核版本意味着安装一个全新的包。apt-get upgrade 命令不能安装一个新的包。它只能升级现有的包。

apt upgrade 比 apt-get 做的好的另一件小事是,它会在底部显示一个进度条

apt upgrade progress bar

总结

update 和 upgrade 两个词很相似,这就是为什么很多新用户会感到困惑。有时候,我觉得 apt update 命令应该和 apt upgrade 命令合并。

我意思是 upgrade(所有已安装的包)和 update(本地包元数据缓存)一起完成工作。为什么要有两个分开的命令呢?把这两个领命合成一个 upgrade 命令吧。Fedora 就是这样对 DNF 命令进行了改进。不过这只是我的观点。

我希望这篇文章可以解释一些关于 apt-get updateapt-get upgrade 和 apt update 以及 apt upgrade 命令的问题。

如果有任何问题,请与我联系。


via: https://itsfoss.com/apt-update-vs-upgrade/

作者:Abhishek Prakash 选题:lkxed 译者:Yufei-Yan 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


LCTT 译者 :MCGA
🌟🌟🌟
翻译: 15.0 篇
|
贡献: 802 天
2020-06-21
2022-09-01
https://linux.cn/lctt/Yufei-Yan
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
修复 Ubuntu 中的 “Pending Update of Firefox snap” 错误 | Linux 中国休斯顿金卡是什么?金卡申请条件是什么样?它与奥巴马保险和红兰卡区别在哪里?在 Linux 中找到你的路由器的 IP 地址(默认网关) | Linux 中国美国和加拿大的区别,这32个方面让你了解这两个国家之间的区别“作弊”:只需要知道这一个 Linux 命令就够了 | Linux 中国准备好在 Debian Linux 上获得 Ubuntu MATE 的体验吧! | Linux 中国有了扩展,GNOME Web 正逐渐成为 Linux 桌面上一个有吸引力的选择 | Linux 中国深度解读 | 机器学习和深度学习的区别到底是什么?你应该知道的 22 个基本的 Linux 网络命令 | Linux 中国独立日+扬州菜+上海美女俄乌战争对比十年中越战争关于 Linux 和 Git 的创造者 Linus Torvalds 的 20 件趣事 | Linux 中国听有声书的效果怎么样?听书和读书的区别是什么?一二级市场投资的本质区别是什么?10 大可以摧毁你的 Linux 的命令 | Linux 中国Linux inxi 命令的 3 种使用方法 | Linux 中国陈春花式华为研究,和短视频式瞎编的区别是?在 Linux 中如何从命令行查找默认网关的 IP 地址 | Linux 中国System 76 将不会发布 Pop!_OS 22.10 Linux 发行版 | Linux 中国使用 LaTeX 创建优美的 PDF 文件 | Linux 中国Rosalía 登意大利版《VOGUE》封面!平价买到高级感!IKEA全新 OBEGRÄNSAD系列,全系列都好看!如何使用 Linux sed 命令自动进行文件编辑 | Linux 中国我是如何使用 Linux fmt 命令来格式化文本 | Linux 中国如何在 Linux 中更改 GRUB 主题 | Linux 中国椰子戚风蛋糕(Coconut Chiffon Cake)Tuxedo 已对所有用户开放基于 Ubuntu 的 TUXEDO OS | Linux 中国IKEA x OBEGRÄNSAD联名!宜家22年最受瞩目系列开售!Linux 优先的 AI 图像提升器 Upscayl 发布了第一个版本 | Linux 中国【纸上谈兵】抵抗俄罗斯的侵略,乌克兰取胜的希望在哪里?微软决定放弃 Teams 的 Linux 应用,而用渐进式网页应用取代 | Linux 中国纳瓦尔:财富和金钱的区别是什么?歷史清0又有 Linux 开发者加入微软,这次是 systemd 的创建者 | Linux 中国在 Ubuntu 和 Debian 中使用 apt 命令更新单个软件包 | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。