使用 Topgrade 一次升级 Linux 中的各种软件包
创始人
2024-03-02 12:54:12
0

更新 Linux 系统并没有那么复杂,不是吗?毕竟,要更新 Ubuntu 之类的发行版,你只需要使用 apt updateapt upgrade 就行。

如果所有的包都是通过一个包管理器安装的,就会是这样。

但现在情况不再如此。你有经典的 apt/dnf/pacman,还有 Snap、Flatpak、Appimages。不止于此,你还可以使用 PIP(用于 Python)和 Cargo(用于 Rust)安装应用。

使用 Node? NPM 包需要单独更新。Oh My Zsh?需要单独更新。Vim 中的插件、Atom 等也可能不被 apt/dnf/pacman 覆盖。

你现在看到问题了吗?这就是名为 Topgrade 的新工具旨在解决的问题。

Topgrade:处理各种更新的单一程序

Topgrade 是一个 CLI 程序,它会检测你使用的工具,然后运行适当的命令来更新它们。

Topgrade disable system

除了通常的 Linux 包管理器,它还可以检测和更新 Brew、Cargo、PIP、Pihole、Vim 和 Emacs 插件、R 软件包等。你可以在 维基页面 上查看支持的包列表。

Topgrade 的主要特点:
  • 能够更新来自不同的包管理器的软件包,包括固件
  • 你可以如何控制更新包。
  • 高度可定制。
  • 甚至能够在更新包之前进行概览。

所以不要浪费任何时间,让我们跳到安装。

使用 Cargo 在 Linux 中安装 Topgrade

安装过程非常简单,因为我将使用 Cargo 包管理器。

我们已经有了 详细指南,其中包含设置 Cargo 包管理器的多种方法。所以我将在我的示例中使用 Ubuntu 来快速完成。

因此,让我们以最少方式安装依赖项以及 Cargo:

sudo apt install cargo libssl-dev pkg-config

安装 Cargo 后,使用给定的命令安装 Topgrade:

cargo install topgrade

它会抛出一个警告:

cargo error

你只需添加 cargo 路径即可运行二进制文件。这可以通过给定的命令来完成,你需要使用你的用户名替换 sagar

echo 'export PATH=$PATH:/home/sagar/.cargo/bin' >> /home/sagar/.bashrc

现在,重启系统,Topgrade 就可以使用了。但是等等,我们需要安装另一个包来更新 Cargo 以获取最新的包。

cargo install cargo-update

这样我们完成了安装。

使用 Topgrade

使用 Topgrade 非常简单。使用一个命令,就是这样:

topgrade

但这不会给你除了系统包之外的任何控制,但正如我所提到的,你可以将不想更新的仓库列入黑名单。

从 Topgrade 中排除包管理器和仓库

假设我想排除 Snap 和从默认包管理器下载的包,所以我的命令是:

topgrade --disable snap system

Topgrade disable snap system

要进行永久更改,你必须在其配置文件中进行一些更改,这些更改可以通过给定的命令访问:

topgrade --edit-config

对于此示例,我排除了 Snap 和默认系统仓库:

configuring Topgrade

试运行 Topgrade

评估将要更新的过时软件包总是一个好主意,我从 Topgrade 的整个目录中找到了这个最有用的选项。

你只需使用带有 -n 选项的 topgrade 命令,它就会生成过期软件包的摘要。

topgrade -n

summery of Topgrade

检查需要更新的软件包的一种简洁方法。

总结

在使用 Topgrade 几周后,它成为了我的 Linux 武器库中不可或缺的一部分。 像大多数其他 Linux 用户一样,我只是通过我的默认包管理器更新包。 Python 和 Rust 包被完全忽略了。 感谢 Topgrade,我的系统现在完全更新了。

我知道这不是每个人都想使用的工具。那你呢?愿意试一试吗?


via: https://itsfoss.com/topgrade/

作者:Sagar Sharma 选题:lkxed 译者:geekpi 校对:wxy

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

相关内容

开源证券给予雷迪克买入评级...
每经AI快讯,开源证券6月13日发布研报称,给予雷迪克(30065...
2025-06-13 18:12:06
使用U盘启动安装CentO...
准备踏上稳定之旅:使用U盘安装CentOS详解 在服务器和开发环境...
2025-06-11 10:10:39
【系统】iPadSO26/...
今天凌晨苹果举行了WWDC25,发布了全新系统,号称是Apple迄...
2025-06-10 08:40:53
MATLAB R2023a...
R2023a来啦!!废话不多说看看新版...
2025-05-31 11:50:07
labelme二次开发教程...
目录1. 下载源码2. 前期准备2.1 安装依赖2.2 项目结构2...
2025-05-31 10:05:17
【动手学深度学习】(tas...
note 注意力机制 文章目录note零、基础回顾0.0 不同人员...
2025-05-31 02:28:17

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...