______
___ /____________ ________
__ //_/_ ___/ / / /_ __ \
_ ,< _ / / /_/ /_ / / /
/_/|_| /_/ \__,_/ /_/ /_/
Shell Script Runner
Krun 是一个面向运维工程师的 Shell 脚本工具集,提供了 66+ 个系统初始化、安全加固、服务部署、性能优化等常用运维脚本。支持 CentOS/RHEL、Debian/Ubuntu、macOS 等多个平台,可通过 curl 命令直接执行,简化运维工作流程。
- 🚀 一键安装: 支持 66+ 个常用软件和工具的自动化安装
- 🔧 系统配置: 完善的系统初始化和安全加固脚本
- 🌐 多平台支持: CentOS/RHEL 7-9、Debian/Ubuntu、macOS
- 📦 模块化设计: 每个脚本独立运行,可单独使用或组合使用
- 🔒 安全可靠: MIT 许可证,所有脚本开源可审查
- 🎯 远程执行: 支持 curl 直接执行,无需克隆仓库
- ⚡ 自动依赖: 安装脚本自动检测并安装所需依赖(Python3、curl 等)
- 🐚 Shell 脚本: 所有脚本使用 Bash,简单可靠
- 系统基线配置: 安全加固、内核参数优化、SSH配置
- 软件源配置: CentOS 7/Rocky Linux 软件源配置
- 基础软件安装: 常用运维工具包安装
- 系统性能优化: 内核参数、网络、存储性能调优
- 容器服务: Docker 安装配置
- 开发环境: Python、Node.js、Go、Ruby 环境安装
- 数据库: MySQL、PostgreSQL、Redis、MongoDB 部署
- Web服务: Nginx、Apache 配置
- 监控工具: Node Exporter、系统监控脚本
- 日志管理: 日志轮转、清理脚本
- 备份工具: 数据备份、配置备份脚本
- 网络工具: 网络诊断、性能测试工具
# 一键安装(自动检测平台并安装依赖)
curl -fsSL https://raw.githubusercontent.com/kevin197011/krun/main/install.sh | bash
# 重新加载 shell 配置
source ~/.bashrc # 或 source ~/.zshrc
# 查看可用脚本列表
krun list
# 执行脚本(自动下载并执行)
krun install-docker.sh
krun config-system.sh
krun install-ffmpeg.sh安装说明:
- 支持 macOS 和 Linux(CentOS/RHEL、Debian/Ubuntu)
- 自动检测平台并安装所需依赖(Python3、curl)
- 自动配置 PATH 环境变量
- 安装目录:
~/.krun/bin/krun - krun 工具用于管理 shell 脚本,所有脚本通过 bash 执行
# Docker 安装
curl -fsSL https://raw.githubusercontent.com/kevin197011/krun/main/lib/install-docker.sh | bash
# FFmpeg 安装
curl -fsSL https://raw.githubusercontent.com/kevin197011/krun/main/lib/install-ffmpeg.sh | bash
# Rocky Linux 仓库配置(修复 IPv6 问题)
curl -fsSL https://raw.githubusercontent.com/kevin197011/krun/main/lib/config-rocky-repo.sh | bash
# 系统性能优化
curl -fsSL https://raw.githubusercontent.com/kevin197011/krun/main/lib/optimize-system-performance.sh | bash# 克隆仓库
git clone https://github.com/kevin197011/krun.git
cd krun
# 方式 3.1: 使用安装脚本安装 krun 工具
./install.sh
source ~/.bashrc # 或 source ~/.zshrc
krun list
# 方式 3.2: 直接执行脚本
./lib/install-docker.sh
./lib/config-system.sh
# 方式 3.3: 使用本地 krun 工具
./bin/krun install-git.shconfig-system-baseline.sh- 系统安全基线配置config-system.sh- 系统基础配置config-ssh.sh- SSH 安全配置config-locales.sh- 系统语言环境配置config-git.sh- Git 全局配置config-vim.sh- Vim 编辑器配置config-fstab.sh- 文件系统挂载配置config-disk-data.sh- 数据盘自动挂载配置config-vm.sh- 虚拟机初始化配置config-acme.sh- ACME 证书配置config-elasticsearch.sh- Elasticsearch 配置config-rakefile.sh- Rakefile 自动生成config-cursor.sh- Cursor 配置部署config-centos7-repo.sh- CentOS 7 软件源配置config-rocky-repo.sh- Rocky Linux 软件源配置(修复 IPv6)disable-firewall-selinux.sh- 关闭防火墙和 SELinuxoptimize-system-performance.sh- 系统性能优化
install-git.sh- Git 版本控制工具install-vim.sh- Vim 编辑器install-docker.sh- Docker 容器平台install-python3.sh- Python 3 环境install-golang.sh- Go 语言环境install-ruby.sh- Ruby 语言环境install-elixir.sh- Elixir 语言环境install-openjdk.sh- OpenJDK Java 环境install-maven.sh- Maven 构建工具install-rbenv.sh- Ruby 版本管理器install-asdf.sh- 多语言版本管理器install-oh_my_zsh.sh- Oh My Zsh 终端配置install-zsh.sh- Zsh Shellinstall-spacevim.sh- SpaceVim 配置install-fonts-nerd-JetBrainsMono.sh- JetBrains Mono Nerd Font 字体install-fonts-powerline.sh- Powerline 字体install-awscli.sh- AWS CLI 工具install-gcloud.sh- Google Cloud CLIinstall-aliyun-cli.sh- 阿里云 CLI 工具install-devbox.sh- Devbox 开发环境
install-node_exporter.sh- Prometheus Node Exporterinstall-helm.sh- Kubernetes Helm 包管理器install-k9s.sh- Kubernetes TUI 管理工具install-kind.sh- Kubernetes in Dockerinstall-kssh.sh- Kubernetes SSH 工具install-nginx.sh- Nginx Web 服务器install-redis.sh- Redis 缓存数据库install-mc.sh- MinIO Client 对象存储客户端install-lsyncd.sh- 文件同步工具install-tinyproxy.sh- 轻量级代理服务器install-percona_toolkit.sh- MySQL 工具集install-puppet_bolt.sh- Puppet Bolt 自动化工具install-vagrant-virtualbox.sh- Vagrant + VirtualBox 虚拟化install-geoipupdate.sh- GeoIP 数据库更新工具install-ffmpeg.sh- FFmpeg 多媒体处理工具
install-1panel.sh- 1Panel 服务器管理面板install-aapanel.sh- aaPanel 服务器管理面板
deploy-node_exporter.sh- 批量部署 Node Exporterdeploy-sshkey.sh- 批量部署 SSH 密钥delete-video.sh- 视频文件清理脚本db-sync.sh- 数据库同步脚本get-host_info.sh- 获取主机信息get-ipaddr.sh- 获取 IP 地址信息check-ip.sh- IP 地址检查工具update-vagrant_box.sh- 更新 Vagrant Box
reset-git-history.sh- 重置 Git 提交历史apply-asdf.sh- 应用 ASDF 配置
hello-world.sh- 示例脚本config-vagrant-ssh.sh- Vagrant SSH 配置config-ruby-http.sh- Ruby HTTP 配置
- CentOS/RHEL: 7, 8, 9
- Rocky Linux: 8, 9
- AlmaLinux: 8, 9
- Debian: 10, 11, 12
- Ubuntu: 18.04, 20.04, 22.04, 24.04
- macOS: 10.15+ (部分脚本)
# 1. 安装 krun 工具
curl -fsSL https://raw.githubusercontent.com/kevin197011/krun/main/install.sh | bash
source ~/.bashrc
# 2. 系统基础配置
krun disable-firewall-selinux.sh
krun config-system-baseline.sh
krun config-ssh.sh
krun optimize-system-performance.sh
# 3. 安装常用软件
krun install-docker.sh
krun install-git.sh
krun install-vim.sh
# 4. 配置开发环境
krun install-python3.sh
krun install-golang.sh
krun install-oh_my_zsh.sh# 修复 Rocky Linux 9 的 IPv6 源导致的包管理器问题
curl -fsSL https://raw.githubusercontent.com/kevin197011/krun/main/lib/config-rocky-repo.sh | bashkrun install-docker.sh
krun install-kind.sh
krun install-helm.sh
krun install-k9s.sh# 自动格式化并挂载数据盘到 /data
data_disk="/dev/sdb" mount_point="/data" bash lib/config-disk-data.sh- 权限要求: 大部分脚本需要 root 或 sudo 权限执行
- 备份重要: 脚本会自动备份原始配置文件到
.bak或backup/目录 - 网络要求: 需要稳定的网络连接下载软件包
- 测试环境: 建议先在测试环境验证脚本功能
- 安全审查: 执行前请审查脚本内容,确保符合安全要求
- 平台兼容: 部分脚本仅支持特定平台,请查看脚本说明
所有脚本使用 Bash,遵循统一格式(参考 lib/hello-world.sh):
- 使用
set -o errexit,set -o nounset,set -o pipefail - 函数命名:
krun::category::scriptname::function - 平台检测:自动识别 debian/centos/mac
- 统一入口:通过
run()函数调用
# 参考模板创建
cp lib/hello-world.sh lib/install-myapp.sh
# 修改函数名和实现逻辑欢迎提交 Issue 和 Pull Request 来改进项目:
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/new-script) - 按照标准格式编写脚本
- 测试脚本在不同平台的兼容性
- 提交更改 (
git commit -am 'Add new script') - 推送到分支 (
git push origin feature/new-script) - 创建 Pull Request
# 重新运行安装脚本即可(会自动下载最新版本)
curl -fsSL https://raw.githubusercontent.com/kevin197011/krun/main/install.sh | bash
source ~/.bashrc # 或 source ~/.zshrc# 使用 krun 工具查看脚本列表
krun list
# 或直接查看 lib 目录
ls -l lib/*.sh- 检查是否有 root/sudo 权限
- 检查网络连接是否正常
- 查看错误日志,定位具体问题
- 提交 Issue 描述问题和环境信息
# 删除安装目录
rm -rf ~/.krun
# 删除 PATH 配置
# 编辑 ~/.bashrc 或 ~/.zshrc,删除 krun 相关的 PATH 配置# 是的,install.sh 会自动检测并安装所需依赖:
# - macOS: 使用 Homebrew 安装 Python3 和 curl(如未安装 Homebrew 会自动安装)
# - Linux: 使用系统包管理器(apt/yum/dnf)安装 Python3 和 curl
# 如果系统已有这些依赖,则跳过安装步骤本项目采用 MIT 许可证,详情请查看 LICENSE 文件。
项目地址: https://github.com/kevin197011/krun 作者: kevin197011 更新时间: 2025-12-04 脚本数量: 66+ 支持平台: CentOS/RHEL 7-9、Debian/Ubuntu、macOS
Star ⭐ 支持项目发展!