topgrade

topgrade

自动化多平台系统与软件更新工具

Topgrade 是一款自动化系统和软件更新工具,支持 Linux、macOS 和 Windows 等多个平台。它能检测系统中的各种工具和包管理器,执行相应的更新命令,简化升级流程。Topgrade 提供自定义配置和远程执行功能,方便管理复杂的更新任务。该开源项目持续优化中,欢迎社区参与贡献。

Topgrade系统更新包管理器自动化工具跨平台Github开源项目
<div align="center"> <h1> <img alt="Topgrade" src="https://yellow-cdn.veclightyear.com/835a84d5/4f55d5a1-e205-4078-9166-ef263a711ae4.png" width="850px"> </h1>

<a href="https://github.com/topgrade-rs/topgrade/releases"><img alt="GitHub 发布" src="https://yellow-cdn.veclightyear.com/835a84d5/d6c4118a-d4b7-46a0-94e1-49c483f942e7.svg"></a> <a href="https://crates.io/crates/topgrade"><img alt="crates.io" src="https://yellow-cdn.veclightyear.com/835a84d5/bfcc7901-4a9f-43ff-b0a9-a6a7fe4f13b3.svg"></a> <a href="https://aur.archlinux.org/packages/topgrade"><img alt="AUR" src="https://yellow-cdn.veclightyear.com/835a84d5/3c24f4b5-a327-4579-93de-88fd124b47fb.svg"></a> <a href="https://formulae.brew.sh/formula/topgrade"><img alt="Homebrew" src="https://yellow-cdn.veclightyear.com/835a84d5/c5683723-2abc-4d9e-a6c4-d44eb4ec9859.svg"></a>

<img alt="演示" src="https://yellow-cdn.veclightyear.com/835a84d5/9445d11d-4de2-4f7c-b288-a960d2a62835.gif"> </div>

简介

注意 这是 r-darwish 的 topgrade 的一个分支,目的是保持其维护。

保持系统更新通常需要调用多个包管理器。 这导致在你的 shell 中保存了庞大且不可移植的一行式命令。 为了解决这个问题,Topgrade 会检测你使用的工具并运行适当的命令来更新它们。

安装

��打包状态

其他系统用户可以使用 cargo install 或从发布页面下载编译好的二进制文件。 编译好的二进制文件包含自我升级功能。

目前,Topgrade 需要 Rust 1.65 或更高版本。通常,Topgrade 会跟踪最新的稳定工具链。

使用方法

只需运行 topgrade

配置

查看 config.example.toml 以获取示例配置文件。

迁移和重大变更

每当有重大变更时,主版本号将会增加, 我们会在发布说明中记录这些变更,请在更新到主要版本时查看。

有问题吗?随时开启一个 issue 或讨论!

配置路径

各平台的 CONFIG_DIR

  • Windows: %APPDATA%
  • macOS其他 Unix 系统: ${XDG_CONFIG_HOME:-~/.config}

topgrade 将按以下优先顺序查找配置文件:

  1. CONFIG_DIR/topgrade.toml
  2. CONFIG_DIR/topgrade/topgrade.toml

如果优先级更高的文件存在,无论其是否有效,其他配置文件都将被忽略。

在首次运行时(不存在配置文件),topgrade 将为你在 CONFIG_DIR/topgrade.toml 创建一个配置文件。

自定义命令

可以在配置文件中定义自定义命令,这些命令可以在内置命令之前、期间或之后运行,根据需要。 默认情况下,自定义命令使用新的 shell 运行,在 Unix 上根据 $SHELL 环境变量(默认为 sh),在 Windows 上使用 pwsh(默认为 powershell)。

在 Unix 上,如果你想使用交互式 shell 运行命令,例如要加载 shell 的 rc 文件,你可以在自定义命令开头添加 -i。 但请注意,这要求命令正确退出 shell,否则 shell 将无限期挂起。

远程执行

你可以在配置文件中指定一个名为 remote_topgrades 的键。 这个键应包含一个安装了 Topgrade 的主机名列表。 Topgrade 将使用 ssh 在远程主机上运行 topgrade,然后在本地执行。 要限制只在特定主机上执行,请使用 --remote-host-limit 参数。

贡献

遇到问题或缺少功能?

开启一个新的 issue 描述你的问题,如果可能的话,提供一个解决方案。

缺少功能或发现不支持的工具/发行版?

只需通过开启一个 issue 让我们知道你缺少什么。 对于工具,请开启一个 issue 描述该工具、它支持的平台,如果可能的话,给我们一个使用示例。

想为代码做贡献?

只需 fork 仓库并开始编码。

贡献指南

查看 CONTRIBUTING.md

路线图

  • 为代码库添加适当的测试框架。
  • 为包管理器添加单元测试。
  • 将代码拆分为更易维护的部分,例如将每个 Linux 包管理器放在 linux.rs 的单独子模块中。

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成热门AI工具AI图像AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

下拉加载更多