众所周知,让我们的 Linux 系统保持最新需要调用多个包管理器。 比如说,在 Ubuntu 中,你不能使用 “sudo 易于更新 && sudo apt upgrade”命令。这个命令只会升级使用 APT 包管理器安装的包。你可能已经安装了一些其他应用程序使用 货物, 点子, npm, 折断, 扁平包装 或者 Linuxbrew 包管理器。 您需要使用相应的包管理器以使它们全部更新。 不再! 打招呼 “上品”,一个使用单个命令一次性升级所有内容的实用程序。
您无需单独运行每个包管理器来更新包。 topgrade 工具通过检测已安装的包、工具、插件并运行其相应的包管理器以使用单个命令更新 Linux 机器中的所有内容来解决此问题。 它是免费的,开源的,使用 Rust 编程语言. 它支持 GNU/Linux、Mac OS X、FreeBSD 和 Microsoft Windows。
安装顶级
最高级可在 AUR. 因此,您可以使用 耶 任何基于 Arch 的系统中的辅助程序。
$ yay -S topgrade
在其他 Linux 发行版上,可以安装 topgrade 货物 包管理器。 要安装货物包管理器,请参阅以下链接。
- 在 Linux 中安装 Rust 编程语言
然后,运行以下命令来安装 topgrade:
$ cargo install topgrade
如果 cargo 方法由于任何原因不起作用,请从以下位置下载最新的顶级二进制文件 发布页面. 在编写本指南时,最新版本是 2.2.0.
$ wget https://github.com/r-darwish/topgrade/releases/download/v2.2.0/topgrade-v2.2.0-x86_64-unknown-linux-gnu.tar.gz
解压 tar 文件:
$ tar xvf topgrade-v2.2.0-x86_64-unknown-linux-gnu.tar.gz
将 topgrade 二进制文件复制或移动到您的路径,对于 example /usr/local/bin/.
$ sudo mv topgrade /usr/local/bin/
如下图所示检查是否正确安装。
$ which topgrade /usr/local/bin/topgrade
检查安装的版本:
$ topgrade -V Topgrade 2.2.0
在 Linux 和 Unix 中使用 Topgrade 升级一切
安装后,运行 topgrade 实用程序来升级 Linux 系统中的所有内容。
$ topgrade
调用 topgrade 后,它将根据您使用的操作系统一一执行以下任务。 您将被要求输入 root/sudo 必要时的用户密码。
在 Linux 上:
1. 运行你的 Linux 系统的包管理器并执行以下操作:
- 基于拱门: 跑 耶 或退回到 吃豆人
- 基于红帽: 跑
yum upgrade
(或者dnf
如果存在) - 基于 Debian: 跑
apt update && apt dist-upgrade
- 琴图: 跑
layman -s ALL && emerge --sync -q && eix-update && emerge -uDNa world
- openSUSE: 跑
zypper refresh && zypper dist-upgrade
- 空白: 跑
xbps-install -Su
2.运行 等更新.
3. 运行非官方和第三方包管理器:
- 更新 平板包装 包
- 更新 折断 包
- 跑 fwupdmgr 显示固件升级。 (仅供查看。实际上不会执行任何升级)
- 跑
rpi-update
更新树莓派固件 - 跑 钻孔 更新者
- 通过运行更新 Rustup
rustup update
. 这也将尝试运行rustup self update
当 Rustup 安装在主目录中时。 - 运货 安装更新
- 升级 Emacs 包
- 升级 OCaml 包
- 升级 vcpkg 全局安装包
- 升级 我的仓库 托管源代码存储库
- 升级使用安装的 Python 包 像素
- 升级 R 全局安装包
- 升级 Vim/Neovim 包。 适用于以下插件框架:
- NeoBundle
- 文德尔
- 插头
- 登
- 节点
- 跑
yarn global update
如果安装了纱线。 - 跑
npm update -g
如果安装了 NPM 并且npm root -g
是主目录中的路径。
- 跑
- 跑
composer global update
如果 Composer 的主目录在用户的主目录中。 跑valet install
后。 - 升级 原子 包
- 跑
gem upgrade --user-install
如果~/.gem
存在
在 Unix 上:
- 跑
brew update && brew upgrade
. 这应该同时处理 家酿 和 Linuxbrew. - 跑
nix upgrade-nix && nix --upgrade
. - 润明珠
pearl update
. - 跑 插件 更新
- 升级 多路复用器 插件与 TPM
在 FreeBSD 上:
- 升级和审计包。
杂项(这些步骤将在所有操作系统上执行)
它将检查以下路径是否被跟踪 吉特. 如果是这样,请拉动它们:
- ~/.emacs.d
- ~/.zshrc
- ~/.oh-my-zsh
- ~/.tmux
- ~/.config/鱼
- ~/.config/nvim
- ~/.vim
- ~/.config/openbox
- ~/.config/bspwm
- ~/.config/i3
- Powershell 配置文件
- 自定义路径
最后的步骤
升级所有软件包后,Topgrade 将再执行最后一步。
在 Linux 上:
Topgrade 实用程序将运行 需要重启 重新启动所有服务。
在 FreeBSD 上:
Topgrade 将运行 freebsd-upgrade
在 Mac OS X,它将升级 App Store 应用程序。
我的 Ubuntu 18.04 LTS 测试盒的示例输出:
在 Linux 和 Unix 中使用 Topgrade 升级所有内容
好在如果一个任务失败,它会自动运行下一个任务并完成所有其他后续任务。 最后,它将显示摘要以及详细信息,例如运行了多少任务,成功了多少,失败了多少等。
建议阅读:
- 如何使用单个命令升级 Ubuntu
- 将 Ubuntu 升级到最新版本的 3 种不同方法
- 在 Ubuntu 中自动安装更新和安全补丁
顶级选项
Tograde 提供了一些选项来执行各种附加任务。
在 Tmux 会话中运行 Topgrade
当您在远程系统上使用 Topgrade 时,这很方便。
要在 Tmux 会话中启动 Topgrade,请使用 -t 旗帜。
$ topgrade -t
在 Tmux 会话中运行 Topgrade
删除旧的和不必要的文件
要指示包管理器清理旧的和未使用的文件,请使用 -C 带有topgrade的标志:
$ topgrade -c
禁用特定的升级步骤
有时,您不想升级特定的软件包。 如果是这样,您可以使用 --disable
选项。
例如,使用命令跳过系统升级:
$ topgrade --disable system
此命令只会跳过系统升级阶段并照常升级其他所有内容。
―― 11:39:48 - Self update ―――――――――――――――――――――――――――――――――――――――――――――――――――――― Topgrade is up-to-date ―― 11:39:50 - rustup ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― info: checking for self-updates info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu' info: checking for self-updates stable-x86_64-unknown-linux-gnu unchanged - rustc 1.35.0 (3c235d560 2019-05-20) ―― 11:39:52 - Node Package Manager ――――――――――――――――――――――――――――――――――――――――――――― ―― 11:40:08 - Summary ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― Git repositories: OK rustup: OK NPM: OK
跳过 Emacs 升级:
$ topgrade --disable emacs
此命令将跳过升级 Emacs 包及其配置文件。
跳过 Vim 升级:
$ topgrade --disable vim
跳过宝石升级:
$ topgrade --disable gem
有关更多详细信息,请通过运行以下命令查看帮助部分:
$ topgrade --help Topgrade 2.2.0 Roey Darwish Dror <[email protected]> Command line arguments USAGE: topgrade [FLAGS] [OPTIONS] FLAGS: -c, --cleanup Cleanup temporary or old files -n, --dry-run Print what would be done -h, --help Prints help information --no-retry Do not ask to retry failed steps -t, --tmux Run inside tmux -V, --version Prints version information -v, --verbose Output logs OPTIONS: --disable <disable>... Do not perform upgrades for the given steps [possible values: gem, git-repos, vim, emacs, system]
就个人而言,我喜欢创建一个像 topgrade 这样的实用程序并使用单个命令升级使用各种包管理器安装的所有内容的想法。 我希望你也觉得它有用。
资源:
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | Twitter | 领英 | RSS订阅
祝你有美好的一天!!