>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
TypeScript

如何用 TuxMate 在几分钟内完成新 Linux 系统的常用软件配置

每次安装全新的 Linux 发行版或从头配置工作站时,相同的例行任务就开始了。首先,你必须记住特定仓库中的确切包名。在 Arch 中可能是一个名称,在 Debian 中包被分成两部分带有后缀 2 或 3,在 Fedora 中名称不同,在 AUR 中有第三个构建版本。结果,前两个小时就花在了尝试 4、5 和搜索正确的 Flatpak 标识符上了。

在 Windows 世界中,Ninite 多年来一直被用于批量安装软件——你可以选择需要的程序,然后下载一个单一的现成安装程序。由于包管理器的多样性,Linux 更为复杂。TuxMate 项目旨在优雅地解决这个问题,且没有隐藏的魔法。

TuxMate

TuxMate 是什么

TuxMate 是一个基于 Web 的安装命令和 shell 脚本生成器,适用于各种 Linux 发行版、macOS 和 NixOS。项目作者设定了一个简单的目标:为开发者提供一个软件目录,他们只需选择一次熟悉的工具,就能立即获得一个为他们的系统量身定制的、完全透明的脚本。

TuxMate 与网络上那些可疑的安装程序之间的主要区别在于架构原则。该服务不会在后台自行安装任何东西。它完全作为一个配置器工作。你选择工具,在浏览器中直接查看生成的 bash 脚本,检查各种标志,然后才在终端中运行命令。

TuxMate Interface

支持的生态系统

项目目录按类别划分:开发、系统工具、浏览器、媒体、安全和通信工具。在撰写本文时,数据库包含超过 180 个应用程序。

生成器可以为以下包管理器映射包:

  • Debian 和 Ubuntu(6)
  • Arch Linux(7,支持 AUR 辅助工具 8 和 9)
  • Fedora(10)
  • openSUSE(11)
  • NixOS(为 12 生成现成的代码片段)
  • 通用容器化格式 Flatpak 和 Snap
  • Homebrew(CLI formulas 和 GUI casks 分开)

优先使用原生发行版包。如果某个程序在特定操作系统的官方仓库中缺失,生成器会巧妙地引入经过验证的 Flatpak、Snap 或工具作者提供的官方安装脚本。

Selecting a distribution and software

项目内部的技术亮点

从技术角度来看,TuxMate 使用了全新的技术栈:Next.js 16(App Router)、React 19 和 TypeScript。样式使用 Tailwind CSS 4,流畅的目录动画使用 Framer Motion 和 GSAP 实现。

以下是研究源代码时值得注意的几个有趣实现细节:

精心设计的 Shell 脚本

当你下载生成的 13 文件时,你会发现它不仅仅是 14 命令的堆砌。脚本包含基本的环境检查:

  • 在下载前检查包是否已安装在系统中,这样不会浪费流量。
  • 网络故障的重试机制,使用指数退避策略。
  • Flatpak 的并行安装,这对浏览器和 IDE 等重型软件明显节省时间。
  • 彩色格式化的终端输出,带进度条和最终摘要。

处理发行版特定细节

开发者已经考虑到了不同操作系统的细微差别。如果你要为 Arch 构建脚本,界面会在 15 和 16 之间提供切换选项,并在非官方包旁边显示明确的 AUR 徽章。

对于 NixOS,该服务会生成有效的 17 代码块,并自动检查专有软件,如果你选择了 Discord、VS Code 或 Spotify,会在配置中添加权限 18。

Viewing the script

界面和离线操作

Web 应用作为功能完整的 PWA 运行,带有缓存 service worker。即使正在配置的机器暂时失去网络连接,页面仍能继续工作。

对于喜欢不用鼠标工作的用户,提供完整的键盘导航:Vim 键(19)、方向键、斜杠(20)聚焦搜索字段,以及按(21)快速重置。

如何本地运行或自行部署

如果你不想依赖外部托管或正在设置封闭环境,该项目在 Docker 中很容易启动。

你可以从 GitHub Container Registry 获取现成的容器:

0

如果你计划添加公司的内部包或自定义仓库,项目使用标准 Node.js 工具构建:

1

整个应用数据库位于 22 目录中,作为常规 JSON 文件,按类别分组。添加带有所有发行版正确包名的新工具并不困难。

实际用途和局限性

TuxMate 解决了系统管理员和开发者长期以来的痛点,他们经常需要快速启动测试虚拟机或为新员工准备笔记本电脑。

无需维护分散的包含 23 命令的文本笔记,你获得了一个可视化商店。选择 Docker、Git、Alacritty、Neovim、你需要的浏览器,复制一行,然后运行它。

需要记住的局限性:

  • 包数据库目前包含大约两百个应用程序,因此专业软件仍需手动安装。
  • 仓库中的包名会随时间变化,因此在用 24 权限运行生成的代码之前,仍然有必要进行审查。

值得一试吗

TuxMate 是一个可靠的开源工具,源代码在 GPL-3.0 许可证下可用。它承担了配置 Linux 系统中最无聊的部分,并在发行版迁移过程中节省大量时间。

你可以在项目官网试用 Web 版本,如果你缺少需要的工具或在发行版的包名中发现不准确之处,作者欢迎 pull request。

相关项目