当前位置: 首页 > news >正文

网站首页怎么制作过程如何做网站链接使用

网站首页怎么制作过程,如何做网站链接使用,环球资源网网站特色,网站没排名要怎么做CentOS、Ubuntu、Rocky系统初始化脚本 Shell脚本源码地址#xff1a; Gitee#xff1a;https://gitee.com/raymond9/shell Github#xff1a;https://github.com/raymond999999/shell 可以去上面的Gitee或Github仓库代码拉取脚本。 版本功能v6版更新内容1.由于CentOS 6…CentOS、Ubuntu、Rocky系统初始化脚本 Shell脚本源码地址 Giteehttps://gitee.com/raymond9/shell Githubhttps://github.com/raymond999999/shell 可以去上面的Gitee或Github仓库代码拉取脚本。 版本功能v6版更新内容1.由于CentOS 6和8官方已经停止支持也就移除了其相关内容2…分别有reset_v6_1版本镜像仓库采用sed直接替换网址方式修改ip地址采用nmcli命令方式和reset_v6_2版本镜像仓库和修改ip地址采用配置文件方式3.reset_v6_1添加了CentOS Stream 9用Perl语言更改镜像源的方法优化了某些镜像仓库失效的bug修改了某些bug。v5版更新内容1.优化了某些镜像仓库失效的bug2.CentOS stream 9和Rocky 9修改ip的方式更改做了相应的修改3.分别有reset_v5_1版本镜像仓库采用sed直接替换网址方式修改ip地址采用nmcli命令方式和reset_v5_2版本镜像仓库和修改ip地址采用配置文件方式4.把设置PS1、设置默认文本编辑器为vim和设置history格式单独分开5.修改了某些bug。v4版更新内容1.添加对CentOS stream 9、Rocky 9和Ubuntu 22.04系统的支持2.添加Ubuntu 22.04修改IP地址和网关地址、双网卡更改IP地址3.添加禁用ctrlaltdel重启功能4.修改了某些bug。v3版更新内容1.添加双网卡更改IP地址2.添加设置系统时区。v2版更新内容1.添加对CentOS stream 8系统支持添加了CentOS stream 8镜像仓库2.由于CentOS 8已被废弃修改成centos-vault的历史镜像仓库3.优化Ubuntu 20.04禁用swap不生效的问题。v1版支持功能1.支持CentOS 6/7/8、Ubuntu 18.04/20.04、Rocky 8系统2.支持功能禁用SELinux、关闭防火墙、优化SSH、设置系统别名、设置vimrc配置文件、设置软件包仓库、Minimal安装建议安装软件、安装邮件服务并配置邮件、更改SSH端口号、修改网卡名、修改IP地址和网关地址、设置主机名、设置PS1和系统环境变量、禁用SWAP、优化内核参数、优化资源限制参数、Ubuntu设置root用户登录、Ubuntu卸载无用软件包。 下面是reset_v6_1脚本内容 [rootrocky9 ~]# cat reset_v6_1.sh #!/bin/bash # #*************************************************************************************************** #Author: Raymond #QQ: 88563128 #Date: 2023-11-15 #FileName: reset_v6_1.sh #URL: raymond.blog.csdn.net #Description: reset for CentOS 7 CentOS Stream 8/9 Ubuntu 18.04/20.04/22.04 Rocky 8/9 #Copyright (C): 2023 All rights reserved #*************************************************************************************************** COLORecho -e \\033[01;31m END\033[0mos(){OS_IDsed -rn /^NAME/s.*([[:alpha:]]).*$\1p /etc/os-releaseOS_NAMEsed -rn /^NAME/s.*([[:alpha:]]) (.*)$\2p /etc/os-releaseOS_RELEASEsed -rn /^VERSION_ID/s.*?([0-9.])?\1p /etc/os-releaseOS_RELEASE_VERSIONsed -rn /^VERSION_ID/s.*?([0-9])\.?.*?\1p /etc/os-release }disable_selinux(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenif [ getenforce Enforcing ];thensed -ri.bak s/^(SELINUX).*/\1disabled/ /etc/selinux/config${COLOR}${OS_ID} ${OS_RELEASE} SELinux已禁用,请重新启动系统后才能生效!${END}else${COLOR}${OS_ID} ${OS_RELEASE} SELinux已被禁用,不用设置!${END}fielse${COLOR}${OS_ID} ${OS_RELEASE} SELinux默认没有安装,不用设置!${END}fi }disable_firewall(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenrpm -q firewalld /dev/null { systemctl disable --now firewalld /dev/null; ${COLOR}${OS_ID} ${OS_RELEASE} Firewall防火墙已关闭!${END}; } || ${COLOR}${OS_ID} ${OS_RELEASE} iptables防火墙已关闭!${END}elsedpkg -s ufw /dev/null { systemctl disable --now ufw /dev/null; ${COLOR}${OS_ID} ${OS_RELEASE} ufw防火墙已关闭!${END}; } || ${COLOR}${OS_ID} ${OS_RELEASE} 没有ufw防火墙服务,不用关闭${END}fi }optimization_sshd(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thensed -ri.bak -e s/^#(UseDNS).*/\1 no/ -e s/^(GSSAPIAuthentication).*/\1 no/ /etc/ssh/sshd_configelsesed -ri.bak -e s/^#(UseDNS).*/\1 no/ -e s/^#(GSSAPIAuthentication).*/\1 no/ /etc/ssh/sshd_configfisystemctl restart sshd${COLOR}${OS_ID} ${OS_RELEASE} SSH已优化完成!${END} }set_centos_alias(){if [ ${OS_RELEASE_VERSION} 7 -o ${OS_RELEASE_VERSION} 8 ];thencat ~/.bashrc -EOF alias cdnetcd /etc/sysconfig/network-scripts alias vie0vim /etc/sysconfig/network-scripts/ifcfg-eth0 alias vie1vim /etc/sysconfig/network-scripts/ifcfg-eth1 alias scandiskecho - - - /sys/class/scsi_host/host0/scan;echo - - - /sys/class/scsi_host/host1/scan;echo - - - /sys/class/scsi_host/host2/scan EOFelsecat ~/.bashrc -EOF alias cdnetcd /etc/NetworkManager/system-connections alias vie0vim /etc/NetworkManager/system-connections/eth0.nmconnection alias vie1vim /etc/NetworkManager/system-connections/eth1.nmconnection alias scandiskecho - - - /sys/class/scsi_host/host0/scan;echo - - - /sys/class/scsi_host/host1/scan;echo - - - /sys/class/scsi_host/host2/scan EOFfi${COLOR}${OS_ID} ${OS_RELEASE} 系统别名已设置成功,请重新登陆后生效!${END} }set_ubuntu_alias(){cat ~/.bashrc -EOF alias cdnetcd /etc/netplan alias scandiskecho - - - /sys/class/scsi_host/host0/scan;echo - - - /sys/class/scsi_host/host1/scan;echo - - - /sys/class/scsi_host/host2/scan EOF${COLOR}${OS_ID} ${OS_RELEASE} 系统别名已设置成功,请重新登陆后生效!${END} }set_alias(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenif grep -Eqi (.*cdnet|.*vie0|.*vie1|.*scandisk) ~/.bashrc;thensed -i -e /.*cdnet/d -e /.*vie0/d -e /.*vie1/d -e /.*scandisk/d ~/.bashrcset_centos_aliaselseset_centos_aliasfifiif [ ${OS_ID} Ubuntu ];thenif grep -Eqi (.*cdnet|.*scandisk) ~/.bashrc;thensed -i -e /.*cdnet/d -e /.*scandisk/d ~/.bashrcset_ubuntu_aliaselseset_ubuntu_aliasfifi }set_vimrc(){read -p 请输入作者名: AUTHORread -p 请输入QQ号: QQread -p 请输入网址: V_URLcat ~/.vimrc -EOF set ts4 set expandtab set ignorecase set cursorline set autoindent autocmd BufNewFile *.sh exec :call SetTitle() func SetTitle()if expand(%:e) shcall setline(1,#!/bin/bash)call setline(2,#)call setline(3,#**********************************************************************************************)call setline(4,#Author: ${AUTHOR})call setline(5,#QQ: ${QQ})call setline(6,#Date: .strftime(%Y-%m-%d))call setline(7,#FileName: .expand(%))call setline(8,#URL: ${V_URL})call setline(9,#Description: The test script)call setline(10,#Copyright (C): .strftime(%Y). All rights reserved)call setline(11,#*********************************************************************************************)call setline(12,)endif endfunc autocmd BufNewFile * normal G EOF${COLOR}${OS_ID} ${OS_RELEASE} vimrc设置完成,请重新系统启动才能生效!${END} }aliyun(){URLmirrors.aliyun.com }huawei(){URLrepo.huaweicloud.com }tencent(){URLmirrors.tencent.com }tuna(){URLmirrors.tuna.tsinghua.edu.cn }netease(){URLmirrors.163.com }sohu(){URLmirrors.sohu.com }nju(){URLmirrors.nju.edu.cn }ustc(){URLmirrors.ustc.edu.cn }sjtu(){URLmirrors.sjtug.sjtu.edu.cn }set_yum_rocky8_9(){sed -i.bak -e s|^mirrorlist|#mirrorlist|g -e s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://${URL}/rocky|g /etc/yum.repos.d/[Rr]ocky*.repo${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_yum_rocky8_9_2(){sed -i.bak -e s|^mirrorlist|#mirrorlist|g -e s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://${URL}/rockylinux|g /etc/yum.repos.d/[Rr]ocky*.repo${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_yum_centos_stream9(){PERL_FILEupdate_mirror.plif [ ! -e ${PERL_FILE} ];then${COLOR}缺少${PERL_FILE}文件${END}exitelse${COLOR}${PERL_FILE}文件已准备好继续后续配置${END} firpm -q perl /dev/null || { ${COLOR}安装perl工具,请稍等...${END};yum -y install perl /dev/null; }perl ./update_mirror.pl /etc/yum.repos.d/centos*.repo${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_yum_centos_stream8(){sed -i.bak -e s|^mirrorlist|#mirrorlist|g -e s|^#baseurlhttp://mirror.centos.org/$contentdir|baseurlhttps://${URL}/centos|g /etc/yum.repos.d/CentOS-*.repo${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_epel_rocky_centos8_9(){rpm -q epel-release /dev/null || { ${COLOR}安装epel-release工具,请稍等...${END};yum -y install epel-release /dev/null; }sed -i.bak -e s|^metalink|#metalink|g -e s|^#baseurlhttps://download.example/pub/epel|baseurlhttps://${URL}/epel|g /etc/yum.repos.d/epel*.repoif [ ${OS_RELEASE_VERSION} 9 ];thensed -i -e s|^enabled1|enabled0|g /etc/yum.repos.d/epel-cisco*.repofi${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }set_epel_2_rocky_centos8_9(){rpm -q epel-release /dev/null || { ${COLOR}安装epel-release工具,请稍等...${END};yum -y install epel-release /dev/null; }sed -i.bak -e s|^metalink|#metalink|g -e s|^#baseurlhttps://download.example/pub/epel|baseurlhttps://${URL}/fedora-epel|g /etc/yum.repos.d/epel*.repoif [ ${OS_RELEASE_VERSION} 9 ];thensed -i -e s|^enabled1|enabled0|g /etc/yum.repos.d/epel-cisco*.repofi${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }set_epel_3_rocky_centos8_9(){rpm -q epel-release /dev/null || { ${COLOR}安装epel-release工具,请稍等...${END};yum -y install epel-release /dev/null; }sed -i.bak -e s|^metalink|#metalink|g -e s|^#baseurlhttps://download.example/pub/epel|baseurlhttps://${URL}/fedora/epel|g /etc/yum.repos.d/epel*.repoif [ ${OS_RELEASE_VERSION} 9 ];thensed -i -e s|^enabled1|enabled0|g /etc/yum.repos.d/epel-cisco*.repofi${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }set_yum_centos7(){sed -i.bak -e s|^mirrorlist|#mirrorlist|g -e s|^#baseurlhttp://mirror.centos.org|baseurlhttps://${URL}|g /etc/yum.repos.d/CentOS-*.repo${COLOR}更新镜像源中,请稍等...${END}yum clean all /dev/nullyum makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_epel_centos7(){rpm -q epel-release /dev/null || { ${COLOR}安装epel-release工具,请稍等...${END};yum -y install epel-release /dev/null; }sed -i.bak -e s!^metalink!#metalink!g -e s!^#baseurl!baseurl!g -e s!https\?://download\.fedoraproject\.org/pub/epel!https://${URL}/epel!g -e s!https\?://download\.example/pub/epel!https://${URL}/epel!g /etc/yum.repos.d/epel*.repo${COLOR}更新镜像源中,请稍等...${END}yum clean all /dev/nullyum makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }set_epel_2_centos7(){rpm -q epel-release /dev/null || { ${COLOR}安装epel-release工具,请稍等...${END};yum -y install epel-release /dev/null; }sed -i.bak -e s!^metalink!#metalink!g -e s!^#baseurl!baseurl!g -e s!https\?://download\.fedoraproject\.org/pub/epel!https://${URL}/fedora-epel!g -e s!https\?://download\.example/pub/epel!https://${URL}/fedora-epel!g /etc/yum.repos.d/epel*.repo${COLOR}更新镜像源中,请稍等...${END}yum clean all /dev/nullyum makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }set_epel_3_centos7(){rpm -q epel-release /dev/null || { ${COLOR}安装epel-release工具,请稍等...${END};yum -y install epel-release /dev/null; }sed -i.bak -e s!^metalink!#metalink!g -e s!^#baseurl!baseurl!g -e s!https\?://download\.fedoraproject\.org/pub/epel!https://${URL}/fedora/epel!g -e s!https\?://download\.example/pub/epel!https://${URL}/fedora/epel!g /etc/yum.repos.d/epel*.repo${COLOR}更新镜像源中,请稍等...${END}yum clean all /dev/nullyum makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }rocky8_9_base_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)网易镜像源 3)搜狐镜像源 4)南京大学镜像源 5)中科大镜像源 6)上海交通大学镜像源 7)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-7): NUMcase ${NUM} in1)aliyunset_yum_rocky8_9_2;;2)neteaseset_yum_rocky8_9;;3)sohuset_yum_rocky8_9;;4)njuset_yum_rocky8_9;;5)ustcset_yum_rocky8_9;;6)sjtuset_yum_rocky8_9;;7)break;;*)${COLOR}输入错误,请输入正确的数字(1-7)!${END};;esacdone }centos_stream9_base_menu(){${COLOR}由于CentOS Stream 9镜像源是Perl语言实现的在更改镜像源之前先确保把update_mirror.pl文件和reset脚本放在同一个目录下否则后面程序会退出默认的CentOS Stream 9镜像源设置的是阿里云要修改镜像源请去update_mirror.pl文件里修改url变量${END}sleep 10set_yum_centos_stream9 }centos_stream8_base_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)华为镜像源 3)腾讯镜像源 4)清华镜像源 5)网易镜像源 6)南京大学镜像源 7)中科大镜像源 8)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-8): NUMcase ${NUM} in1)aliyunset_yum_centos_stream8;;2)huaweiset_yum_centos_stream8;;3)tencentset_yum_centos_stream8;;4)tunaset_yum_centos_stream8;;5)neteaseset_yum_centos_stream8;;6)njuset_yum_centos_stream8;;7)ustcset_yum_centos_stream8;;8)break;;*)${COLOR}输入错误,请输入正确的数字(1-8)!${END};;esacdone }centos7_base_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)华为镜像源 3)腾讯镜像源 4)清华镜像源 5)网易镜像源 6)南京大学镜像源 7)中科大镜像源 8)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-8): NUMcase ${NUM} in1)aliyunset_yum_centos7;;2)huaweiset_yum_centos7;;3)tencentset_yum_centos7;;4)tunaset_yum_centos7;;5)neteaseset_yum_centos7;;6)njuset_yum_centos7;;7)ustcset_yum_centos7;;8)break;;*)${COLOR}输入错误,请输入正确的数字(1-8)!${END};;esacdone }rocky_centos8_9_epel_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)华为镜像源 3)腾讯镜像源 4)清华镜像源 5)搜狐镜像源 6)南京大学镜像源 7)中科大镜像源 8)上海交通大学镜像源 9)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-9): NUMcase ${NUM} in1)aliyunset_epel_rocky_centos8_9;;2)huaweiset_epel_rocky_centos8_9;;3)tencentset_epel_rocky_centos8_9;;4)tunaset_epel_rocky_centos8_9;;5)sohuset_epel_2_rocky_centos8_9;;6)njuset_epel_rocky_centos8_9;;7)ustcset_epel_rocky_centos8_9;;8)sjtuset_epel_3_rocky_centos8_9;;9)break;;*)${COLOR}输入错误,请输入正确的数字(1-9)!${END};;esacdone }centos7_epel_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)华为镜像源 3)腾讯镜像源 4)清华镜像源 5)搜狐镜像源 6)南京大学镜像源 7)中科大镜像源 8)上海交通大学镜像源 9)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-9): NUMcase ${NUM} in1)aliyunset_epel_centos7;;2)huaweiset_epel_centos7;;3)tencentset_epel_centos7;;4)tunaset_epel_centos7;;5)sohuset_epel_2_centos7;;6)njuset_epel_centos7;;7)ustcset_epel_centos7;;8)sjtuset_epel_3_centos7;;9)break;;*)${COLOR}输入错误,请输入正确的数字(1-9)!${END};;esacdone }rocky_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)base仓库 2)epel仓库 3)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-3): NUMcase ${NUM} in1)rocky8_9_base_menu;;2)rocky_centos8_9_epel_menu;;3)break;;*)${COLOR}输入错误,请输入正确的数字(1-3)!${END};;esacdone }centos_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)base仓库 2)epel仓库 3)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-3): NUMcase ${NUM} in1)if [ ${OS_NAME} Stream ];thenif [ ${OS_RELEASE_VERSION} 8 ];thencentos_stream8_base_menuelsecentos_stream9_base_menufielsecentos7_base_menufi;;2)if [ ${OS_RELEASE_VERSION} 8 -o ${OS_RELEASE_VERSION} 9 ];thenrocky_centos8_9_epel_menuelsecentos7_epel_menufi;;3)break;;*)${COLOR}输入错误,请输入正确的数字(1-3)!${END};;esacdone }set_apt(){OLD_URLsed -rn s^deb http://(.*)/ubuntu/? $(lsb_release -cs) main.*\1p /etc/apt/sources.listsed -i.bak s/${OLD_URL}/${URL}/g /etc/apt/sources.listif [ ${OS_RELEASE_VERSION} 18 ];thenSEC_URLsed -rn s^deb http://(.*)/ubuntu $(lsb_release -cs)-security main.*\1p /etc/apt/sources.listsed -i.bak s/${SEC_URL}/${URL}/g /etc/apt/sources.listfi${COLOR}更新镜像源中,请稍等...${END}apt update /dev/null${COLOR}${OS_ID} ${OS_RELEASE} APT源设置完成!${END} }apt_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)华为镜像源 3)腾讯镜像源 4)清华镜像源 5)网易镜像源 6)南京大学镜像源 7)中科大镜像源 8)上海交通大学镜像源 9)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-9): NUMcase ${NUM} in1)aliyunset_apt;;2)huaweiset_apt;;3)tencentset_apt;;4)tunaset_apt;;5)neteaseset_apt;;6)njuset_apt;;7)ustcset_apt;;8)sjtuset_apt;;9)break;;*)${COLOR}输入错误,请输入正确的数字(1-9)!${END};;esacdone }set_mirror_repository(){if [ ${OS_ID} CentOS ];thencentos_menuelif [ ${OS_ID} Rocky ];thenrocky_menuelseapt_menufi }centos_minimal_install(){${COLOR}开始安装“Minimal安装建议安装软件包”,请稍等......${END}yum -y install gcc make autoconf gcc-c glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip nfs-utils man-pages /dev/null${COLOR}${OS_ID} ${OS_RELEASE} Minimal安装建议安装软件包已安装完成!${END} }ubuntu_minimal_install(){${COLOR}开始安装“Minimal安装建议安装软件包”,请稍等......${END}apt -y install iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev gcc openssh-server iotop unzip zip${COLOR}${OS_ID} ${OS_RELEASE} Minimal安装建议安装软件包已安装完成!${END} }minimal_install(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ] /dev/null;thencentos_minimal_installelseubuntu_minimal_installfi }set_mail(){ if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenrpm -q postfix /dev/null || { yum -y install postfix /dev/null; systemctl enable --now postfix /dev/null; }rpm -q mailx /dev/null || yum -y install mailx /dev/nullelsedpkg -s mailutils /dev/null || apt -y install mailutilsfiread -p 请输入邮箱地址: MAILread -p 请输入邮箱授权码: AUTHSMTPecho ${MAIL} |awk -F {print $2}cat ~/.mailrc -EOF set from${MAIL} set smtpsmtp.${SMTP} set smtp-auth-user${MAIL} set smtp-auth-password${AUTH} set smtp-authlogin set ssl-verifyignore EOF${COLOR}${OS_ID} ${OS_RELEASE} 邮件设置完成,请重新登录后才能生效!${END} }set_sshd_port(){disable_selinuxdisable_firewallread -p 请输入端口号: PORTsed -i s/#Port 22/Port ${PORT}/ /etc/ssh/sshd_config${COLOR}${OS_ID} ${OS_RELEASE} 更改SSH端口号已完成,请重启系统后生效!${END} }set_centos_eth(){#修改网卡名称配置文件if grep -Eqi (net\.ifnames|biosdevname) /etc/default/grub;then${COLOR}${OS_ID} ${OS_RELEASE} 网卡名配置文件已修改,不用修改!${END}elsesed -ri.bak /^GRUB_CMDLINE_LINUX/s$ net.ifnames0 biosdevname0 /etc/default/grubgrub2-mkconfig -o /boot/grub2/grub.cfg /dev/null${COLOR}${OS_ID} ${OS_RELEASE} 网卡名已修改成功,请重新启动系统后才能生效!${END}fi }set_ubuntu_eth(){#修改网卡名称配置文件if grep -Eqi (net\.ifnames|biosdevname) /etc/default/grub;then${COLOR}${OS_ID} ${OS_RELEASE} 网卡名配置文件已修改,不用修改!${END}elsesed -ri.bak /^GRUB_CMDLINE_LINUX/s$net.ifnames0 biosdevname0 /etc/default/grubgrub-mkconfig -o /boot/grub/grub.cfg /dev/null${COLOR}${OS_ID} ${OS_RELEASE} 网卡名已修改成功,请重新启动系统后才能生效!${END}fi }set_eth(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenset_centos_ethelseset_ubuntu_ethfi }check_ip(){local IP$1VALID_CHECK$(echo ${IP}|awk -F. $1255$2255$3255$4255{print yes})if echo ${IP}|grep -E ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ /dev/null; thenif [ ${VALID_CHECK} yes ]; thenecho IP ${IP} available!return 0elseecho IP ${IP} not available!return 1fielseecho IP format error!return 1fi }set_centos_ip(){ETHNAMEip addr | awk -F[ :] /^2/{print $3}while true; doread -p 请输入IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: C_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonenmcli connection add type ethernet con-name eth0 ifname eth0 ipv4.method manual ipv4.address ${IP}/${C_PREFIX} ipv4.gateway ${GATEWAY} ipv4.dns 223.5.5.5,180.76.76.76 autoconnect yes /dev/null${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,10秒后,机器会自动重启!${END}sleep 10nmcli connection delete ${ETHNAME} /dev/nullreboot }set_ubuntu_ip(){while true; doread -p 请输入IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonecat /etc/netplan/01-netcfg.yaml -EOF network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaddresses: [${IP}/${U_PREFIX}] gateway4: ${GATEWAY}nameservers:addresses: [223.5.5.5, 180.76.76.76] EOF${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_ubuntu_22_ip(){while true; doread -p 请输入IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonecat /etc/netplan/00-installer-config.yaml -EOF network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaddresses: [${IP}/${U_PREFIX}]routes:- to: defaultvia: ${GATEWAY}nameservers:addresses: [223.5.5.5, 180.76.76.76] EOF${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_ip(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenset_centos_ipelif [ ${OS_RELEASE_VERSION} 18 -o ${OS_RELEASE_VERSION} 20 ];thenset_ubuntu_ip elseset_ubuntu_22_ipfi }set_dual_centos_ip(){ETHNAMEip addr | awk -F[ :] /^2/{print $3}ETHNAME2ip addr | awk -F[ :] /^3/{print $3}while true; doread -p 请输入第一块网卡IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: C_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonenmcli connection add type ethernet con-name eth0 ifname eth0 ipv4.method manual ipv4.address ${IP}/${C_PREFIX} ipv4.gateway ${GATEWAY} ipv4.dns 223.5.5.5,180.76.76.76 autoconnect yes /dev/nullwhile true; doread -p 请输入第二块网卡IP地址: IP2check_ip ${IP2}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: C_PREFIX2nmcli connection add type ethernet con-name eth1 ifname eth1 ipv4.method manual ipv4.address ${IP2}/${C_PREFIX2} autoconnect yes /dev/null${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,10秒后,机器会自动重启!${END}sleep 10nmcli connection delete ${ETHNAME} /dev/null; nmcli connection delete ${ETHNAME2} /dev/nullreboot }set_dual_ubuntu_ip(){while true; doread -p 请输入第一块网卡IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonewhile true; doread -p 请输入第二块网卡IP地址: IP2check_ip ${IP2}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIX2cat /etc/netplan/01-netcfg.yaml -EOF network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaddresses: [${IP}/${U_PREFIX}] gateway4: ${GATEWAY}nameservers:addresses: [223.5.5.5, 180.76.76.76]eth1:dhcp4: nodhcp6: noaddresses: [${IP2}/${U_PREFIX2}] EOF${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_dual_ubuntu_22_ip(){while true; doread -p 请输入第一块网卡IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonewhile true; doread -p 请输入第二块网卡IP地址: IP2check_ip ${IP2}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIX2cat /etc/netplan/00-installer-config.yaml -EOF network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaddresses: [${IP}/${U_PREFIX}] routes:- to: defaultvia: ${GATEWAY}nameservers:addresses: [223.5.5.5, 180.76.76.76]eth1:dhcp4: nodhcp6: noaddresses: [${IP2}/${U_PREFIX2}] EOF${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_dual_ip(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenset_dual_centos_ipelif [ ${OS_RELEASE_VERSION} 18 -o ${OS_RELEASE_VERSION} 20 ];thenset_dual_ubuntu_ip elseset_dual_ubuntu_22_ipfi }set_hostname(){read -p 请输入主机名: HOSThostnamectl set-hostname ${HOST}${COLOR}${OS_ID} ${OS_RELEASE} 主机名设置成功,请重新登录生效!${END} }red(){P_COLOR31 }green(){P_COLOR32 }yellow(){P_COLOR33 }blue(){P_COLOR34 }violet(){P_COLOR35 }cyan_blue(){P_COLOR36 }random_color(){P_COLOR$[RANDOM%731] }centos_ps1(){C_PS1$(echo PS1\[\e[1;${P_COLOR}m\][\u\h \W]\\$ \[\e[0m\] ~/.bashrc) }ubuntu_ps1(){U_PS1$(echo PS1\[\e[1;${P_COLOR}m\]${debian_chroot:($debian_chroot)}\u\h:\w\\$ \[\e[0m\] ~/.bashrc) }set_ps1_env(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenif grep -Eqi ^PS1 ~/.bashrc;thensed -i /^PS1/d ~/.bashrccentos_ps1elsecentos_ps1fifiif [ ${OS_ID} Ubuntu ];thenif grep -Eqi ^PS1 ~/.bashrc;thensed -i /^PS1/d ~/.bashrcubuntu_ps1elseubuntu_ps1fifi }set_ps1(){TIPS${COLOR}${OS_ID} ${OS_RELEASE} PS1设置成功,请重新登录生效!${END}while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)31 红色 2)32 绿色 3)33 黄色 4)34 蓝色 5)35 紫色 6)36 青色 7)随机颜色 8)退出 EOFecho -e \E[0mread -p 请输入颜色编号(1-8): NUMcase ${NUM} in1)redset_ps1_env${TIPS};;2)greenset_ps1_env${TIPS};;3)yellowset_ps1_env${TIPS};;4)blueset_ps1_env${TIPS};;5)violetset_ps1_env${TIPS};;6)cyan_blueset_ps1_env${TIPS};;7)random_colorset_ps1_env${TIPS};;8)break;;*)${COLOR}输入错误,请输入正确的数字(1-8)!${END};;esacdone }set_vim(){echo export EDITORvim ~/.bashrc }set_vim_env(){if grep -Eqi .*EDITOR ~/.bashrc;thensed -i /.*EDITOR/d ~/.bashrcset_vimelseset_vimfi${COLOR}${OS_ID} ${OS_RELEASE} 默认文本编辑器设置成功,请重新登录生效!${END} }set_history(){echo export HISTTIMEFORMAT%F %T ~/.bashrc }set_history_env(){if grep -Eqi .*HISTTIMEFORMAT ~/.bashrc;thensed -i /.*HISTTIMEFORMAT/d ~/.bashrcset_historyelseset_historyfi${COLOR}${OS_ID} ${OS_RELEASE} history格式设置成功,请重新登录生效!${END} }set_swap(){sed -ri s/.*swap.*/#/ /etc/fstabif [ ${OS_ID} Ubuntu ];thenif [ ${OS_RELEASE_VERSION} 20 -o ${OS_RELEASE_VERSION} 22 ];thenSD_NAMElsblk|awk -F[ └─] /SWAP/{printf $3}systemctl mask dev-${SD_NAME}.swap /dev/nullfifiswapoff -a${COLOR}${OS_ID} ${OS_RELEASE} 禁用swap成功!${END} }set_kernel(){cat /etc/sysctl.conf -EOF # Controls source route verification net.ipv4.conf.default.rp_filter 1 net.ipv4.ip_nonlocal_bind 1 net.ipv4.ip_forward 1# Do not accept source routing net.ipv4.conf.default.accept_source_route 0# Controls the System Request debugging functionality of the kernel kernel.sysrq 0# Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid 1# Controls the use of TCP syncookies net.ipv4.tcp_syncookies 1# Disable netfilter on bridges. net.bridge.bridge-nf-call-ip6tables 0 net.bridge.bridge-nf-call-iptables 0 net.bridge.bridge-nf-call-arptables 0# Controls the default maxmimum size of a mesage queue kernel.msgmnb 65536# Controls the maximum size of a message, in bytes kernel.msgmax 65536# Controls the maximum shared segment size, in bytes kernel.shmmax 68719476736# Controls the maximum number of shared memory segments, in pages kernel.shmall 4294967296# TCP kernel paramater net.ipv4.tcp_mem 786432 1048576 1572864 net.ipv4.tcp_rmem 4096 87380 4194304 net.ipv4.tcp_wmem 4096 16384 4194304 net.ipv4.tcp_window_scaling 1 net.ipv4.tcp_sack 1# socket buffer net.core.wmem_default 8388608 net.core.rmem_default 8388608 net.core.rmem_max 16777216 net.core.wmem_max 16777216 net.core.netdev_max_backlog 262144 net.core.somaxconn 20480 net.core.optmem_max 81920# TCP conn net.ipv4.tcp_max_syn_backlog 262144 net.ipv4.tcp_syn_retries 3 net.ipv4.tcp_retries1 3 net.ipv4.tcp_retries2 15# tcp conn reuse net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_tw_recycle 0 net.ipv4.tcp_fin_timeout 30 net.ipv4.tcp_timestamps 0net.ipv4.tcp_max_tw_buckets 20000 net.ipv4.tcp_max_orphans 3276800 net.ipv4.tcp_synack_retries 1 net.ipv4.tcp_syncookies 1# keepalive conn net.ipv4.tcp_keepalive_time 300 net.ipv4.tcp_keepalive_intvl 30 net.ipv4.tcp_keepalive_probes 3 net.ipv4.ip_local_port_range 10001 65000# swap vm.overcommit_memory 0 vm.swappiness 10#net.ipv4.conf.eth1.rp_filter 0 #net.ipv4.conf.lo.arp_ignore 1 #net.ipv4.conf.lo.arp_announce 2 #net.ipv4.conf.all.arp_ignore 1 #net.ipv4.conf.all.arp_announce 2 EOFsysctl -p /dev/null${COLOR}${OS_ID} ${OS_RELEASE} 优化内核参数成功!${END} }set_limits(){cat /etc/security/limits.conf -EOF root soft core unlimited root hard core unlimited root soft nproc 1000000 root hard nproc 1000000 root soft nofile 1000000 root hard nofile 1000000 root soft memlock 32000 root hard memlock 32000 root soft msgqueue 8192000 root hard msgqueue 8192000 EOF${COLOR}${OS_ID} ${OS_RELEASE} 优化资源限制参数成功!${END} }set_localtime(){ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeecho Asia/Shanghai /etc/timezoneif [ ${OS_ID} Ubuntu ];thencat /etc/default/locale -EOF LC_TIMEen_DK.UTF-8 EOFfi${COLOR}${OS_ID} ${OS_RELEASE} 系统时区已设置成功,请重启系统后生效!${END} }disable_restart(){if [ -f /usr/lib/systemd/system/ctrl-alt-del.target ];thencp /usr/lib/systemd/system/ctrl-alt-del.target{,.bak}rm -f /usr/lib/systemd/system/ctrl-alt-del.target${COLOR}${OS_ID} ${OS_RELEASE} 禁用ctrlaltdel重启处理成功!${END}else${COLOR}${OS_ID} ${OS_RELEASE} 禁用ctrlaltdel已处理!${END}fi }set_root_login(){read -p 请输入密码: PASSWORDecho ${PASSWORD} |sudo -S sed -ri s#(PermitRootLogin )prohibit-password\1yes /etc/ssh/sshd_configsudo systemctl restart sshdsudo -S passwd root -EOF ${PASSWORD} ${PASSWORD} EOF${COLOR}${OS_ID} ${OS_RELEASE} root用户登录已设置完成,请重新登录后生效!${END} }ubuntu_remove(){apt purge ufw lxd lxd-client lxcfs liblxc-common${COLOR}${OS_ID} ${OS_RELEASE} 无用软件包卸载完成!${END} }menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF ******************************************************************** * 初始化脚本菜单 * * 1.禁用SELinux 15.设置PS1(请进入选择颜色) * * 2.关闭防火墙 16.设置默认文本编辑器为vim * * 3.优化SSH 17.设置history格式 * * 4.设置系统别名 18.禁用SWAP * * 5.1-4全设置 19.优化内核参数 * * 6.设置vimrc配置文件 20.优化资源限制参数 * * 7.设置镜像仓库 21.设置系统时区 * * 8.Minimal安装建议安装软件 22.禁用ctrlaltdel重启 * * 9.安装邮件服务并配置邮件 23.Ubuntu设置root用户登录 * * 10.更改SSH端口号 24.Ubuntu卸载无用软件包 * * 11.修改网卡名 25.重启系统 * * 12.修改IP地址和网关地址(单网卡) 26.关机 * * 13.修改IP地址和网关地址(双网卡) 27.退出 * * 14.设置主机名 * ******************************************************************** EOFecho -e \E[0mread -p 请选择相应的编号(1-27): choicecase ${choice} in1)disable_selinux;;2)disable_firewall;;3)optimization_sshd;;4)set_alias;;5)disable_selinuxdisable_firewalloptimization_sshdset_alias;;6)set_vimrc;;7)set_mirror_repository;;8)minimal_install;;9)set_mail;;10)set_sshd_port;;11)set_eth;;12)set_ip;;13)set_dual_ip;;14)set_hostname;;15)set_ps1;;16)set_vim_env;;17)set_history_env;;18)set_swap;;19)set_kernel;;20)set_limits;;21)set_localtime;;22)disable_restart;;23)set_root_login;;24)ubuntu_remove;;25)reboot;;26)shutdown -h now;;27)break;;*)${COLOR}输入错误,请输入正确的数字(1-27)!${END};;esacdone }main(){osmenu }mainCentOS Stream 9修改镜像仓库需要下面的perl脚本。 [rootrocky9 ~]# cat update_mirror.pl #!/usr/bin/perluse strict; use warnings; use autodie;# 要修改镜像源请去修改url变量 my $url mirrors.aliyun.com; my $mirrors https://$url/centos-stream;if (ARGV 1) {die Usage: $0 filename1 filename2 ...\n; }while (my $filename shift ARGV) {my $backup_filename $filename . .bak;rename $filename, $backup_filename;open my $input, , $backup_filename;open my $output, , $filename;while ($input) {s/^metalink/# metalink/;if (m/^name/) {my (undef, $repo, $arch) split /-/;$repo ~ s/^\s|\s$//g;($arch defined $arch ? lc($arch) : ) ~ s/^\s|\s$//g;if ($repo ~ /^Extras/) {$_ . baseurl${mirrors}/SIGs/\$releasever-stream/extras . ($arch eq source ? /${arch}/ : /\$basearch/) . extras-common\n;} else {$_ . baseurl${mirrors}/\$releasever-stream/$repo . ($arch eq source ? / : /\$basearch/) . ($arch ne ? ${arch}/tree/ : os) . \n;}}print $output $_;} }下面是reset_v6_2脚本内容 [rootrocky9 ~]# cat reset_v6_2.sh #!/bin/bash # #*************************************************************************************************** #Author: Raymond #QQ: 88563128 #Date: 2023-11-15 #FileName: reset_v6_2.sh #URL: raymond.blog.csdn.net #Description: reset for CentOS 7 CentOS Stream 8/9 Ubuntu 18.04/20.04/22.04 Rocky 8/9 #Copyright (C): 2023 All rights reserved #*************************************************************************************************** COLORecho -e \\033[01;31m END\033[0mos(){OS_IDsed -rn /^NAME/s.*([[:alpha:]]).*$\1p /etc/os-releaseOS_NAMEsed -rn /^NAME/s.*([[:alpha:]]) (.*)$\2p /etc/os-releaseOS_RELEASEsed -rn /^VERSION_ID/s.*?([0-9.])?\1p /etc/os-releaseOS_RELEASE_VERSIONsed -rn /^VERSION_ID/s.*?([0-9])\.?.*?\1p /etc/os-release }disable_selinux(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenif [ getenforce Enforcing ];thensed -ri.bak s/^(SELINUX).*/\1disabled/ /etc/selinux/config${COLOR}${OS_ID} ${OS_RELEASE} SELinux已禁用,请重新启动系统后才能生效!${END}else${COLOR}${OS_ID} ${OS_RELEASE} SELinux已被禁用,不用设置!${END}fielse${COLOR}${OS_ID} ${OS_RELEASE} SELinux默认没有安装,不用设置!${END}fi }disable_firewall(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenrpm -q firewalld /dev/null { systemctl disable --now firewalld /dev/null; ${COLOR}${OS_ID} ${OS_RELEASE} Firewall防火墙已关闭!${END}; } || ${COLOR}${OS_ID} ${OS_RELEASE} iptables防火墙已关闭!${END}elsedpkg -s ufw /dev/null { systemctl disable --now ufw /dev/null; ${COLOR}${OS_ID} ${OS_RELEASE} ufw防火墙已关闭!${END}; } || ${COLOR}${OS_ID} ${OS_RELEASE} 没有ufw防火墙服务,不用关闭${END}fi }optimization_sshd(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thensed -ri.bak -e s/^#(UseDNS).*/\1 no/ -e s/^(GSSAPIAuthentication).*/\1 no/ /etc/ssh/sshd_configelsesed -ri.bak -e s/^#(UseDNS).*/\1 no/ -e s/^#(GSSAPIAuthentication).*/\1 no/ /etc/ssh/sshd_configfisystemctl restart sshd${COLOR}${OS_ID} ${OS_RELEASE} SSH已优化完成!${END} }set_centos_alias(){if [ ${OS_RELEASE_VERSION} 7 -o ${OS_RELEASE_VERSION} 8 ];thencat ~/.bashrc -EOF alias cdnetcd /etc/sysconfig/network-scripts alias vie0vim /etc/sysconfig/network-scripts/ifcfg-eth0 alias vie1vim /etc/sysconfig/network-scripts/ifcfg-eth1 alias scandiskecho - - - /sys/class/scsi_host/host0/scan;echo - - - /sys/class/scsi_host/host1/scan;echo - - - /sys/class/scsi_host/host2/scan EOFelsecat ~/.bashrc -EOF alias cdnetcd /etc/NetworkManager/system-connections alias vie0vim /etc/NetworkManager/system-connections/eth0.nmconnection alias vie1vim /etc/NetworkManager/system-connections/eth1.nmconnection alias scandiskecho - - - /sys/class/scsi_host/host0/scan;echo - - - /sys/class/scsi_host/host1/scan;echo - - - /sys/class/scsi_host/host2/scan EOFfi${COLOR}${OS_ID} ${OS_RELEASE} 系统别名已设置成功,请重新登陆后生效!${END} }set_ubuntu_alias(){cat ~/.bashrc -EOF alias cdnetcd /etc/netplan alias scandiskecho - - - /sys/class/scsi_host/host0/scan;echo - - - /sys/class/scsi_host/host1/scan;echo - - - /sys/class/scsi_host/host2/scan EOF${COLOR}${OS_ID} ${OS_RELEASE} 系统别名已设置成功,请重新登陆后生效!${END} }set_alias(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenif grep -Eqi (.*cdnet|.*vie0|.*vie1|.*scandisk) ~/.bashrc;thensed -i -e /.*cdnet/d -e /.*vie0/d -e /.*vie1/d -e /.*scandisk/d ~/.bashrcset_centos_aliaselseset_centos_aliasfifiif [ ${OS_ID} Ubuntu ];thenif grep -Eqi (.*cdnet|.*scandisk) ~/.bashrc;thensed -i -e /.*cdnet/d -e /.*scandisk/d ~/.bashrcset_ubuntu_aliaselseset_ubuntu_aliasfifi }set_vimrc(){read -p 请输入作者名: AUTHORread -p 请输入QQ号: QQread -p 请输入网址: V_URLcat ~/.vimrc -EOF set ts4 set expandtab set ignorecase set cursorline set autoindent autocmd BufNewFile *.sh exec :call SetTitle() func SetTitle()if expand(%:e) shcall setline(1,#!/bin/bash)call setline(2,#)call setline(3,#**********************************************************************************************)call setline(4,#Author: ${AUTHOR})call setline(5,#QQ: ${QQ})call setline(6,#Date: .strftime(%Y-%m-%d))call setline(7,#FileName: .expand(%))call setline(8,#URL: ${V_URL})call setline(9,#Description: The test script)call setline(10,#Copyright (C): .strftime(%Y). All rights reserved)call setline(11,#*********************************************************************************************)call setline(12,)endif endfunc autocmd BufNewFile * normal G EOF${COLOR}${OS_ID} ${OS_RELEASE} vimrc设置完成,请重新系统启动才能生效!${END} }aliyun(){URLmirrors.aliyun.com }huawei(){URLrepo.huaweicloud.com }tencent(){URLmirrors.tencent.com }tuna(){URLmirrors.tuna.tsinghua.edu.cn }netease(){URLmirrors.163.com }sohu(){URLmirrors.sohu.com }nju(){URLmirrors.nju.edu.cn }ustc(){URLmirrors.ustc.edu.cn }sjtu(){URLmirrors.sjtug.sjtu.edu.cn }set_yum_rocky9(){[ -d /etc/yum.repos.d/backup ] || mkdir /etc/yum.repos.d/backup(ls -l /etc/yum.repos.d/ |grep -q repo) mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup || ${COLOR}没有repo文件!${END}cat /etc/yum.repos.d/base.repo -EOF [BaseOS] nameBaseOS baseurlhttps://${URL}/rocky/\$releasever/BaseOS/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-\$releasever[AppStream] nameAppStream baseurlhttps://${URL}/rocky/\$releasever/AppStream/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-\$releasever[extras] nameextras baseurlhttps://${URL}/rocky/\$releasever/extras/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-\$releasever EOF${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_yum_rocky9_2(){[ -d /etc/yum.repos.d/backup ] || mkdir /etc/yum.repos.d/backup(ls -l /etc/yum.repos.d/ |grep -q repo) mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup || ${COLOR}没有repo文件!${END}cat /etc/yum.repos.d/base.repo -EOF [BaseOS] nameBaseOS baseurlhttps://${URL}/rockylinux/\$releasever/BaseOS/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-\$releasever[AppStream] nameAppStream baseurlhttps://${URL}/rockylinux/\$releasever/AppStream/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-\$releasever[extras] nameextras baseurlhttps://${URL}/rockylinux/\$releasever/extras/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-\$releasever EOF${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_yum_rocky8(){[ -d /etc/yum.repos.d/backup ] || mkdir /etc/yum.repos.d/backup(ls -l /etc/yum.repos.d/ |grep -q repo) mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup || ${COLOR}没有repo文件!${END}cat /etc/yum.repos.d/base.repo -EOF [BaseOS] nameBaseOS baseurlhttps://${URL}/rocky/\$releasever/BaseOS/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial[AppStream] nameAppStream baseurlhttps://${URL}/rocky/\$releasever/AppStream/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial[extras] nameextras baseurlhttps://${URL}/rocky/\$releasever/extras/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial EOF${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_yum_rocky8_2(){[ -d /etc/yum.repos.d/backup ] || mkdir /etc/yum.repos.d/backup(ls -l /etc/yum.repos.d/ |grep -q repo) mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup || ${COLOR}没有repo文件!${END}cat /etc/yum.repos.d/base.repo -EOF [BaseOS] nameBaseOS baseurlhttps://${URL}/rockylinux/\$releasever/BaseOS/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial[AppStream] nameAppStream baseurlhttps://${URL}/rockylinux/\$releasever/AppStream/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial[extras] nameextras baseurlhttps://${URL}/rockylinux/\$releasever/extras/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial EOF${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_yum_centos_stream9(){[ -d /etc/yum.repos.d/backup ] || mkdir /etc/yum.repos.d/backup(ls -l /etc/yum.repos.d/ |grep -q repo) mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup || ${COLOR}没有repo文件!${END}cat /etc/yum.repos.d/base.repo -EOF [BaseOS] nameBaseOS baseurlhttps://${URL}/centos-stream/\$stream/BaseOS/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[AppStream] nameAppStream baseurlhttps://${URL}/centos-stream/\$stream/AppStream/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[extras-common] nameextras-common baseurlhttps://${URL}/centos-stream/SIGs/\$stream/extras/\$basearch/extras-common/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial EOF${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_yum_centos_stream8(){[ -d /etc/yum.repos.d/backup ] || mkdir /etc/yum.repos.d/backup(ls -l /etc/yum.repos.d/ |grep -q repo) mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup || ${COLOR}没有repo文件!${END}cat /etc/yum.repos.d/base.repo -EOF [BaseOS] nameBaseOS baseurlhttps://${URL}/centos/\$stream/BaseOS/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[AppStream] nameAppStream baseurlhttps://${URL}/centos/\$stream/AppStream/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[extras] nameextras baseurlhttps://${URL}/centos/\$stream/extras/\$basearch/os/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial EOF${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_epel_rocky_centos8_9(){cat /etc/yum.repos.d/epel.repo -EOF [epel] nameepel baseurlhttps://${URL}/epel/\$releasever/Everything/\$basearch/ gpgcheck1 gpgkeyhttps://${URL}/epel/RPM-GPG-KEY-EPEL-\$releasever EOF${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }set_epel_2_rocky_centos8_9(){cat /etc/yum.repos.d/epel.repo -EOF [epel] nameepel baseurlhttps://${URL}/fedora-epel/\$releasever/Everything/\$basearch/ gpgcheck1 gpgkeyhttps://${URL}/fedora-epel/RPM-GPG-KEY-EPEL-\$releasever EOF${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }set_epel_3_rocky_centos8_9(){cat /etc/yum.repos.d/epel.repo -EOF [epel] nameepel baseurlhttps://${URL}/fedora/epel/\$releasever/Everything/\$basearch/ gpgcheck1 gpgkeyhttps://${URL}/fedora/epel/RPM-GPG-KEY-EPEL-\$releasever EOF${COLOR}更新镜像源中,请稍等...${END}dnf clean all /dev/nulldnf makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }set_yum_centos7(){ [ -d /etc/yum.repos.d/backup ] || mkdir /etc/yum.repos.d/backup(ls -l /etc/yum.repos.d/ |grep -q repo) mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup || ${COLOR}没有repo文件!${END}cat /etc/yum.repos.d/base.repo -EOF [base] namebase baseurlhttps://${URL}/centos/\$releasever/os/\$basearch/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-\$releasever[extras] nameextras baseurlhttps://${URL}/centos/\$releasever/extras/\$basearch/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-\$releasever[updates] nameupdates baseurlhttps://${URL}/centos/\$releasever/updates/\$basearch/ gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-\$releasever EOF${COLOR}更新镜像源中,请稍等...${END}yum clean all /dev/nullyum makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} YUM源设置完成!${END} }set_epel_centos7(){cat /etc/yum.repos.d/epel.repo -EOF [epel] nameepel baseurlhttps://${URL}/epel/\$releasever/\$basearch/ gpgcheck1 gpgkeyhttps://${URL}/epel/RPM-GPG-KEY-EPEL-\$releasever EOF${COLOR}更新镜像源中,请稍等...${END}yum clean all /dev/nullyum makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }set_epel_2_centos7(){cat /etc/yum.repos.d/epel.repo -EOF [epel] nameepel baseurlhttps://${URL}/fedora-epel/\$releasever/\$basearch/ gpgcheck1 gpgkeyhttps://${URL}/fedora-epel/RPM-GPG-KEY-EPEL-\$releasever EOF${COLOR}更新镜像源中,请稍等...${END}yum clean all /dev/nullyum makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }set_epel_3_centos7(){cat /etc/yum.repos.d/epel.repo -EOF [epel] nameepel baseurlhttps://${URL}/fedora/epel/\$releasever/\$basearch/ gpgcheck1 gpgkeyhttps://${URL}/fedora/epel/RPM-GPG-KEY-EPEL-\$releasever EOF${COLOR}更新镜像源中,请稍等...${END}yum clean all /dev/nullyum makecache /dev/null${COLOR}${OS_ID} ${OS_RELEASE} EPEL源设置完成!${END} }rocky9_base_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)网易镜像源 3)搜狐镜像源 4)南京大学镜像源 5)中科大镜像源 6)上海交通大学镜像源 7)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-7): NUMcase ${NUM} in1)aliyunset_yum_rocky9_2;;2)neteaseset_yum_rocky9;;3)sohuset_yum_rocky9;;4)njuset_yum_rocky9;;5)ustcset_yum_rocky9;;6)sjtuset_yum_rocky9;;7)break;;*)${COLOR}输入错误,请输入正确的数字(1-7)!${END};;esacdone }rocky8_base_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)网易镜像源 3)搜狐镜像源 4)南京大学镜像源 5)中科大镜像源 6)上海交通大学镜像源 7)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-7): NUMcase ${NUM} in1)aliyunset_yum_rocky8_2;;2)neteaseset_yum_rocky8;;3)sohuset_yum_rocky8;;4)njuset_yum_rocky8;;5)ustcset_yum_rocky8;;6)sjtuset_yum_rocky8;;7)break;;*)${COLOR}输入错误,请输入正确的数字(1-7)!${END};;esacdone }centos_stream9_base_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)清华镜像源 3)南京大学镜像源 4)中科大镜像源 5)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-5): NUMcase ${NUM} in1)aliyunset_yum_centos_stream9;;2)tunaset_yum_centos_stream9;;3)njuset_yum_centos_stream9;;4)ustcset_yum_centos_stream9;;5)break;;*)${COLOR}输入错误,请输入正确的数字(1-5)!${END};;esacdone }centos_stream8_base_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)华为镜像源 3)腾讯镜像源 4)清华镜像源 5)网易镜像源 6)南京大学镜像源 7)中科大镜像源 8)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-8): NUMcase ${NUM} in1)aliyunset_yum_centos_stream8;;2)huaweiset_yum_centos_stream8;;3)tencentset_yum_centos_stream8;;4)tunaset_yum_centos_stream8;;5)neteaseset_yum_centos_stream8;;6)njuset_yum_centos_stream8;;7)ustcset_yum_centos_stream8;;8)break;;*)${COLOR}输入错误,请输入正确的数字(1-8)!${END};;esacdone }centos7_base_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)华为镜像源 3)腾讯镜像源 4)清华镜像源 5)网易镜像源 6)南京大学镜像源 7)中科大镜像源 8)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-8): NUMcase ${NUM} in1)aliyunset_yum_centos7;;2)huaweiset_yum_centos7;;3)tencentset_yum_centos7;;4)tunaset_yum_centos7;;5)neteaseset_yum_centos7;;6)njuset_yum_centos7;;7)ustcset_yum_centos7;;8)break;;*)${COLOR}输入错误,请输入正确的数字(1-8)!${END};;esacdone }rocky_centos8_9_epel_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)华为镜像源 3)腾讯镜像源 4)清华镜像源 5)搜狐镜像源 6)南京大学镜像源 7)中科大镜像源 8)上海交通大学镜像源 9)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-9): NUMcase ${NUM} in1)aliyunset_epel_rocky_centos8_9;;2)huaweiset_epel_rocky_centos8_9;;3)tencentset_epel_rocky_centos8_9;;4)tunaset_epel_rocky_centos8_9;;5)sohuset_epel_2_rocky_centos8_9;;6)njuset_epel_rocky_centos8_9;;7)ustcset_epel_rocky_centos8_9;;8)sjtuset_epel_3_rocky_centos8_9;;9)break;;*)${COLOR}输入错误,请输入正确的数字(1-9)!${END};;esacdone }centos7_epel_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)华为镜像源 3)腾讯镜像源 4)清华镜像源 5)搜狐镜像源 6)南京大学镜像源 7)中科大镜像源 8)上海交通大学镜像源 9)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-9): NUMcase ${NUM} in1)aliyunset_epel_centos7;;2)huaweiset_epel_centos7;;3)tencentset_epel_centos7;;4)tunaset_epel_centos7;;5)sohuset_epel_2_centos7;;6)njuset_epel_centos7;;7)ustcset_epel_centos7;;8)sjtuset_epel_3_centos7;;9)break;;*)${COLOR}输入错误,请输入正确的数字(1-9)!${END};;esacdone }rocky_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)base仓库 2)epel仓库 3)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-3): NUMcase ${NUM} in1)if [ ${OS_RELEASE_VERSION} 8 ];thenrocky8_base_menuelserocky9_base_menufi;;2)rocky_centos8_9_epel_menu;;3)break;;*)${COLOR}输入错误,请输入正确的数字(1-3)!${END};;esacdone }centos_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)base仓库 2)epel仓库 3)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-3): NUMcase ${NUM} in1)if [ ${OS_NAME} Stream ];thenif [ ${OS_RELEASE_VERSION} 8 ];thencentos_stream8_base_menuelsecentos_stream9_base_menufielsecentos7_base_menufi;;2)if [ ${OS_RELEASE_VERSION} 8 -o ${OS_RELEASE_VERSION} 9 ];thenrocky_centos8_9_epel_menuelserocky_centos7_epel_menufi;;3)break;;*)${COLOR}输入错误,请输入正确的数字(1-3)!${END};;esacdone }set_apt(){mv /etc/apt/sources.list /etc/apt/sources.list.bakcat /etc/apt/sources.list -EOF deb http://${URL}/ubuntu/ $(lsb_release -cs) main restricted universe multiverse deb-src http://${URL}/ubuntu/ $(lsb_release -cs) main restricted universe multiversedeb http://${URL}/ubuntu/ $(lsb_release -cs)-security main restricted universe multiverse deb-src http://${URL}/ubuntu/ $(lsb_release -cs)-security main restricted universe multiversedeb http://${URL}/ubuntu/ $(lsb_release -cs)-updates main restricted universe multiverse deb-src http://${URL}/ubuntu/ $(lsb_release -cs)-updates main restricted universe multiversedeb http://${URL}/ubuntu/ $(lsb_release -cs)-proposed main restricted universe multiverse deb-src http://${URL}/ubuntu/ $(lsb_release -cs)-proposed main restricted universe multiversedeb http://${URL}/ubuntu/ $(lsb_release -cs)-backports main restricted universe multiverse deb-src http://${URL}/ubuntu/ $(lsb_release -cs)-backports main restricted universe multiverse EOF${COLOR}更新镜像源中,请稍等...${END}apt update /dev/null${COLOR}${OS_ID} ${OS_RELEASE} APT源设置完成!${END} }apt_menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)阿里镜像源 2)华为镜像源 3)腾讯镜像源 4)清华镜像源 5)网易镜像源 6)南京大学镜像源 7)中科大镜像源 8)上海交通大学镜像源 9)退出 EOFecho -e \E[0mread -p 请输入镜像源编号(1-9): NUMcase ${NUM} in1)aliyunset_apt;;2)huaweiset_apt;;3)tencentset_apt;;4)tunaset_apt;;5)neteaseset_apt;;6)njuset_apt;;7)ustcset_apt;;8)sjtuset_apt;;9)break;;*)${COLOR}输入错误,请输入正确的数字(1-9)!${END};;esacdone }set_mirror_repository(){if [ ${OS_ID} CentOS ];thencentos_menuelif [ ${OS_ID} Rocky ];thenrocky_menuelseapt_menufi }centos_minimal_install(){${COLOR}开始安装“Minimal安装建议安装软件包”,请稍等......${END}yum -y install gcc make autoconf gcc-c glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip nfs-utils man-pages /dev/null${COLOR}${OS_ID} ${OS_RELEASE} Minimal安装建议安装软件包已安装完成!${END} }ubuntu_minimal_install(){${COLOR}开始安装“Minimal安装建议安装软件包”,请稍等......${END}apt -y install iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev gcc openssh-server iotop unzip zip${COLOR}${OS_ID} ${OS_RELEASE} Minimal安装建议安装软件包已安装完成!${END} }minimal_install(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ] /dev/null;thencentos_minimal_installelseubuntu_minimal_installfi }set_mail(){ if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenrpm -q postfix /dev/null || { yum -y install postfix /dev/null; systemctl enable --now postfix /dev/null; }rpm -q mailx /dev/null || yum -y install mailx /dev/nullelsedpkg -s mailutils /dev/null || apt -y install mailutilsfiread -p 请输入邮箱地址: MAILread -p 请输入邮箱授权码: AUTHSMTPecho ${MAIL} |awk -F {print $2}cat ~/.mailrc -EOF set from${MAIL} set smtpsmtp.${SMTP} set smtp-auth-user${MAIL} set smtp-auth-password${AUTH} set smtp-authlogin set ssl-verifyignore EOF${COLOR}${OS_ID} ${OS_RELEASE} 邮件设置完成,请重新登录后才能生效!${END} }set_sshd_port(){disable_selinuxdisable_firewallread -p 请输入端口号: PORTsed -i s/#Port 22/Port ${PORT}/ /etc/ssh/sshd_config${COLOR}${OS_ID} ${OS_RELEASE} 更改SSH端口号已完成,请重启系统后生效!${END} }set_centos_eth(){ETHNAMEip addr | awk -F[ :] /^2/{print $3}#修改网卡名称配置文件if grep -Eqi (net\.ifnames|biosdevname) /etc/default/grub;then${COLOR}${OS_ID} ${OS_RELEASE} 网卡名配置文件已修改,不用修改!${END}elsesed -ri.bak /^GRUB_CMDLINE_LINUX/s$ net.ifnames0 biosdevname0 /etc/default/grubgrub2-mkconfig -o /boot/grub2/grub.cfg /dev/nullfi#修改网卡文件名if [ ${OS_RELEASE_VERSION} 7 -o ${OS_RELEASE_VERSION} 8 ];thenmv /etc/sysconfig/network-scripts/ifcfg-${ETHNAME} /etc/sysconfig/network-scripts/ifcfg-eth0elsemv /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection /etc/NetworkManager/system-connections/eth0.nmconnectionfi${COLOR}${OS_ID} ${OS_RELEASE} 网卡名已修改成功请重新启动系统后才能生效!${END} }set_ubuntu_eth(){#修改网卡名称配置文件if grep -Eqi (net\.ifnames|biosdevname) /etc/default/grub;then${COLOR}${OS_ID} ${OS_RELEASE} 网卡名配置文件已修改,不用修改!${END}elsesed -ri.bak /^GRUB_CMDLINE_LINUX/s$net.ifnames0 biosdevname0 /etc/default/grubgrub-mkconfig -o /boot/grub/grub.cfg /dev/null${COLOR}${OS_ID} ${OS_RELEASE} 网卡名已修改成功,请重新启动系统后才能生效!${END}fi }set_eth(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenset_centos_ethelseset_ubuntu_ethfi }check_ip(){local IP$1VALID_CHECK$(echo ${IP}|awk -F. $1255$2255$3255$4255{print yes})if echo ${IP}|grep -E ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ /dev/null; thenif [ ${VALID_CHECK} yes ]; thenecho IP ${IP} available!return 0elseecho IP ${IP} not available!return 1fielseecho IP format error!return 1fi }set_centos_ip(){while true; doread -p 请输入IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: C_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonecat /etc/sysconfig/network-scripts/ifcfg-eth0 -EOF NAMEeth0 DEVICEeth0 ONBOOTyes BOOTPROTOnone TYPEEthernet IPADDR${IP} PREFIX${C_PREFIX} GATEWAY${GATEWAY} DNS1223.5.5.5 DNS2180.76.76.76 EOF${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_centos_9_ip(){while true; doread -p 请输入IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: C_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonecat /etc/NetworkManager/system-connections/eth0.nmconnection -EOF [connection] ideth0 typeethernet interface-nameeth0[ethernet][ipv4] address1${IP}/${C_PREFIX},${GATEWAY} dns223.5.5.5;180.76.76.76; methodmanual[ipv6] addr-gen-modedefault methodauto[proxy] EOF${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_ubuntu_ip(){while true; doread -p 请输入IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonecat /etc/netplan/01-netcfg.yaml -EOF network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaddresses: [${IP}/${U_PREFIX}] gateway4: ${GATEWAY}nameservers:addresses: [223.5.5.5, 180.76.76.76] EOF${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_ubuntu_22_ip(){while true; doread -p 请输入IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonecat /etc/netplan/00-installer-config.yaml -EOF network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaddresses: [${IP}/${U_PREFIX}]routes:- to: defaultvia: ${GATEWAY}nameservers:addresses: [223.5.5.5, 180.76.76.76] EOF${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_ip(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenif [ ${OS_RELEASE_VERSION} 7 -o ${OS_RELEASE_VERSION} 8 ];thenset_centos_ipelseset_centos_9_ipfielif [ ${OS_RELEASE_VERSION} 18 -o ${OS_RELEASE_VERSION} 20 ];thenset_dual_ubuntu_ip elseset_dual_ubuntu_22_ipfi }set_dual_centos_ip(){while true; doread -p 请输入第一块网卡IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: C_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonecat /etc/sysconfig/network-scripts/ifcfg-eth0 -EOF NAMEeth0 DEVICEeth0 ONBOOTyes BOOTPROTOnone TYPEEthernet IPADDR${IP} PREFIX${C_PREFIX} GATEWAY${GATEWAY} DNS1223.5.5.5 DNS2180.76.76.76 EOFwhile true; doread -p 请输入第二块网卡IP地址: IP2check_ip ${IP2}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: C_PREFIX2cat /etc/sysconfig/network-scripts/ifcfg-eth1 -EOF NAMEeth1 DEVICEeth1 ONBOOTyes BOOTPROTOnone TYPEEthernet IPADDR${IP2} PREFIX${C_PREFIX2} EOF${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_dual_centos_9_ip(){while true; doread -p 请输入第一块网卡IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: C_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonecat /etc/NetworkManager/system-connections/eth0.nmconnection -EOF [connection] ideth0 typeethernet interface-nameeth0[ethernet][ipv4] address1${IP}/${C_PREFIX},${GATEWAY} dns223.5.5.5;180.76.76.76; methodmanual[ipv6] addr-gen-modedefault methodauto[proxy] EOFwhile true; doread -p 请输入第二块网卡IP地址: IP2check_ip ${IP2}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: C_PREFIX2cat /etc/NetworkManager/system-connections/eth1.nmconnection -EOF [connection] ideth1 typeethernet interface-nameeth1[ethernet][ipv4] address1${IP2}/${C_PREFIX2} methodmanual[ipv6] addr-gen-modedefault methodauto[proxy] EOFchmod 600 /etc/NetworkManager/system-connections/eth1.nmconnection${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_dual_ubuntu_ip(){while true; doread -p 请输入第一块网卡IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonewhile true; doread -p 请输入第二块网卡IP地址: IP2check_ip ${IP2}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIX2cat /etc/netplan/01-netcfg.yaml -EOF network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaddresses: [${IP}/${U_PREFIX}] gateway4: ${GATEWAY}nameservers:addresses: [223.5.5.5, 180.76.76.76]eth1:dhcp4: nodhcp6: noaddresses: [${IP2}/${U_PREFIX2}] EOF${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_dual_ubuntu_22_ip(){while true; doread -p 请输入第一块网卡IP地址: IPcheck_ip ${IP}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIXwhile true; doread -p 请输入网关地址: GATEWAYcheck_ip ${GATEWAY}[ $? -eq 0 ] breakdonewhile true; doread -p 请输入第二块网卡IP地址: IP2check_ip ${IP2}[ $? -eq 0 ] breakdoneread -p 请输入子网掩码位数: U_PREFIX2cat /etc/netplan/00-installer-config.yaml -EOF network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaddresses: [${IP}/${U_PREFIX}] routes:- to: defaultvia: ${GATEWAY}nameservers:addresses: [223.5.5.5, 180.76.76.76]eth1:dhcp4: nodhcp6: noaddresses: [${IP2}/${U_PREFIX2}] EOF${COLOR}${OS_ID} ${OS_RELEASE} IP地址、网关地址和DNS已修改成功,请重新启动系统后生效!${END} }set_dual_ip(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenif [ ${OS_RELEASE_VERSION} 7 -o ${OS_RELEASE_VERSION} 8 ];thenset_dual_centos_ipelseset_dual_centos_9_ipfielif [ ${OS_RELEASE_VERSION} 18 -o ${OS_RELEASE_VERSION} 20 ];thenset_dual_ubuntu_ip elseset_dual_ubuntu_22_ipfi }set_hostname(){read -p 请输入主机名: HOSThostnamectl set-hostname ${HOST}${COLOR}${OS_ID} ${OS_RELEASE} 主机名设置成功,请重新登录生效!${END} }red(){P_COLOR31 }green(){P_COLOR32 }yellow(){P_COLOR33 }blue(){P_COLOR34 }violet(){P_COLOR35 }cyan_blue(){P_COLOR36 }random_color(){P_COLOR$[RANDOM%731] }centos_ps1(){C_PS1$(echo PS1\[\e[1;${P_COLOR}m\][\u\h \W]\\$ \[\e[0m\] ~/.bashrc) }ubuntu_ps1(){U_PS1$(echo PS1\[\e[1;${P_COLOR}m\]${debian_chroot:($debian_chroot)}\u\h:\w\\$ \[\e[0m\] ~/.bashrc) }set_ps1_env(){if [ ${OS_ID} CentOS -o ${OS_ID} Rocky ];thenif grep -Eqi ^PS1 ~/.bashrc;thensed -i /^PS1/d ~/.bashrccentos_ps1elsecentos_ps1fifiif [ ${OS_ID} Ubuntu ];thenif grep -Eqi ^PS1 ~/.bashrc;thensed -i /^PS1/d ~/.bashrcubuntu_ps1elseubuntu_ps1fifi }set_ps1(){TIPS${COLOR}${OS_ID} ${OS_RELEASE} PS1设置成功,请重新登录生效!${END}while true;doecho -e \E[$[RANDOM%731];1mcat -EOF 1)31 红色 2)32 绿色 3)33 黄色 4)34 蓝色 5)35 紫色 6)36 青色 7)随机颜色 8)退出 EOFecho -e \E[0mread -p 请输入颜色编号(1-8): NUMcase ${NUM} in1)redset_ps1_env${TIPS};;2)greenset_ps1_env${TIPS};;3)yellowset_ps1_env${TIPS};;4)blueset_ps1_env${TIPS};;5)violetset_ps1_env${TIPS};;6)cyan_blueset_ps1_env${TIPS};;7)random_colorset_ps1_env${TIPS};;8)break;;*)${COLOR}输入错误,请输入正确的数字(1-8)!${END};;esacdone }set_vim(){echo export EDITORvim ~/.bashrc }set_vim_env(){if grep -Eqi .*EDITOR ~/.bashrc;thensed -i /.*EDITOR/d ~/.bashrcset_vimelseset_vimfi${COLOR}${OS_ID} ${OS_RELEASE} 默认文本编辑器设置成功,请重新登录生效!${END} }set_history(){echo export HISTTIMEFORMAT%F %T ~/.bashrc }set_history_env(){if grep -Eqi .*HISTTIMEFORMAT ~/.bashrc;thensed -i /.*HISTTIMEFORMAT/d ~/.bashrcset_historyelseset_historyfi${COLOR}${OS_ID} ${OS_RELEASE} history格式设置成功,请重新登录生效!${END} }set_swap(){sed -ri s/.*swap.*/#/ /etc/fstabif [ ${OS_ID} Ubuntu ];thenif [ ${OS_RELEASE_VERSION} 20 -o ${OS_RELEASE_VERSION} 22 ];thenSD_NAMElsblk|awk -F[ └─] /SWAP/{printf $3}systemctl mask dev-${SD_NAME}.swap /dev/nullfifiswapoff -a${COLOR}${OS_ID} ${OS_RELEASE} 禁用swap成功!${END} }set_kernel(){cat /etc/sysctl.conf -EOF # Controls source route verification net.ipv4.conf.default.rp_filter 1 net.ipv4.ip_nonlocal_bind 1 net.ipv4.ip_forward 1# Do not accept source routing net.ipv4.conf.default.accept_source_route 0# Controls the System Request debugging functionality of the kernel kernel.sysrq 0# Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid 1# Controls the use of TCP syncookies net.ipv4.tcp_syncookies 1# Disable netfilter on bridges. net.bridge.bridge-nf-call-ip6tables 0 net.bridge.bridge-nf-call-iptables 0 net.bridge.bridge-nf-call-arptables 0# Controls the default maxmimum size of a mesage queue kernel.msgmnb 65536# Controls the maximum size of a message, in bytes kernel.msgmax 65536# Controls the maximum shared segment size, in bytes kernel.shmmax 68719476736# Controls the maximum number of shared memory segments, in pages kernel.shmall 4294967296# TCP kernel paramater net.ipv4.tcp_mem 786432 1048576 1572864 net.ipv4.tcp_rmem 4096 87380 4194304 net.ipv4.tcp_wmem 4096 16384 4194304 net.ipv4.tcp_window_scaling 1 net.ipv4.tcp_sack 1# socket buffer net.core.wmem_default 8388608 net.core.rmem_default 8388608 net.core.rmem_max 16777216 net.core.wmem_max 16777216 net.core.netdev_max_backlog 262144 net.core.somaxconn 20480 net.core.optmem_max 81920# TCP conn net.ipv4.tcp_max_syn_backlog 262144 net.ipv4.tcp_syn_retries 3 net.ipv4.tcp_retries1 3 net.ipv4.tcp_retries2 15# tcp conn reuse net.ipv4.tcp_tw_reuse 1 net.ipv4.tcp_tw_recycle 0 net.ipv4.tcp_fin_timeout 30 net.ipv4.tcp_timestamps 0net.ipv4.tcp_max_tw_buckets 20000 net.ipv4.tcp_max_orphans 3276800 net.ipv4.tcp_synack_retries 1 net.ipv4.tcp_syncookies 1# keepalive conn net.ipv4.tcp_keepalive_time 300 net.ipv4.tcp_keepalive_intvl 30 net.ipv4.tcp_keepalive_probes 3 net.ipv4.ip_local_port_range 10001 65000# swap vm.overcommit_memory 0 vm.swappiness 10#net.ipv4.conf.eth1.rp_filter 0 #net.ipv4.conf.lo.arp_ignore 1 #net.ipv4.conf.lo.arp_announce 2 #net.ipv4.conf.all.arp_ignore 1 #net.ipv4.conf.all.arp_announce 2 EOFsysctl -p /dev/null${COLOR}${OS_ID} ${OS_RELEASE} 优化内核参数成功!${END} }set_limits(){cat /etc/security/limits.conf -EOF root soft core unlimited root hard core unlimited root soft nproc 1000000 root hard nproc 1000000 root soft nofile 1000000 root hard nofile 1000000 root soft memlock 32000 root hard memlock 32000 root soft msgqueue 8192000 root hard msgqueue 8192000 EOF${COLOR}${OS_ID} ${OS_RELEASE} 优化资源限制参数成功!${END} }set_localtime(){ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeecho Asia/Shanghai /etc/timezoneif [ ${OS_ID} Ubuntu ];thencat /etc/default/locale -EOF LC_TIMEen_DK.UTF-8 EOFfi${COLOR}${OS_ID} ${OS_RELEASE} 系统时区已设置成功,请重启系统后生效!${END} }disable_restart(){if [ -f /usr/lib/systemd/system/ctrl-alt-del.target ];thencp /usr/lib/systemd/system/ctrl-alt-del.target{,.bak}rm -f /usr/lib/systemd/system/ctrl-alt-del.target${COLOR}${OS_ID} ${OS_RELEASE} 禁用ctrlaltdel重启处理成功!${END}else${COLOR}${OS_ID} ${OS_RELEASE} 禁用ctrlaltdel已处理!${END}fi }set_root_login(){read -p 请输入密码: PASSWORDecho ${PASSWORD} |sudo -S sed -ri s#(PermitRootLogin )prohibit-password\1yes /etc/ssh/sshd_configsudo systemctl restart sshdsudo -S passwd root -EOF ${PASSWORD} ${PASSWORD} EOF${COLOR}${OS_ID} ${OS_RELEASE} root用户登录已设置完成,请重新登录后生效!${END} }ubuntu_remove(){apt purge ufw lxd lxd-client lxcfs liblxc-common${COLOR}${OS_ID} ${OS_RELEASE} 无用软件包卸载完成!${END} }menu(){while true;doecho -e \E[$[RANDOM%731];1mcat -EOF ******************************************************************** * 初始化脚本菜单 * * 1.禁用SELinux 15.设置PS1(请进入选择颜色) * * 2.关闭防火墙 16.设置默认文本编辑器为vim * * 3.优化SSH 17.设置history格式 * * 4.设置系统别名 18.禁用SWAP * * 5.1-4全设置 19.优化内核参数 * * 6.设置vimrc配置文件 20.优化资源限制参数 * * 7.设置镜像仓库 21.设置系统时区 * * 8.Minimal安装建议安装软件 22.禁用ctrlaltdel重启 * * 9.安装邮件服务并配置邮件 23.Ubuntu设置root用户登录 * * 10.更改SSH端口号 24.Ubuntu卸载无用软件包 * * 11.修改网卡名 25.重启系统 * * 12.修改IP地址和网关地址(单网卡) 26.关机 * * 13.修改IP地址和网关地址(双网卡) 27.退出 * * 14.设置主机名 * ******************************************************************** EOFecho -e \E[0mread -p 请选择相应的编号(1-27): choicecase ${choice} in1)disable_selinux;;2)disable_firewall;;3)optimization_sshd;;4)set_alias;;5)disable_selinuxdisable_firewalloptimization_sshdset_alias;;6)set_vimrc;;7)set_mirror_repository;;8)minimal_install;;9)set_mail;;10)set_sshd_port;;11)set_eth;;12)set_ip;;13)set_dual_ip;;14)set_hostname;;15)set_ps1;;16)set_vim_env;;17)set_history_env;;18)set_swap;;19)set_kernel;;20)set_limits;;21)set_localtime;;22)disable_restart;;23)set_root_login;;24)ubuntu_remove;;25)reboot;;26)shutdown -h now;;27)break;;*)${COLOR}输入错误,请输入正确的数字(1-27)!${END};;esacdone }main(){osmenu }main
http://www.dnsts.com.cn/news/178735.html

