如何在 Linux 中使用一個命令升級所有軟體
眾所周知,讓我們的 Linux 系統保持最新狀態會用到多種包管理器。比如說,在 Ubuntu 中,你無法使用 sudo apt update
和 sudo apt upgrade
命令升級所有軟體。此命令僅升級使用 APT 包管理器安裝的應用程序。你有可能使用 cargo
、pip、npm
、snap
、flatpak
或 Linuxbrew 包管理器安裝了其他軟體。你需要使用相應的包管理器才能使它們全部更新。
再也不用這樣了!跟 topgrade
打個招呼,這是一個可以一次性升級系統中所有軟體的工具。
你無需運行每個包管理器來更新包。這個 topgrade
工具通過檢測已安裝的軟體包、工具、插件並運行相應的軟體包管理器來更新 Linux 中的所有軟體,用一條命令解決了這個問題。它是自由而開源的,使用 rust 語言編寫。它支持 GNU/Linux 和 Mac OS X.
在 Linux 中使用一個命令升級所有軟體
topgrade
存在於 AUR 中。因此,你可以在任何基於 Arch 的系統中使用 Yay 助手程序安裝它。
$ yay -S topgrade
在其他 Linux 發行版上,你可以使用 cargo
包管理器安裝 topgrade
。要安裝 cargo 包管理器,請參閱以下鏈接:
然後,運行以下命令來安裝 topgrade
。
$ cargo install topgrade
安裝完成後,運行 topgrade
以升級 Linux 系統中的所有軟體。
$ topgrade
一旦調用了 topgrade
,它將逐個執行以下任務。如有必要,系統會要求輸入 root/sudo 用戶密碼。
1、 運行系統的包管理器:
- Arch:運行
yay
或者回退到 pacman - CentOS/RHEL:運行
yum upgrade
- Fedora :運行
dnf upgrade
- Debian/Ubuntu:運行
apt update
和apt dist-upgrade
- Linux/macOS:運行
brew update
和brew upgrade
2、 檢查 Git 是否跟蹤了以下路徑。如果有,則拉取它們:
~/.emacs.d
(無論你使用 Spacemacs 還是自定義配置都應該可用)~/.zshrc
~/.oh-my-zsh
~/.tmux
~/.config/fish/config.fish
- 自定義路徑
3、 Unix:運行 zplug
更新
4、 Unix:使用 TPM 升級 tmux
插件
5、 運行 cargo install-update
6、 升級 Emacs 包
7、 升級 Vim 包。對以下插件框架均可用:
- NeoBundle
- Vundle
- Plug
8、 升級 npm 全局安裝的包
9、 升級 Atom 包
10、 升級 Flatpak 包
11、 升級 snap 包
12、 Linux:運行 fwupdmgr
顯示固件升級。 (僅查看。實際不會執行升級)
13、 運行自定義命令。
最後,topgrade
將運行 needrestart
以重新啟動所有服務。在 Mac OS X 中,它會升級 App Store 程序。
我的 Ubuntu 18.04 LTS 測試環境的示例輸出:
好處是如果一個任務失敗,它將自動運行下一個任務並完成所有其他後續任務。最後,它將顯示摘要,其中包含運行的任務數量,成功的數量和失敗的數量等詳細信息。
建議閱讀:
就個人而言,我喜歡創建一個像 topgrade
程序的想法,並使用一個命令升級使用各種包管理器安裝的所有軟體。我希望你也覺得它有用。還有更多的好東西。敬請關注!
乾杯!
via: https://www.ostechnix.com/how-to-upgrade-everything-using-a-single-command-in-linux/
作者:SK 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive