使用 Topgrade 一次升級 Linux 中的各種軟件包
更新 Linux 系統(tǒng)并沒有那么復(fù)雜,不是嗎?畢竟,要更新 Ubuntu 之類的發(fā)行版,你只需要使用 apt update 和 apt upgrade 就行。
如果所有的包都是通過一個(gè)包管理器安裝的,就會是這樣。
但現(xiàn)在情況不再如此。你有經(jīng)典的 apt/dnf/pacman,還有 Snap、Flatpak、Appimages。不止于此,你還可以使用 PIP(用于 Python)和 Cargo(用于 Rust)安裝應(yīng)用。
使用 Node? NPM 包需要單獨(dú)更新。Oh My Zsh?需要單獨(dú)更新。Vim 中的插件、Atom 等也可能不被 apt/dnf/pacman 覆蓋。
你現(xiàn)在看到問題了嗎?這就是名為 Topgrade 的新工具旨在解決的問題。
Topgrade:處理各種更新的單一程序
Topgrade 是一個(gè) CLI 程序,它會檢測你使用的工具,然后運(yùn)行適當(dāng)?shù)拿顏砀滤鼈儭?
Topgrade disable system
除了通常的 Linux 包管理器,它還可以檢測和更新 Brew、Cargo、PIP、Pihole、Vim 和 Emacs 插件、R 軟件包等。你可以在 維基頁面 上查看支持的包列表。
Topgrade 的主要特點(diǎn):
- 能夠更新來自不同的包管理器的軟件包,包括固件!
- 你可以如何控制更新包。
- 高度可定制。
- 甚至能夠在更新包之前進(jìn)行概覽。
所以不要浪費(fèi)任何時(shí)間,讓我們跳到安裝。
使用 Cargo 在 Linux 中安裝 Topgrade
安裝過程非常簡單,因?yàn)槲覍⑹褂?Cargo 包管理器。
我們已經(jīng)有了 詳細(xì)指南,其中包含設(shè)置 Cargo 包管理器的多種方法。所以我將在我的示例中使用 Ubuntu 來快速完成。
因此,讓我們以最少方式安裝依賴項(xiàng)以及 Cargo:
sudo apt install cargo libssl-dev pkg-config
安裝 Cargo 后,使用給定的命令安裝 Topgrade:
cargo install topgrade
它會拋出一個(gè)警告:
cargo error
你只需添加 cargo 路徑即可運(yùn)行二進(jìn)制文件。這可以通過給定的命令來完成,你需要使用你的用戶名替換 sagar:
echo 'export PATH=$PATH:/home/sagar/.cargo/bin' >> /home/sagar/.bashrc
現(xiàn)在,重啟系統(tǒng),Topgrade 就可以使用了。但是等等,我們需要安裝另一個(gè)包來更新 Cargo 以獲取最新的包。
cargo install cargo-update
這樣我們完成了安裝。
使用 Topgrade
使用 Topgrade 非常簡單。使用一個(gè)命令,就是這樣:
topgrade
但這不會給你除了系統(tǒng)包之外的任何控制,但正如我所提到的,你可以將不想更新的倉庫列入黑名單。
從 Topgrade 中排除包管理器和倉庫
假設(shè)我想排除 Snap 和從默認(rèn)包管理器下載的包,所以我的命令是:
topgrade --disable snap system
Topgrade disable snap system
要進(jìn)行永久更改,你必須在其配置文件中進(jìn)行一些更改,這些更改可以通過給定的命令訪問:
topgrade --edit-config
對于此示例,我排除了 Snap 和默認(rèn)系統(tǒng)倉庫:
configuring Topgrade
試運(yùn)行 Topgrade
評估將要更新的過時(shí)軟件包總是一個(gè)好主意,我從 Topgrade 的整個(gè)目錄中找到了這個(gè)最有用的選項(xiàng)。
你只需使用帶有 -n 選項(xiàng)的 topgrade 命令,它就會生成過期軟件包的摘要。
topgrade -n
summery of Topgrade
檢查需要更新的軟件包的一種簡潔方法。
總結(jié)
在使用 Topgrade 幾周后,它成為了我的 Linux 武器庫中不可或缺的一部分。 像大多數(shù)其他 Linux 用戶一樣,我只是通過我的默認(rèn)包管理器更新包。 Python 和 Rust 包被完全忽略了。 感謝 Topgrade,我的系統(tǒng)現(xiàn)在完全更新了。
我知道這不是每個(gè)人都想使用的工具。那你呢?愿意試一試嗎?