使用 Topgrade 一次升級 Linux 中的各種軟件包
更新 Linux 系統并沒有那么復雜,不是嗎?畢竟,要更新 Ubuntu 之類的發行版,你只需要使用 apt update 和 apt 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,我的系統現在完全更新了。
我知道這不是每個人都想使用的工具。那你呢?愿意試一試嗎?