在 Ubuntu 中使用 apt 命令列出可升级的软件包
创始人
2024-03-02 11:49:26
0

apt 命令 用于 Debian 和 Ubuntu 中的包管理。虽然你可能已经熟悉安装和删除选项,但 apt 还提供了一些额外的功能。

其中之一是能够查看系统上所有可升级的软件包。要显示它们,你所要做的就是在终端中使用以下命令:

apt list --upgradable

如你所见,你甚至不需要使用 sudo 来列出可更新的包。它只是列出了可以更新的包,而不会更新它们。

实际上,当你运行 sudo apt update 命令更新本地包仓库缓存时,apt 命令会添加此提示。

Fetched 1,243 kB in 17s (71.4 kB/s)           
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
30 packages can be upgraded. Run 'apt list --upgradable' to see them.

我不记得在旧的 apt-get 命令中有任何类似的直接选项来列出所有可升级的包。这是 apt 在旧的 apt-get 命令之上添加的几个新功能之一。

让我们更详细地讨论一下。

列出所有可升级的包

你在这里应该知道的是你只能列出通过 APT 包管理器可用的更新。因此,如果你已将 PPA 或 外部仓库 添加到系统的 sources.list,你也将看到来自它们的更新。

但是你不会在这里获得 AppImage、Flatpak、Snap 或一些其他打包格式的更新。

换句话说,它只适用于 APT 包。

因此,要列出 Ubuntu 或 Debian 系统上的所有可升级包,你应该首先更新本地包缓存:

sudo apt update

然后你的系统将知道可用的软件包更新。apt 命令告诉你在 update 命令结束时可以升级多少个软件包:

The apt command shows the number of upgradable packages at the bottom of the apt update command output

要查看可以升级的软件包,请运行以下命令:

apt list --upgradable

你应该看到这样的输出:

~$ apt list --upgradable 
Listing... Done
apparmor/jammy-updates 3.0.4-2ubuntu2.1 amd64 [upgradable from: 3.0.4-2ubuntu2]
brave-browser/stable 1.40.113 amd64 [upgradable from: 1.40.107]
evolution-data-server-common/jammy-updates,jammy-updates 3.44.2-0ubuntu1 all [upgradable from: 3.44.1-0ubuntu2]
evolution-data-server/jammy-updates 3.44.2-0ubuntu1 amd64 [upgradable from: 3.44.1-0ubuntu2]

Listing all the upgradable packages

按字母顺序列出所有可升级的软件包以及有关当前安装版本和新可用软件包版本的信息。

brave-browser/stable 1.40.113 amd64 [upgradable from: 1.40.107]

例如,这显示我系统上安装了 Brave 浏览器,版本 1.40.107,并且版本 1.40.113 可用。

你能用这些信息做什么?让我分享一些我能想到的事情。

升级所有包

这可能是大多数普通 Ubuntu 用户所做的。你可以使用以下命令升级所有可升级包:

sudo apt upgrade

它列出了将要升级的软件包,然后要求按回车或 Y 确认升级。

Upgrade all packages

如果你确定要升级所有软件包,则可以通过在命令中添加 -y 来跳过 “Do you want to continue” 部分。

sudo apt upgrade -y

模拟升级(但不升级任何包)

这是人们在 apt list 命令之前所做的。使用模拟选项,你实际上不会进行任何更改。它仅显示运行升级时将安装或升级的软件包。

apt -s upgrade

你不需要使用 sudo(即使我在下面的截图中使用了它)。

Running an upgrade simulation with apt command

仅升级选定的包

如果你正在管理一个 Ubuntu 服务器,并且你不想升级所有软件包,而只想升级少数选定的软件包中的一个(如 MySQL/Ngnix),你可以使用 apt 命令轻松完成。

sudo apt --only-upgrade install package_name

实际上,如果你在已安装且有可用更新的软件包上运行 apt install 命令,它将升级该软件包。

使用 --only-upgrade 标志,你可以确保仅升级软件包(如果已安装)。如果尚未安装,它将不会安装给定的包。

你还可以通过提供名称来升级选定的几个包:

sudo apt --only-upgrade install package1 package2

你也可以做相反的事情,升级时保留选定的软件包

sudo apt-mark hold package_name

这样,当你升级所有系统包时,将不会升级给定的包。

你可以使用以下命令删除保留设置:

sudo apt-mark unhold package_name

是否显示内核升级?

这有点棘手。

当你运行 apt list –upgradable 命令时,它会显示所有可以升级的包。

但是如果有新的内核版本可用,它们可能不会显示,因为内核包名称以 linux-headers-x-y 开头。这是因为系统将它们视为新包,而不是对已安装的包 linux-headers-a-b 的升级。

但是,你仍然会在可升级包列表中看到 linux-generic-hwe 类型的包,因为该软件包将被升级(使用较新的内核)。

总结

列出可升级包的能力是 apt 命令为旧的 apt-get 命令带来的几个新功能之一。有关此主题的更多信息,你可以阅读我 解释 apt 和 apt-get 命令之间的区别 的文章。

作为桌面用户,我并不总是检查可以升级的软件包。我直接去升级。但是,当我管理服务器时,我更喜欢查看可用的更新,然后决定是否进行升级。

你呢?你觉得这个功能对你自己有用吗?


via: https://itsfoss.com/apt-list-upgradable/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

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

apt

相关内容

外媒初探Win11 WSL...
IT之家 7 月 2 日消息,科技媒体 Windows Lates...
2026-07-17 23:36:40
新买的云服务器如何快速上手...
拿到新云服务器的心情,就像拿到一把新家的钥匙,兴奋之余,可能更多的...
2026-01-26 10:17:31
[chapter3][5G...
参考: 3GPP 38.211 https://w...
2025-05-29 13:16:24
[ 云计算 | Azure...
本章节主要内容进行讲解:Azure云计算的核心体系结...
2025-05-28 20:08:12
在Linux服务器上绑定域...
要把Linux服务器和域名绑定起来,让我们先简单聊聊这个过程。想象...
2025-02-27 13:49:16

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...