使用 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快讯,开源证券8月21日发布研报称,给予万孚生物(3004...
2025-08-21 11:50:08
英超夺冠赔率更新:卫冕冠军...
北京时间8月19日消息,2025-26赛季英超首轮战罢,曼城凭借净...
2025-08-19 20:14:30
Debian 13“Tri...
IT之家 8 月 10 日消息,历经两年零两个月的开发,Debia...
2025-08-16 16:15:18
外卖小作坊靠AI佯装大门店...
三湘都市报8月4日讯(全媒体记者 仝若楠 通讯员 万家忻)8月4日...
2025-08-05 06:14:49
谷歌推OSS Rebuil...
2025-07-23 01:40:53 作者:狼叫兽 7月22...
2025-07-23 09:13:19
南网科研院等申请开源软件依...
金融界2025年7月19日消息,国家知识产权局信息显示,南方电网科...
2025-07-19 15:14:19

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...