linux 选择式交互式一键配置系统环境脚本

张开发
2026/4/17 4:17:14 15 分钟阅读

分享文章

linux 选择式交互式一键配置系统环境脚本
linux 序号选择式交互式一键配置脚本一、脚本说明脚本为「序号选择式交互」,输入对应配置项序号即可修改,完成后返回菜单,灵活便捷彻底修复YUM源报错:删除所有解析失败、无效链接(阿里云Packages下repo、vault无效链接),替换为稳定可用的国内源包含所有需求功能:主机名、静态IP、防火墙/SELinux、时钟同步、YUM源、内核优化等全程root用户执行,每步配置有明确提示,失败自动重试,适配新手操作解决所有已知报错:阿里云YUM源解析失败、vault链接无效、文件类型不支持等问题二、linux序号选择式交互式配置脚本(可直接复制创建)#!/bin/bash# linux序号选择式交互式系统基础环境一键配置脚本# 自动识别 CentOS7 / 银河麒麟v10sp3 / 欧拉# 完整功能:配置主机名、配置静态IP、防火墙配置、关闭SELinux、配置时钟同步、配置YUM源、安装基础依赖、修改SSH端口、创建admin用户、配置IP白名单、内核7大优化、查看配置、重启clearexportTERM=xterm-256color# 颜色定义(提升交互体验)RED='\033[31m'GREEN='\033[32m'YELLOW='\033[33m'RESET='\033[0m'# 初始化默认配置参数(可通过序号选择修改)HOST_NAME="server-01"ETH=$(ipaddr|grepBROADCAST|head-1|awk-F:'{print $2}'|sed's/ //g')IP_ADDR="192.168.1.100"NETMASK="255.255.255.0"GATEWAY="192.168.1.1"DNS1="223.5.5.5"DNS2="114.114.114.114"SSH_PORT="2048"ADMIN_USER="admin"ADMIN_PWD="Admin@123"ALLOW_IPS="192.168.1.0/24"TIME_ZONE="Asia/Shanghai"# 验证root用户check_root(){if["$(id-u)"-ne0];thenecho-e"${RED}错误:请使用 root 用户执行此脚本!${RESET}"exit1fi}# 1. 识别系统identify_system(){echo-e"${BLUE}【系统自动识别】${RESET}"if[-f/etc/centos-release];thenSYSTEM_TYPE="centos7"echo-e"${GREEN}✅ CentOS 7${RESET}"elif[-f/etc/kylin-release];thenSYSTEM_TYPE="kylin10"echo-e"${GREEN}✅ 银河麒麟 V10SP3${RESET}"elif[-f/etc/openEuler-release];thenSYSTEM_TYPE="openeuler"echo-e"${GREEN}✅ 欧拉 openEuler${RESET}"elseecho-e"${RED}❌ 不支持的系统${RESET}"exit1fi}# 2. 识别CPU架构 x86_64 / aarch64(ARM)identify_arch(){ARCH=$(uname-m)echo-e"${BLUE}【CPU架构识别】${RESET}"if["$ARCH"="x86_64"];thenecho-e"${GREEN}✅ x86_64 架构${RESET}"elif["$ARCH"="aarch64"];thenecho-e"${GREEN}✅ ARM/aarch64 架构${RESET}"elseecho-e"${RED}❌ 不支持的架构${RESET}"exit1fi}# 系统差异化参数case$SYSTEM_TYPEincentos7)YUM_BASE_REPO_URL="https://mirrors.aliyun.com/repo/Centos-7.repo"YUM_EPEL_REPO_RPM="https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm"FIREWALL_SERVICE="firewalld"SELINUX_CONFIG="/etc/selinux/config";;kylin10sp3)YUM_BASE_REPO_URL="https://mirrors.aliyun.com/kylin/Kylin-Server-10-SP3-x86_64.repo"YUM_EPEL_REPO_RPM=""FIREWALL_SERVICE="firewalld"SELINUX_CONFIG=""# 麒麟无SELinux;;openEuler)YUM_BASE_REPO_URL="https://mirrors.aliyun.com/openeuler/openEuler-22.03-LTS-SP3/x86_64/"YUM_EPEL_REPO_RPM=""FIREWALL_SERVICE="firewalld"SELINUX_CONFIG="/etc/selinux/config";;esacecho-e"${GREEN}✅ 系统配置参数初始化完成${RESET}"back(){read-p"按回车返回主菜单"tmp main_menu}# ===================== 功能函数 =====================# 1. 配置主机名(序号1)config_hostname(){echo-e"\n${GREEN}【配置主机名】${RESET}"read-p"请输入新的主机名(当前默认:$HOST_NAME):"new_hostnameHOST_NAME=${new_hostname:-$HOST_NAME}# 执行配置hostnamectl set-hostname$HOST_NAMEif[$?-eq0];thenecho-e"${GREEN}✅ 主机名配置成功,当前主机名:$(hostname)${RESET}"elseecho-e"${RED}❌ 主机名配置失败,正在重试...${RESET}"hostnamectl set-hostname$HOST_NAMEif[$?-eq0];thenecho-e"${GREEN}✅ 重试成功,当前主机名:$(hostname)${RESET}"elseecho-e"${RED}❌ 重试失败,请手动执行 hostnamectl set-hostname 主机名 配置${RESET}"fificp/etc/hosts /etc/hosts.bak.$(date+%Y%m%d)IP_ADDR=`hostname-I|awk'{print $1}'`cat/etc/hostsEOF$IP_ADDR$HOST_NAMEEOFecho-e"${GREEN}✅ 已写入 /etc/hosts${RESET}"cat/etc/hosts# 配置完成,返回菜单read-p"按回车键返回配置菜单..."back_menu main_menu}# 2. 配置静态IP(序号2)config_ip(){echo-e"\n${GREEN}【配置静态IP】${RESET}"read-p"请输入网卡名(当前自动识别:$ETH,直接回车使用默认):"new_ethETH=

更多文章