topgrade - 命令行工具升级Linux上的所有包
在本教程中,我们将探讨一个有趣的工具,该工具旨在使系统上安装的所有内容更新,就像运行一个命令一样简单。
此软件是Topgrade,它检测我们在系统上使用的工具,并运行适当的包管理器以更新包。
在Rhel家庭Linux Pricsox PricsoS中,Topgrade将执行"yum升级"命令,这是"DNF升级"为Fedora。
在Debian系列上,Topgrade执行的等效命令以确保所有内容是最新的,是"APT更新&& APT Dist upgrade"。
在Arch Linux上,如果没有安装Yay,它将使用Run Yay或者返回"Pacman""。
如果我们没有安装在Arch Linux上的Yay Aur Helper,请通过克隆PKGBuild和Buytpkg构建来安装它。
git clone https://aur.archlinux.org/yay.git cd yay makepkg -si
只需运行单个topgrade命令,它也会更新以下内容:
- 升级原子包
- 在Linux上更新FlatPak包
- 更新Linux上的Snap Packages
- 运行fwupdmgr以显示固件升级。
- 升级Emacs软件包
- 运行货物安装 - 更新
- 运行步。
Brew update && Brew升级
。这应该在Unix上处理Homebrew和LinuxBrew。 - 在UNIX上运行ZPLUG更新
- UNIX:运行渔民更新
- 使用TPM升级TMUX插件
- 升级Vim/Neovim软件包。
在Linux上安装Topgrade
可以通过拉动预编译的二进制文件或者使用货物安装来完成Linux上的Topgrade安装。
如果我们正在运行Arch Linux作为主要操作系统,则可以从AUR安装TOPGRADE:
$yaourt -S topgrade
对于所有其他操作系统,导航到TOPGRADE释放页面并下载最新版本。
就像这种写作一样,最新版本是v0.9.0
$export ver="v0.9.0" $wget https://github.com/r-darwish/topgrade/releases/download/${ver}/topgrade-${ver}-x86_64-unknown-linux-gnu.tar.gz
对于MacOS用户,下载名称Apple-Darwin.tar.gz
的软件包
解压缩包以获取二进制文件:
$tar xvf topgrade-${ver}x86_64-unknown-linux-gnu.tar.gz
将二进制文件提取到/usr/local/bin
$sudo mv topgrade /usr/local/bin/
确认Topgrade二进制位置:
$which topgrade /usr/local/bin/topgrade
使用TOPGRADE更新系统包
程序包后,我们可以通过调用终端上的名称轻松使用它:
$topgrade --help Topgrade 0.9.0 Upgrade all the things USAGE: topgrade [FLAGS] FLAGS: -h, --help Prints help information -t, --tmux Invoke inside tmux -V, --version Prints version information
只需在终端上键入TOPGRADE,它将开始更新和升级已安装的软件包。
$topgrade
如果需要sudo权限,系统将提示我们输入sudo密码。
因为我有"哦 - my-zsh"",它也更新了。
在TMUX会话中运行FOLPRADE
建议将Topgrade留在"TMUX"程序中运行,以避免意外人类中断或者网络超时,特别是在在远程系统上工作时。
为此:
$topgrade -t
如果未安装TMUX,则可以使用OS包管理器获取它:
在Ubuntu上:
$sudo apt-get install tmux
在CentOS/Fedora:
$sudo yum install tmux $sudo dnf install tmux
在Arch Linux上,使用:
$sudo pacman -S tmux
自定义顶级
我们可以在~/.config/topgrade.toml
放置一个配置文件。
这是一个例子:
git_repos = [ "~/dev/topgrade", ] [pre_commands] "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak" [commands] "Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter"
在这个例子中:
- git_repos - 拉动的自定义Git存储库列表
- pre_commands - 在开始任何操作之前执行的命令
- 命令 - 自定义升级步骤。
还要阅读
- 如何从yum更新中排除特定包
- 如何在Ubuntu/CentOS中升级个别包
- 如何在Arch Linux上安装软件包
Topgrade似乎是一个必须具有Sysadmin工具,用于管理每天管理的服务器集群中的更新。
只需使用-t标志,我们可以在TMUX会话中运行它的事实,通过确保优雅地完成,保持更新更新。