如何在Linux中使用一个命令升级所有软件

系统 Linux
众所周知,让我们的 Linux 系统保持最新状态会用到多种包管理器。比如说,在 Ubuntu 中,你无法使用 sudo apt update 和 sudo apt upgrade 命令升级所有软件。此命令仅升级使用 APT 包管理器安装的应用程序。你有可能使用 cargo、pip、npm、snap 、flatpak 或 Linuxbrew 包管理器安装了其他软件。

https://s1.51cto.com/oss/201807/26/637d30d1b542483466a12f858c99fb0f.png

众所周知,让我们的 Linux 系统保持***状态会用到多种包管理器。比如说,在 Ubuntu 中,你无法使用 sudo apt updatesudo apt upgrade 命令升级所有软件。此命令仅升级使用 APT 包管理器安装的应用程序。你有可能使用 cargopipnpmsnapflatpakLinuxbrew 包管理器安装了其他软件。你需要使用相应的包管理器才能使它们全部更新。

再也不用这样了!跟 topgrade 打个招呼,这是一个可以一次性升级系统中所有软件的工具。

你无需运行每个包管理器来更新包。这个 topgrade 工具通过检测已安装的软件包、工具、插件并运行相应的软件包管理器来更新 Linux 中的所有软件,用一条命令解决了这个问题。它是自由而开源的,使用 rust 语言编写。它支持 GNU/Linux 和 Mac OS X.

 

在 Linux 中使用一个命令升级所有软件

topgrade 存在于 AUR 中。因此,你可以在任何基于 Arch 的系统中使用 Yay 助手程序安装它。

  1. $ yay -S topgrade

在其他 Linux 发行版上,你可以使用 cargo 包管理器安装 topgrade。要安装 cargo 包管理器,请参阅以下链接:

然后,运行以下命令来安装 topgrade

  1. $ cargo install topgrade

安装完成后,运行 topgrade 以升级 Linux 系统中的所有软件。

  1. $ topgrade

一旦调用了 topgrade,它将逐个执行以下任务。如有必要,系统会要求输入 root/sudo 用户密码。

1、 运行系统的包管理器:

  • Arch:运行 yay 或者回退到 pacman
  • CentOS/RHEL:运行 yum upgrade
  • Fedora :运行 dnf upgrade
  • Debian/Ubuntu:运行 apt updateapt dist-upgrade
  • Linux/macOS:运行 brew updatebrew 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 包。对以下插件框架均可用:

8、 升级 npm 全局安装的包

9、 升级 Atom 包

10、 升级 Flatpak

11、 升级 snap

12、 Linux:运行 fwupdmgr 显示固件升级。 (仅查看​​。实际不会执行升级)

13、 运行自定义命令。

***,topgrade 将运行 needrestart 以重新启动所有服务。在 Mac OS X 中,它会升级 App Store 程序。

我的 Ubuntu 18.04 LTS 测试环境的示例输出:

好处是如果一个任务失败,它将自动运行下一个任务并完成所有其他后续任务。***,它将显示摘要,其中包含运行的任务数量,成功的数量和失败的数量等详细信息。

建议阅读:

就个人而言,我喜欢创建一个像 topgrade 程序的想法,并使用一个命令升级使用各种包管理器安装的所有软件。我希望你也觉得它有用。还有更多的好东西。敬请关注! 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2022-10-25 09:07:28

Linuxxargs命令

2022-11-18 10:16:26

Linuxwc 命令

2018-06-26 09:15:24

Linux命令history

2018-05-16 10:32:06

Linux命令find

2023-09-14 15:05:33

grep正则表达式

2021-01-13 09:40:26

Linuxexport命令

2023-01-09 10:29:41

mv命令Linux

2021-07-13 07:52:02

Linuxgrep命令

2023-01-31 17:36:22

IPLinux网络

2019-09-16 19:00:48

Linux变量

2018-04-28 09:12:42

Linux

2022-05-25 08:41:48

Linuxfd 命令文件

2021-07-20 10:00:28

Linuxgrep命令

2022-11-21 12:06:24

fgrep命令Linux

2022-03-30 09:32:32

BashtestLinux

2022-04-01 15:39:13

机器学习让孩子们软件交付

2018-06-19 10:06:16

Linux软件测试Nix包管理器

2022-11-23 08:14:42

bash 脚本test 命令

2018-01-09 09:00:01

Linux命令文件压缩

2016-12-07 17:45:44

Linux文件
点赞
收藏

51CTO技术栈公众号