# job **Repository Path**: lookupup/job ## Basic Information - **Project Name**: job - **Description**: setup_root_ssh.sh - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-24 - **Last Updated**: 2026-03-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Linux 系统一键部署脚本 - 对话记录 > 生成日期: 2026-03-15 ## 需求背景 用户需要创建一个自动化部署脚本,要求: - 支持 CentOS 7 和 Ubuntu 24.04 两种 Linux 系统 - 更换国内镜像源(yum/apt) - 关闭防火墙 - 修改 root 密码 - 安装常用工具 - 安装 MySQL/MariaDB 数据库 --- ## 对话记录 ### 1. 初始需求 - CentOS 7 部署脚本 **用户需求**: - yum 源改成国内常用源(3个地址可选) - 自动关闭防火墙 - root 账号密码改成 `P@ssw0rd` - 安装常用工具 - 安装 MySQL Server,默认账号 root,密码 P@ssw0rd,开启所有用户连接 **解决方案**:创建 `centos_deploy.sh` ### 2. 问题 - MySQL 8.0 源不可用 **问题**:安装 MySQL 时出现 404 错误 ``` https://mirrors.aliyun.com/centos-vault/7/x86_64/os/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found ``` **原因**:CentOS 7 已停止维护(2024年6月),阿里云 MySQL 源已关闭 **解决方案**:改用 MariaDB(MySQL 兼容)替代 ### 3. 问题 - yum 源 404 **原因**:CentOS 7 停止维护后,阿里云 vault 仓库也出现问题 **解决方案**:改用华为云镜像源 ### 4. Ubuntu 24.04 版本需求 用户询问 Ubuntu 22.04 和 24.04 的区别,并要求创建 Ubuntu 版本。 **创建文件**:`ubuntu_deploy.sh` 功能对比: - Ubuntu:MySQL 8.4 LTS - CentOS:MariaDB 最新版 ### 5. 增强版脚本需求 用户提出以下改进意见: 1. 根据 IP 自动重命名计算机名称 2. 关闭并禁用防火墙 3. Ubuntu 打开 root 账号,设置密码 P@ssword 4. 更换为国内阿里云+清华大学镜像 5. CentOS 安装 MariaDB,Ubuntu 安装 MySQL 8.4 LTS 6. 数据库 root 密码统一 P@ssw0rd,局域网可访问 7. 安装工具列表:docker, vim, wget, curl, git, net-tools, telnet, netcat-openbsd, dnsutils, htop, iotop, sysstat, zip, unzip, tree, jq, build-essential, bash-completion, python3, python3-pip, lsof, strace **创建文件**:`linux_deploy.sh`(二合一版本) ### 6. 进一步优化建议 **建议改进项**: - 时区设置(Asia/Shanghai) - 语言环境(zh_CN.UTF-8) - Swap 分区 - 文件描述符调高 - 内核参数优化 - DNS 配置 - 时间同步(Chrony) - 安全加固 - 部署日志 ### 7. CPU 架构加入主机名 **优化**:主机名格式改为 `ubuntu_amd64_ip123`、`centos_arm64_ip124` | CPU 架构 | 识别结果 | | ------------- | -------- | | x86_64 | amd64 | | aarch64/arm64 | arm64 | | armv7l | arm32 | ### 8. 额外功能添加 **新增功能**(第13-15步): - 第13步:日志持久化配置 - 第14步:Docker 进一步优化 - 第15步:清理缓存 + 自动更新 ### 9. 添加 dos2unix 工具 在工具列表中添加 `dos2unix`,用于转换 Windows 格式脚本。 ### 10. 脚本发送邮箱 使用 Python 脚本 `send_mail.py` 发送到用户邮箱 --- ## 最终脚本功能列表 ### 基础功能 (1-12步) 1. ✅ 时区设置 (Asia/Shanghai) 2. ✅ 语言环境 (zh_CN.UTF-8) 3. ✅ Swap 分区 (2GB) 4. ✅ 文件描述符 (65535) 5. ✅ 内核参数优化 6. ✅ DNS 配置 (114.114.114.114) 7. ✅ Chrony 时间同步 8. ✅ 主机名(含CPU架构+IP) 9. ✅ 防火墙 + SELinux 关闭 10. ✅ Root 账号 + SSH 配置 11. ✅ 国内镜像源(阿里云) 12. ✅ 数据库 + 工具安装 ### 增强功能 (13-15步) 13. ✅ 日志持久化配置 14. ✅ Docker 优化(镜像加速、日志轮转、资源限制) 15. ✅ 缓存清理 + 自动安全更新 ### 工具列表 ``` docker, docker-compose vim, wget, curl, git net-tools, telnet, netcat-openbsd dnsutils, htop, iotop, sysstat zip, unzip, tree, jq build-essential, bash-completion python3, python3-pip lsof, strace, dos2unix ``` ### 数据库配置 | 系统 | 数据库 | 密码 | 端口 | 远程访问 | | ------ | ------------- | -------- | ---- | -------- | | Ubuntu | MySQL 8.4 LTS | P@ssw0rd | 3306 | ✅ | | CentOS | MariaDB | P@ssw0rd | 3306 | ✅ | ### 主机名格式 ``` Ubuntu x86_64, IP 192.168.1.123 → ubuntu_amd64_ip123 CentOS aarch64, IP 192.168.1.124 → centos_arm64_ip124 ``` --- ## 文件列表 | 文件名 | 说明 | | ------------------------ | ----------------------------- | | centos_deploy.sh | CentOS 7 部署脚本(早期版本) | | ubuntu_deploy.sh | Ubuntu 24.04 部署脚本 | | linux_deploy.sh | 二合一版本(基础版) | | linux_deploy_enhanced.sh | **最终增强版** | | send_mail.py | 邮件发送脚本 | --- ## 使用方法 ```bash # 1. 转换格式(如从Windows上传) dos2unix linux_deploy_enhanced.sh # 2. 添加执行权限 chmod +x linux_deploy_enhanced.sh # 3. 执行脚本 sudo bash linux_deploy_enhanced.sh ``` --- ## 部署日志 - 部署日志位置:`/var/log/linux_deploy.log` - 部署耗时:可在脚本输出中查看