眾所周知,讓我們的 Linux 系統(tǒng)保持最新狀態(tài)會用到多種包管理器。比如說,在 Ubuntu 中,你無法使用sudo apt update和sudo apt upgrade命令升級所有軟件。此命令僅升級使用 APT 包管理器安裝的應(yīng)用程序。你有可能使用cargo、pip、npm、snap、flatpak或Linuxbrew包管理器安裝了其他軟件。你需要使用相應(yīng)的包管理器才能使它們?nèi)扛隆?/p>
再也不用這樣了!跟topgrade打個招呼,這是一個可以一次性升級系統(tǒng)中所有軟件的工具。
你無需運行每個包管理器來更新包。這個topgrade工具通過檢測已安裝的軟件包、工具、插件并運行相應(yīng)的軟件包管理器來更新 Linux 中的所有軟件,用一條命令解決了這個問題。它是自由而開源的,使用rust 語言編寫。它支持 GNU/Linux 和 Mac OS X.
在 Linux 中使用一個命令升級所有軟件
topgrade存在于 AUR 中。因此,你可以在任何基于 Arch 的系統(tǒng)中使用Yay助手程序安裝它。
$ yay -S topgrade
在其他 Linux 發(fā)行版上,你可以使用cargo包管理器安裝topgrade。
然后,運行以下命令來安裝topgrade。
$ cargo install topgrade
安裝完成后,運行topgrade以升級 Linux 系統(tǒng)中的所有軟件。
$ topgrade
一旦調(diào)用了topgrade,它將逐個執(zhí)行以下任務(wù)。如有必要,系統(tǒng)會要求輸入 root/sudo 用戶密碼。
1、 運行系統(tǒng)的包管理器:
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 還是自定義配置都應(yīng)該可用)
~/.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顯示固件升級。 (僅查看。實際不會執(zhí)行升級)
13、 運行自定義命令。
最后,topgrade將運行needrestart以重新啟動所有服務(wù)。在 Mac OS X 中,它會升級 App Store 程序。
我的 Ubuntu 18.04 LTS 測試環(huán)境的示例輸出:
好處是如果一個任務(wù)失敗,它將自動運行下一個任務(wù)并完成所有其他后續(xù)任務(wù)。最后,它將顯示摘要,其中包含運行的任務(wù)數(shù)量,成功的數(shù)量和失敗的數(shù)量等詳細(xì)信息。
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209322 -
管理器
+關(guān)注
關(guān)注
0文章
246瀏覽量
18502 -
插件
+關(guān)注
關(guān)注
0文章
326瀏覽量
22440
原文標(biāo)題:如何在 Linux 中使用一個命令升級所有軟件
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論