相关文章:

  • 做爰在线观看网站三合一网站源码
  • 网站加入百度广告联盟手机网站的引导页
  • 互动网门户网站建设wordpress设置恢复
  • 如何做网站聚合页万能网址大全
  • 机票网站制作查询网站哪做的
  • 宿迁哪家做网站好百度推广有效果吗?
  • 网站空间怎么选择网站怎么seo
  • 天河建设网站服务企业名称注册查询系统
  • 网站首页改版需求网站建设一二级目录
  • 网站 数据备份wordpress 如何修改
  • 电力建设官方网站苏州产品设计公司
  • 江苏越润建设有限公司网站搜狗推广下架
  • 秦皇岛做网站多少钱静态网页制作技术
  • 如何免费开个人网站南昌市网站建设公司
  • 网站建设的公司系统规划方案宿州网站建设电话
  • 网站安全维护重庆最新消息今天
  • 网站建设准备工作总结注册网站会员需填写
  • 上海网站建设 报价在哪里能建免费的网站
  • 基于网站的app开发美团网站做疏通广告
  • 华为云建站和阿里云建站区别网页设计ui设计培训
  • html5 网站模板下载个人如何制作app
  • 全国 做网站的企业慈溪建设企业网站
  • 某公司网站源码网站自适应案例
  • 支付网站域名费会计分录怎么做网页设计公司的目标客户有哪些
  • wordpress 如何仿站企业网站服务器跟域名都需要交钱吗
  • 北京网站建设推广鄂州手机网站设计
  • php网站制作 青岛wordpress启用cookies
  • 国内比较好的软文网站黑龙江企业网站建设公司
  • 温州建设工程信息网站网站开发前后端分离要多少钱
  • 博客网站开发流程做网站 就上微赞网