Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ myserver Public

Store the configuration I commonly-used in a pure personal Linux server

Notifications You must be signed in to change notification settings

gtzjh/myserver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 

Repository files navigation

Ubuntu/Debian 系统初始化脚本

专为Ubuntu/Debian系统设计的自动化初始化配置脚本,提供国内优化配置和Docker环境部署。

主要功能

  1. 系统配置

    • 交互式时区设置(支持IP自动检测+手动选择)
    • APT镜像源选择(USTC/清华/阿里云/官方源)
    • 系统更新升级
    • 禁用休眠模式(Debian系专用)
  2. 包管理优化

    • 完全移除Snap及其相关组件(Ubuntu系统)
    • 配置国内APT镜像源
    • 基础工具自动安装(curl/vim/git/ping等)
  3. Docker环境部署

    • 智能安装策略(根据时区自动选择国内/国际源)
    • 双镜像源故障转移(USTC/Official)
    • 注册表镜像自动检测和测试(20+镜像源)
    • 自动选择最佳可用镜像(最多6个)
    • 安装后验证(服务状态/版本检查/测试容器)
    • 旧组件自动清理
  4. 错误处理机制

    • 分步错误日志记录(init_error.log)
    • 网络操作自动重试(线性退避策略)
    • Docker安装脚本多次下载尝试
    • APT源更新失败自动回滚
    • 关键配置自动备份(sources.list等)

功能亮点

  • Docker镜像加速器智能检测(自动选择最快镜像)
  • 强制添加默认镜像确保可用性
  • 硬件时钟自动同步(WSL环境自动跳过)
  • 时区设置三重模式(保持/自动检测/手动)
  • 安装失败安全回滚机制

系统要求

  • X86 (amd64) 架构
  • Ubuntu或Debian系统
  • Root权限
  • 网络连接
  • 可用磁盘空间(Docker安装需要)

使用说明

  1. 下载脚本:

    wget https://raw.githubusercontent.com/gtzjh/myserver/main/init.sh
  2. 添加执行权限:

    chmod +x init.sh
  3. 以root权限运行:

    sudo ./init.sh

交互配置项

脚本运行时会提示:

  1. 时区配置选项(保持当前/自动检测/手动选择)
  2. APT镜像源选择(USTC/清华/阿里云/保持默认)
  3. 确认是否移除Snap(仅Ubuntu系统)
  4. 是否安装Docker
  5. 是否配置Docker registry镜像加速(安装Docker后)

错误处理

  • 网络连接失败自动重试(超时时间递增)
  • APT源更新失败自动回滚
  • Docker服务异常时输出日志
  • 关键步骤失败记录但不中断流程
  • 运行结束显示失败步骤摘要

注意事项

  1. Docker相关

    • Docker镜像源测试使用ping检测连通性
    • 使用官方安装脚本和USTC镜像双重保障
    • 配置后自动验证运行hello-world测试容器
  2. 系统限制

    • 仅适用于Ubuntu或Debian系统
    • WSL环境自动跳过硬件时钟同步
    • Snap移除仅适用于Ubuntu系统
  3. 镜像加速器

    • 自动选择最多6个可用镜像
    • 强制添加默认镜像保障可用性
    • 配置后等待6秒服务重启
  4. 日志记录

    • 详细执行日志保存到init.log
    • 错误日志保存到init_error.log
    • 成功完成时自动清理空日志文件

About

Store the configuration I commonly-used in a pure personal Linux server

Topics

Resources

Stars

Watchers

Forks

Languages