Modify the shell script files on October 20, 2025.

This commit is contained in:
raymond999999
2025-10-20 18:47:36 +08:00
parent df3ed3bb29
commit 0ce7b05f1b
21 changed files with 1586 additions and 579 deletions

View File

@@ -7,7 +7,7 @@
#FileName: install_containerd_binary.sh
#URL: raymond.blog.csdn.net
#Description: install_containerd_binary for centos 7/8 & ubuntu 18.04/20.04 & Rocky 8
#Copyright (C): 2021 All rights reserved
#Copyright (C): 2022 All rights reserved
#*********************************************************************************************
SRC_DIR=/usr/local/src
COLOR="echo -e \\033[01;31m"

View File

@@ -1,6 +1,6 @@
# Rocky、AlmaLinux、CentOS、Ubuntu、Debian、openEuler、AnolisOS、OpenCloudOS、openSUSE、银河麒麟Kylin Server和统信UOS Server系统初始化脚本
![reset](https://raymond-1302897408.cos.ap-beijing.myqcloud.com/images/blog/reset/20250922121558895.jpg)
![reset](https://raymond-1302897408.cos.ap-beijing.myqcloud.com/images/blog/reset/20251020182859999.jpg)
**Shell脚本源码地址**
@@ -13,32 +13,32 @@ Githubhttps://github.com/raymond999999/shell
**支持的功能:**
| **支持的功能** | 备注 |
| --------------------------------- | ------------------------------------------------------------ |
| 1.修改网卡名 | openSUSE操作系统默认网卡名就是eth0、eth1不用修改 |
| 2.设置网络 | 包括设置IP地址、子网掩码位数、网关地址和DNS地址包括单网卡和双网卡 |
| 3.设置主机名 | |
| 4.设置镜像仓库 | Kylin Server和UOS Server操作系统只有官方镜像仓库没有合适的第三方镜像仓库不用设置 |
| 5.Minimal安装建议安装软件 | |
| 6.关闭防火墙 | Ubuntu操作系统默认安装的防火墙的防火墙是ufwDebian操作系统默认没有安装防火墙其它操作系统默认安装的防火墙都是firewall |
| 7.禁用SELinux | Ubuntu、Debian和openSUSE操作系统默认没有安装SELinux不用设置 |
| 8.禁用AppArmor | 只有openSUSE操作系统默认安装AppArmor其它操作系统都不用设置 |
| 9.禁用SWAP | |
| 10.设置系统时区 | |
| 11.优化资源限制参数 | |
| 12.优化内核参数 | |
| 13.优化SSH | |
| 14.更改SSH端口号 | |
| 15.设置系统别名 | |
| 16.设置vimrc配置文件 | |
| 17.安装邮件服务并配置 | |
| 18.设置PS1 | |
| 19.设置默认文本编辑器为vim | |
| 20.设置history格式 | |
| 21.禁用ctrl+alt+del重启系统功能 | |
| 22.Ubuntu和Debian设置root用户登录 | 只支持Ubuntu和Debian操作系统 |
| 23.Ubuntu卸载无用软件包 | 只支持Ubuntu操作系统 |
| 24.Ubuntu卸载snap | 只支持Ubuntu操作系统 |
| **支持的功能** | 备注 |
| ------------------------------- | ------------------------------------------------------------ |
| 1.设置root用户登录 | |
| 2.修改网卡名 | openSUSE Leap 15操作系统默认网卡名就是eth0、eth1不用修改 |
| 3.设置网络 | 包括设置IP地址、子网掩码位数、网关地址和DNS地址包括单网卡和双网卡 |
| 4.设置主机名 | |
| 5.设置镜像仓库 | Kylin Server和UOS Server操作系统只有官方镜像仓库没有合适的第三方镜像仓库不用设置 |
| 6.建议安装软件 | |
| 7.关闭防火墙 | Ubuntu操作系统默认安装的防火墙的防火墙是ufwDebian操作系统默认没有安装防火墙其它操作系统默认安装的防火墙都是firewall |
| 8.禁用SELinux | Ubuntu、Debian和openSUSE Leap 15操作系统默认没有安装SELinux不用设置 |
| 9.禁用AppArmor | 只有openSUSE Leap 15操作系统默认安装AppArmor其它操作系统都不用设置 |
| 10.禁用SWAP | |
| 11.设置系统时区 | |
| 12.优化资源限制参数 | |
| 13.优化内核参数 | |
| 14.优化SSH | |
| 15.更改SSH端口号 | |
| 16.设置系统别名 | |
| 17.设置vimrc配置文件 | |
| 18.安装邮件服务并配置 | |
| 19.设置PS1 | |
| 20.设置默认文本编辑器为vim | |
| 21.设置history格式 | |
| 22.禁用ctrl+alt+del重启系统功能 | |
| 23.Ubuntu卸载无用软件包 | 只支持Ubuntu操作系统 |
| 24.Ubuntu卸载snap | 只支持Ubuntu操作系统 |
**版本支持的操作系统:**
@@ -48,7 +48,7 @@ Githubhttps://github.com/raymond999999/shell
| openEuler版 | openEuler 22.03/24.03 LTS | https://gitee.com/raymond9/shell/tree/main/reset/reset_openeuler |
| AnolisOS版 | AnolisOS 8/23 | https://gitee.com/raymond9/shell/tree/main/reset/reset_anolisos |
| OpenCloudOS版 | OpenCloudOS 8/9 | https://gitee.com/raymond9/shell/tree/main/reset/reset_opencloudos |
| openSUSE版 | openSUSE Leap 15 | https://gitee.com/raymond9/shell/tree/main/reset/reset_opensuse |
| openSUSE版 | openSUSE Leap 15/16 | https://gitee.com/raymond9/shell/tree/main/reset/reset_opensuse |
| Kylin Server版 | 银河麒麟Kylin Server V10/V11 | https://gitee.com/raymond9/shell/tree/main/reset/reset_kylin_server |
| UOS Server版 | 统信UOS Server V20 | https://gitee.com/raymond9/shell/tree/main/reset/reset_uos_server |
@@ -64,16 +64,16 @@ Githubhttps://github.com/raymond999999/shell
| | 6.修复了修改网卡名的bug |
| | 7.添加了对Rocky Linux 10和AlmaLinux 10系统的支持 |
| | 8.添加了对Debian 13系统的支持 |
| | 9.修改了某些bug |
| | 9.修改了某些bug |
| Uos Server版更新的内容 | 1.添加了对统信UOS ServerV20系统的支持 |
| | 2.通过修改GRUB配置文件来修改网卡名时如果是UEFI引导系统“grub.cfg”文件位置发生了改变添加了相关功能 |
| | 3.修复了修改网卡名的bug |
| | 4.修改了某些bug |
| | 4.修改了某些bug |
| Kylin Server版更新的内容 | 1.添加了对银河麒麟Kylin ServerV10系统的支持 |
| | 2.通过修改GRUB配置文件来修改网卡名时如果是UEFI引导系统“grub.cfg”文件位置发生了改变添加了相关功能 |
| | 3.修复了修改网卡名的bug |
| | 4.添加了对银河麒麟Kylin ServerV11系统的支持 |
| | 5.修改了某些bug |
| | 5.修改了某些bug |
| openSUSE版更新的内容 | 1.添加了对openSUSE Leap 15系统的支持 |
| | 2.修复了“禁用SWAP”不生效的问题 |
| | 3.修复了“禁用ctrl+alt+del重启系统功能”不生效的问题 |
@@ -81,7 +81,8 @@ Githubhttps://github.com/raymond999999/shell
| | 5.openSUSE Leap 15系统pcre安装包名改成了pcre-toolsopenssl-devel安装包名改成了libopenssl-devel |
| | 6.对单网卡和双网卡的配置进行了统一处理,能够自动识别当前是单网卡还是双网卡环境,并据此进行相应的配置设置; |
| | 7.修复了设置网络时DNS设置不生效的问题 |
| | 8.修改了某些bug |
| | 8.添加了对openSUSE Leap 16系统的支持openSUSE Leap 16需要设置root用户登录需要修改网卡名网卡配置文件变成了“/etc/NetworkManager/system-connections/eth0.nmconnection”ssh服务配置文件变成了“/usr/etc/ssh/sshd_config” |
| | 9.修改了某些bug。 |
| OpenCloudOS版更新的内容 | 1.添加了对OpenCloudOS 8和9系统的支持 |
| | 2.修复了“禁用SWAP”不生效的问题 |
| | 3.修复了“禁用ctrl+alt+del重启系统功能”不生效的问题 |
@@ -90,7 +91,7 @@ Githubhttps://github.com/raymond999999/shell
| | 6.通过修改GRUB配置文件来修改网卡名时如果是UEFI引导系统“grub.cfg”文件位置发生了改变添加了相关功能 |
| | 7.修复了修改网卡名的bug |
| | 8.添加了启用OpenCloudOS 8 PowerTools仓库的功能 |
| | 9.修改了某些bug |
| | 9.修改了某些bug |
| AnolisOS版更新的内容 | 1.添加了对AnolisOS 8和23系统的支持 |
| | 2.修复了“禁用SWAP”不生效的问题 |
| | 3.修复了“禁用ctrl+alt+del重启系统功能”不生效的问题 |
@@ -98,21 +99,21 @@ Githubhttps://github.com/raymond999999/shell
| | 5.由于AnolisOS 23对网卡命名规则进行了更改使用nmcli命令来修改IP地址的方法不再适用。因此我们采用了通过配置文件来设置IP地址的方式。同时对单网卡和双网卡的配置进行了统一处理能够自动识别当前是单网卡还是双网卡环境并据此进行相应的配置设置 |
| | 6.通过修改GRUB配置文件来修改网卡名时如果是UEFI引导系统“grub.cfg”文件位置发生了改变添加了相关功能 |
| | 7.修复了修改网卡名的bug |
| | 8.修改了某些bug |
| | 8.修改了某些bug |
| openEuler版更新的内容 | 1.添加了对openEuler 22.03/24.03 LTS系统的支持 |
| | 2.修复了“禁用SWAP”不生效的问题 |
| | 3.修复了“禁用ctrl+alt+del重启系统功能”不生效的问题 |
| | 4.对单网卡和双网卡的配置进行了统一处理,能够自动识别当前是单网卡还是双网卡环境,并据此进行相应的配置设置; |
| | 5.通过修改GRUB配置文件来修改网卡名时如果是UEFI引导系统“grub.cfg”文件位置发生了改变添加了相关功能 |
| | 6.修复了修改网卡名的bug |
| | 7.修改了某些bug |
| | 7.修改了某些bug |
| v9版更新内容 | 1.由于CentOS Stream 8 已于 2024 年 5 月 31 日到期, CentOS Linux 7 的生命周期结束日期是 2024 年 6 月 30 日将CentOS Stream 8和CentOS 7的镜像仓库都改成了centos-vault仓库把CentOS 7的epel仓库改成了epel-archive仓库 |
| | 2.添加了对Ubuntu Server 24.04 LTS系统的支持Ubuntu Server 24.04 LTS的变更网卡配置文件变成了“/etc/netplan/50-cloud-init.yaml”镜像仓库格式变成了DEB822 格式ssh服务的服务名变成了ssh |
| | 3.添加了对Debian 11和12系统的支持 |
| | 4.添加了AlmaLinux的devel仓库 |
| | 5.修复了“禁用ctrl+alt+del重启系统功能”不生效的问题 |
| | 6.添加了对CentOS Stream 10系统的支持修复了“禁用SWAP”不生效的问题CentOS Stream 10系统pcre安装包名改成了pcre2pcre-devel安装包名改成了pcre2-devel; |
| | 7.修改了某些bug |
| | 7.修改了某些bug |
| v8版更新内容 | 1.添加了对AlmaLinux 8和9系统的支持 |
| | 2.添加Ubuntu卸载snap的功能 |
| | 3.修改了某些bug。 |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

After

Width:  |  Height:  |  Size: 311 KiB

View File

@@ -4,7 +4,7 @@
#Author: Raymond
#QQ: 88563128
#MP: Raymond运维
#Date: 2025-09-30
#Date: 2025-10-19
#FileName: reset_anolisos.sh
#URL: https://wx.zsxq.com/group/15555885545422
#Description: The reset linux system initialization script supports
@@ -13,6 +13,7 @@
#**********************************************************************************
COLOR="echo -e \\033[01;31m"
END='\033[0m'
LOGIN_USER=`whoami`
os(){
. /etc/os-release
@@ -24,9 +25,20 @@ os(){
fi
}
set_root_login(){
read -p "请输入密码: " PASSWORD
echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config
sudo systemctl restart sshd
sudo -S passwd root <<-EOF
${PASSWORD}
${PASSWORD}
EOF
${COLOR}"${PRETTY_NAME}操作系统root用户登录已设置完成请重新登录后生效"${END}
}
set_anolis_8_eth(){
sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub
if lsblk | grep -q efi;then
if lsblk | grep -q EFI;then
EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'`
grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null
else
@@ -80,7 +92,7 @@ Name=eth1
EOF
}
set_eth(){
set_anolisos_eth(){
IP_NUM=`ip addr | awk -F"[: ]" '{print $1}' | grep -v '^$' | wc -l`
if [ ${MAIN_VERSION_ID} == "8" ];then
if [ ${IP_NUM} == "2" ];then
@@ -125,6 +137,15 @@ set_eth(){
fi
}
set_eth(){
ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"`
if [ ${ETH_PREFIX_NAME} == "eth" ];then
${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END}
else
set_anolisos_eth
fi
}
check_ip(){
local IP=$1
VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')
@@ -314,12 +335,15 @@ EOF
minimal_install(){
${COLOR}'开始安装“Minimal安装建议安装软件包”请稍等......'${END}
yum install -y vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip man-pages &> /dev/null
yum install -y vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip &> /dev/null
if [ ${MAIN_VERSION_ID} == "7" -o ${MAIN_VERSION_ID} == "8" ];then
yum install -y man-pages &> /dev/null
fi
${COLOR}"${PRETTY_NAME}操作系统Minimal安装建议安装软件包已安装完成"${END}
}
disable_firewalls(){
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END}
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务不要设置!"${END}
}
disable_selinux(){
@@ -333,13 +357,9 @@ disable_selinux(){
}
set_swap(){
if grep -Eqi "noauto" /etc/fstab;then
${COLOR}"${PRETTY_NAME}操作系统swap已被禁用不用设置"${END}
else
sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
fi
systemctl mask swap.target &> /dev/null
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
}
set_localtime(){
@@ -715,9 +735,9 @@ set_history_env(){
disable_restart(){
START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'`
if [ ${START_STATUS} == "enabled" ];then
systemctl disable ctrl-alt-del.target
systemctl disable ctrl-alt-del.target &> /dev/null
fi
systemctl mask ctrl-alt-del.target
systemctl mask ctrl-alt-del.target &> /dev/null
${COLOR}"${PRETTY_NAME}操作系统禁用ctrl+alt+del重启功能设置成功"${END}
}
@@ -725,111 +745,211 @@ menu(){
while true;do
echo -e "\E[$[RANDOM%7+31];1m"
cat <<-EOF
***************************************************************
* 系统初始化脚本菜单 *
* 1.修改网卡名 13.更改SSH端口号 *
* 2.设置网络 14.设置系统别名 *
* 3.设置主机名 15.设置vimrc配置文件 *
* 4.设置镜像仓库 16.安装邮件服务并配置邮件 *
* 5.Minimal安装建议安装软件 17.设置PS1(请进入选择颜色) *
* 6.关闭防火墙 18.设置默认文本编辑器为vim *
* 7.禁用SELinux 19.设置history格式 *
* 8.禁用SWAP 20.禁用ctrl+alt+del重启系统功能 *
* 9.设置系统时区 21.重启系统 *
* 10.优化资源限制参数 22.关机 *
* 11.优化内核参数 23.退出 *
* 12.优化SSH *
***************************************************************
********************************************************
* 系统初始化脚本菜单 *
* 1.设置root用户登录 13.优化SSH *
* 2.修改网卡名 14.更改SSH端口号 *
* 3.设置网络 15.设置系统别名 *
* 4.设置主机名 16.设置vimrc配置文件 *
* 5.设置镜像仓库 17.安装邮件服务并配置 *
* 6.建议安装软件 18.设置PS1(请进入选择颜色) *
* 7.关闭防火墙 19.设置默认文本编辑器为vim *
* 8.禁用SELinux 20.设置history格式 *
* 9.禁用SWAP 21.禁用ctrl+alt+del重启系统功能 *
* 10.设置系统时区 22.重启系统 *
* 11.优化资源限制参数 23.关机 *
* 12.优化内核参数 24.退出 *
********************************************************
EOF
echo -e '\E[0m'
read -p "请选择相应的编号(1-23): " choice
read -p "请选择相应的编号(1-24): " choice
case ${choice} in
1)
set_eth
if [ ${LOGIN_USER} == "root" ];then
${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END}
else
set_root_login
fi
;;
2)
set_network
if [ ${LOGIN_USER} == "root" ];then
set_eth
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
3)
set_hostname
if [ ${LOGIN_USER} == "root" ];then
set_network
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
4)
base_menu
if [ ${LOGIN_USER} == "root" ];then
set_hostname
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
5)
minimal_install
if [ ${LOGIN_USER} == "root" ];then
base_menu
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
6)
disable_firewalls
if [ ${LOGIN_USER} == "root" ];then
minimal_install
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
7)
disable_selinux
if [ ${LOGIN_USER} == "root" ];then
disable_firewalls
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
8)
set_swap
if [ ${LOGIN_USER} == "root" ];then
disable_selinux
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
9)
set_localtime
if [ ${LOGIN_USER} == "root" ];then
set_swap
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
10)
set_limits
if [ ${LOGIN_USER} == "root" ];then
set_localtime
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
11)
set_kernel
if [ ${LOGIN_USER} == "root" ];then
set_limits
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
12)
optimization_ssh
if [ ${LOGIN_USER} == "root" ];then
set_kernel
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
13)
set_ssh_port
if [ ${LOGIN_USER} == "root" ];then
optimization_ssh
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
14)
set_alias
if [ ${LOGIN_USER} == "root" ];then
set_ssh_port
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
15)
set_vimrc
if [ ${LOGIN_USER} == "root" ];then
set_alias
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
16)
set_mail
if [ ${LOGIN_USER} == "root" ];then
set_vimrc
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
17)
set_ps1
if [ ${LOGIN_USER} == "root" ];then
set_mail
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
18)
set_vim_env
if [ ${LOGIN_USER} == "root" ];then
set_ps1
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
19)
set_history_env
if [ ${LOGIN_USER} == "root" ];then
set_vim_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
20)
disable_restart
if [ ${LOGIN_USER} == "root" ];then
set_history_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
21)
reboot
if [ ${LOGIN_USER} == "root" ];then
disable_restart
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
22)
shutdown -h now
if [ ${LOGIN_USER} == "root" ];then
shutdown -r now
else
sudo shutdown -r now
fi
;;
23)
if [ ${LOGIN_USER} == "root" ];then
shutdown -h now
else
sudo shutdown -h now
fi
;;
24)
break
;;
*)
${COLOR}"输入错误,请输入正确的数字(1-23)"${END}
${COLOR}"输入错误,请输入正确的数字(1-24)"${END}
;;
esac
done
}
main(){
os
if [ ${MAIN_NAME} == "Anolis" ];then
if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 23 ];then
menu
fi
if [ ${LOGIN_USER} == "root" ];then
menu
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统"${END}
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录"${END}
menu
fi
}
main
os
if [ ${MAIN_NAME} == "Anolis" ];then
if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 23 ];then
main
fi
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END}
fi

View File

@@ -4,15 +4,16 @@
#Author: Raymond
#QQ: 88563128
#MP: Raymond运维
#Date: 2025-09-30
#Date: 2025-10-19
#FileName: reset_kylin_server.sh
#URL: https://wx.zsxq.com/group/15555885545422
#Description: The reset linux system initialization script supports
# “Kylin Server V10 and V11“ operating systems.
# “Kylin Server v10 and v11“ operating systems.
#Copyright (C): 2025 All rights reserved
#**********************************************************************************
COLOR="echo -e \\033[01;31m"
END='\033[0m'
LOGIN_USER=`whoami`
os(){
. /etc/os-release
@@ -24,12 +25,23 @@ os(){
fi
}
set_eth(){
set_root_login(){
read -p "请输入密码: " PASSWORD
echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config
sudo systemctl restart sshd
sudo -S passwd root <<-EOF
${PASSWORD}
${PASSWORD}
EOF
${COLOR}"${PRETTY_NAME}操作系统root用户登录已设置完成请重新登录后生效"${END}
}
set_kylin_eth(){
if grep -Eqi "(net\.ifnames|biosdevname)" /etc/default/grub;then
${COLOR}"${PRETTY_NAME}操作系统,网卡名配置文件已修改,不用修改!"${END}
else
sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub
if lsblk | grep -q efi;then
if lsblk | grep -q EFI;then
EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'`
grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null
else
@@ -43,6 +55,15 @@ set_eth(){
fi
}
set_eth(){
ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"`
if [ ${ETH_PREFIX_NAME} == "eth" ];then
${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END}
else
set_kylin_eth
fi
}
check_ip(){
local IP=$1
VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')
@@ -214,8 +235,8 @@ set_network(){
else
set_dual_network
fi
${COLOR}"${PRETTY_NAME}操作系统网络已设置成功10秒后机器会自动重启"${END}
sleep 10 && shutdown -r now
${COLOR}"${PRETTY_NAME}操作系统网络已设置成功10秒后机器会自动重启"${END}
sleep 10 && shutdown -r now
else
if [ ${IP_NUM} == "2" ];then
set_network_eth0
@@ -223,7 +244,7 @@ set_network(){
set_network_eth0
set_network_eth1
fi
${COLOR}"${PRETTY_NAME}操作系统,网络已设置成功,请重新启动系统后生效!"${END}
${COLOR}"${PRETTY_NAME}操作系统,网络已设置成功,请重新启动系统后生效!"${END}
fi
}
@@ -240,7 +261,7 @@ minimal_install(){
}
disable_firewalls(){
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END}
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务不要设置!"${END}
}
disable_selinux(){
@@ -254,13 +275,9 @@ disable_selinux(){
}
set_swap(){
if grep -Eqi "noauto" /etc/fstab;then
${COLOR}"${PRETTY_NAME}操作系统swap已被禁用不用设置"${END}
else
sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
fi
systemctl mask swap.target &> /dev/null
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
}
set_localtime(){
@@ -619,9 +636,9 @@ set_history_env(){
disable_restart(){
START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'`
if [ ${START_STATUS} == "enabled" ];then
systemctl disable ctrl-alt-del.target
systemctl disable ctrl-alt-del.target &> /dev/null
fi
systemctl mask ctrl-alt-del.target
systemctl mask ctrl-alt-del.target &> /dev/null
${COLOR}"${PRETTY_NAME}操作系统禁用ctrl+alt+del重启功能设置成功"${END}
}
@@ -629,107 +646,204 @@ menu(){
while true;do
echo -e "\E[$[RANDOM%7+31];1m"
cat <<-EOF
***************************************************************
* 系统初始化脚本菜单 *
* 1.修改网卡名 12.更改SSH端口号 *
* 2.设置网络 13.设置系统别名 *
* 3.设置主机名 14.设置vimrc配置文件 *
* 4.Minimal安装建议安装软件 15.安装邮件服务并配置邮件 *
* 5.关闭防火墙 16.设置PS1(请进入选择颜色) *
* 6.禁用SELinux 17.设置默认文本编辑器为vim *
* 7.禁用SWAP 18.设置history格式 *
* 8.设置系统时区 19.禁用ctrl+alt+del重启系统功能 *
* 9.优化资源限制参数 20.重启系统 *
* 10.优化内核参数 21.关机 *
* 11.优化SSH 22.退出 *
***************************************************************
********************************************************
* 系统初始化脚本菜单 *
* 1.设置root用户登录 13.更改SSH端口号 *
* 2.修改网卡名 14.设置系统别名 *
* 3.设置网络 15.设置vimrc配置文件 *
* 4.设置主机名 16.安装邮件服务并配置 *
* 5.建议安装软件 17.设置PS1(请进入选择颜色) *
* 6.关闭防火墙 18.设置默认文本编辑器为vim *
* 7.禁用SELinux 19.设置history格式 *
* 8.禁用SWAP 20.禁用ctrl+alt+del重启系统功能 *
* 9.设置系统时区 21.重启系统 *
* 10.优化资源限制参数 22.关机 *
* 11.优化内核参数 23.退出 *
* 12.优化SSH *
********************************************************
EOF
echo -e '\E[0m'
read -p "请选择相应的编号(1-22): " choice
read -p "请选择相应的编号(1-23): " choice
case ${choice} in
1)
set_eth
if [ ${LOGIN_USER} == "root" ];then
${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END}
else
set_root_login
fi
;;
2)
set_network
if [ ${LOGIN_USER} == "root" ];then
set_eth
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
3)
set_hostname
if [ ${LOGIN_USER} == "root" ];then
set_network
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
4)
minimal_install
if [ ${LOGIN_USER} == "root" ];then
set_hostname
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
5)
disable_firewalls
if [ ${LOGIN_USER} == "root" ];then
minimal_install
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
6)
disable_selinux
if [ ${LOGIN_USER} == "root" ];then
disable_firewalls
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
7)
set_swap
if [ ${LOGIN_USER} == "root" ];then
disable_selinux
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
8)
set_localtime
if [ ${LOGIN_USER} == "root" ];then
set_swap
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
9)
set_limits
if [ ${LOGIN_USER} == "root" ];then
set_localtime
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
10)
set_kernel
if [ ${LOGIN_USER} == "root" ];then
set_limits
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
11)
optimization_ssh
if [ ${LOGIN_USER} == "root" ];then
set_kernel
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
12)
set_ssh_port
if [ ${LOGIN_USER} == "root" ];then
optimization_ssh
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
13)
set_alias
if [ ${LOGIN_USER} == "root" ];then
set_ssh_port
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
14)
set_vimrc
if [ ${LOGIN_USER} == "root" ];then
set_alias
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
15)
set_mail
if [ ${LOGIN_USER} == "root" ];then
set_vimrc
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
16)
set_ps1
if [ ${LOGIN_USER} == "root" ];then
set_mail
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
17)
set_vim_env
if [ ${LOGIN_USER} == "root" ];then
set_ps1
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
18)
set_history_env
if [ ${LOGIN_USER} == "root" ];then
set_vim_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
19)
disable_restart
if [ ${LOGIN_USER} == "root" ];then
set_history_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
20)
reboot
if [ ${LOGIN_USER} == "root" ];then
disable_restart
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
21)
shutdown -h now
if [ ${LOGIN_USER} == "root" ];then
shutdown -r now
else
sudo shutdown -r now
fi
;;
22)
if [ ${LOGIN_USER} == "root" ];then
shutdown -h now
else
sudo shutdown -h now
fi
;;
23)
break
;;
*)
${COLOR}"输入错误,请输入正确的数字(1-22)"${END}
${COLOR}"输入错误,请输入正确的数字(1-23)"${END}
;;
esac
done
}
main(){
os
if [ ${MAIN_NAME} == "Kylin" ];then
if [ ${MAIN_VERSION_ID} == 10 -o ${MAIN_VERSION_ID} == 11 ];then
menu
fi
if [ ${LOGIN_USER} == "root" ];then
menu
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统"${END}
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录"${END}
menu
fi
}
main
os
if [ ${MAIN_NAME} == "Kylin" ];then
if [ ${MAIN_VERSION_ID} == 10 -o ${MAIN_VERSION_ID} == 11 ];then
main
fi
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END}
fi

View File

@@ -4,15 +4,16 @@
#Author: Raymond
#QQ: 88563128
#MP: Raymond运维
#Date: 2025-09-30
#Date: 2025-10-19
#FileName: reset_opencloudos.sh
#URL: https://wx.zsxq.com/group/15555885545422
#Description: The reset linux system initialization script supports
# “OpenCloudOS 8 and 9“ operating systems.
# “OpencloudOS 8 and 9“ operating systems.
#Copyright (C): 2025 All rights reserved
#**********************************************************************************
COLOR="echo -e \\033[01;31m"
END='\033[0m'
LOGIN_USER=`whoami`
os(){
. /etc/os-release
@@ -24,9 +25,20 @@ os(){
fi
}
set_root_login(){
read -p "请输入密码: " PASSWORD
echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config
sudo systemctl restart sshd
sudo -S passwd root <<-EOF
${PASSWORD}
${PASSWORD}
EOF
${COLOR}"${PRETTY_NAME}操作系统root用户登录已设置完成请重新登录后生效"${END}
}
set_opencloudos_7_8_eth(){
sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub
if lsblk | grep -q efi;then
if lsblk | grep -q EFI;then
EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'`
grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null
else
@@ -65,7 +77,7 @@ Name=eth1
EOF
}
set_eth(){
set_opencloudos_eth(){
if [ ${MAIN_VERSION_ID} == "7" -o ${MAIN_VERSION_ID} == "8" ];then
if grep -Eqi "(net\.ifnames|biosdevname)" /etc/default/grub;then
${COLOR}"${PRETTY_NAME}操作系统,网卡名配置文件已修改,不用修改!"${END}
@@ -97,6 +109,15 @@ set_eth(){
fi
}
set_eth(){
ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"`
if [ ${ETH_PREFIX_NAME} == "eth" ];then
${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END}
else
set_opencloudos_eth
fi
}
check_ip(){
local IP=$1
VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')
@@ -138,7 +159,7 @@ set_network_eth0(){
[ $? -eq 0 ] && break
done
if [ ${MAIN_VERSION_ID} == "7" -o ${MAIN_VERSION_ID} == "8" ];then
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<-EOF
cat > /etc/sysconfig/network-scripts/ifcfg-${ETHNAME} <<-EOF
NAME=${ETHNAME}
DEVICE=${ETHNAME}
ONBOOT=yes
@@ -336,7 +357,7 @@ minimal_install(){
}
disable_firewalls(){
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${NAME}} ${VERSION_ID}操作系统Firewall防火墙已关闭!"${END}; } || ${COLOR}"${NAME}} ${VERSION_ID}操作系统iptables防火墙已关闭!"${END}
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统默认没有安装Firewall防火墙服务不要设置!"${END}
}
disable_selinux(){
@@ -350,13 +371,9 @@ disable_selinux(){
}
set_swap(){
if grep -Eqi "noauto" /etc/fstab;then
${COLOR}"${NAME}} ${VERSION_ID}操作系统swap已被禁用不用设置"${END}
else
sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
fi
systemctl mask swap.target &> /dev/null
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
}
set_localtime(){
@@ -498,18 +515,35 @@ set_base_alias(){
ETHNAME2=`ip addr | awk -F"[ :]" '/^3/{print $3}'`
IP_NUM=`ip addr | awk -F"[: ]" '{print $1}' | grep -v '^$' | wc -l`
if [ ${IP_NUM} == "2" ];then
cat >>~/.bashrc <<-EOF
if [ ${MAIN_VERSION_ID} == "8" ];then
cat >>~/.bashrc <<-EOF
alias cdnet="cd /etc/sysconfig/network-scripts"
alias cdrepo="cd /etc/yum.repos.d"
alias vie0="vim /etc/sysconfig/network-scripts/ifcfg-${ETHNAME}"
EOF
else
cat >>~/.bashrc <<-EOF
alias cdnet="cd /etc/NetworkManager/system-connections"
alias cdrepo="cd /etc/yum.repos.d"
alias vie0="vim /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection"
EOF
fi
else
cat >>~/.bashrc <<-EOF
if [ -o ${MAIN_VERSION_ID} == "8" ];then
cat >>~/.bashrc <<-EOF
alias cdnet="cd /etc/sysconfig/network-scripts"
alias cdrepo="cd /etc/yum.repos.d"
alias vie0="vim /etc/sysconfig/network-scripts/ifcfg-${ETHNAME}"
alias vie1="vim /etc/sysconfig/network-scripts/ifcfg-${ETHNAME2}"
EOF
else
cat >>~/.bashrc <<-EOF
alias cdnet="cd /etc/NetworkManager/system-connections"
alias cdrepo="cd /etc/yum.repos.d"
alias vie0="vim /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection"
alias vie1="vim /etc/NetworkManager/system-connections/${ETHNAME2}.nmconnection"
EOF
fi
fi
DISK_NAME=`lsblk|awk -F" " '/disk/{printf $1}' | cut -c1-4`
if [ ${DISK_NAME} == "sda" ];then
@@ -715,9 +749,9 @@ set_history_env(){
disable_restart(){
START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'`
if [ ${START_STATUS} == "enabled" ];then
systemctl disable ctrl-alt-del.target
systemctl disable ctrl-alt-del.target &> /dev/null
fi
systemctl mask ctrl-alt-del.target
systemctl mask ctrl-alt-del.target &> /dev/null
${COLOR}"${PRETTY_NAME}操作系统禁用ctrl+alt+del重启功能设置成功"${END}
}
@@ -725,111 +759,211 @@ menu(){
while true;do
echo -e "\E[$[RANDOM%7+31];1m"
cat <<-EOF
***************************************************************
* 系统初始化脚本菜单 *
* 1.修改网卡名 13.更改SSH端口号 *
* 2.设置网络 14.设置系统别名 *
* 3.设置主机名 15.设置vimrc配置文件 *
* 4.设置镜像仓库 16.安装邮件服务并配置邮件 *
* 5.Minimal安装建议安装软件 17.设置PS1(请进入选择颜色) *
* 6.关闭防火墙 18.设置默认文本编辑器为vim *
* 7.禁用SELinux 19.设置history格式 *
* 8.禁用SWAP 20.禁用ctrl+alt+del重启系统功能 *
* 9.设置系统时区 21.重启系统 *
* 10.优化资源限制参数 22.关机 *
* 11.优化内核参数 23.退出 *
* 12.优化SSH *
***************************************************************
********************************************************
* 系统初始化脚本菜单 *
* 1.设置root用户登录 13.优化SSH *
* 2.修改网卡名 14.更改SSH端口号 *
* 3.设置网络 15.设置系统别名 *
* 4.设置主机名 16.设置vimrc配置文件 *
* 5.设置镜像仓库 17.安装邮件服务并配置 *
* 6.建议安装软件 18.设置PS1(请进入选择颜色) *
* 7.关闭防火墙 19.设置默认文本编辑器为vim *
* 8.禁用SELinux 20.设置history格式 *
* 9.禁用SWAP 21.禁用ctrl+alt+del重启系统功能 *
* 10.设置系统时区 22.重启系统 *
* 11.优化资源限制参数 23.关机 *
* 12.优化内核参数 24.退出 *
********************************************************
EOF
echo -e '\E[0m'
read -p "请选择相应的编号(1-23): " choice
read -p "请选择相应的编号(1-24): " choice
case ${choice} in
1)
set_eth
if [ ${LOGIN_USER} == "root" ];then
${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END}
else
set_root_login
fi
;;
2)
set_network
if [ ${LOGIN_USER} == "root" ];then
set_eth
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
3)
set_hostname
if [ ${LOGIN_USER} == "root" ];then
set_network
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
4)
opencloudos_menu
if [ ${LOGIN_USER} == "root" ];then
set_hostname
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
5)
minimal_install
if [ ${LOGIN_USER} == "root" ];then
base_menu
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
6)
disable_firewalls
if [ ${LOGIN_USER} == "root" ];then
minimal_install
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
7)
disable_selinux
if [ ${LOGIN_USER} == "root" ];then
disable_firewalls
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
8)
set_swap
if [ ${LOGIN_USER} == "root" ];then
disable_selinux
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
9)
set_localtime
if [ ${LOGIN_USER} == "root" ];then
set_swap
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
10)
set_limits
if [ ${LOGIN_USER} == "root" ];then
set_localtime
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
11)
set_kernel
if [ ${LOGIN_USER} == "root" ];then
set_limits
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
12)
optimization_ssh
if [ ${LOGIN_USER} == "root" ];then
set_kernel
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
13)
set_ssh_port
if [ ${LOGIN_USER} == "root" ];then
optimization_ssh
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
14)
set_alias
if [ ${LOGIN_USER} == "root" ];then
set_ssh_port
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
15)
set_vimrc
if [ ${LOGIN_USER} == "root" ];then
set_alias
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
16)
set_mail
if [ ${LOGIN_USER} == "root" ];then
set_vimrc
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
17)
set_ps1
if [ ${LOGIN_USER} == "root" ];then
set_mail
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
18)
set_vim_env
if [ ${LOGIN_USER} == "root" ];then
set_ps1
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
19)
set_history_env
if [ ${LOGIN_USER} == "root" ];then
set_vim_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
20)
disable_restart
if [ ${LOGIN_USER} == "root" ];then
set_history_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
21)
reboot
if [ ${LOGIN_USER} == "root" ];then
disable_restart
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
22)
shutdown -h now
if [ ${LOGIN_USER} == "root" ];then
shutdown -r now
else
sudo shutdown -r now
fi
;;
23)
if [ ${LOGIN_USER} == "root" ];then
shutdown -h now
else
sudo shutdown -h now
fi
;;
24)
break
;;
*)
${COLOR}"输入错误,请输入正确的数字(1-23)"${END}
${COLOR}"输入错误,请输入正确的数字(1-24)"${END}
;;
esac
done
}
main(){
os
if [ ${MAIN_NAME} == 'OpenCloudOS' ];then
if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 ];then
menu
fi
if [ ${LOGIN_USER} == "root" ];then
menu
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统"${END}
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录"${END}
menu
fi
}
main
os
if [ ${MAIN_NAME} == 'OpenCloudOS' ];then
if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 ];then
main
fi
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END}
fi

View File

@@ -4,7 +4,7 @@
#Author: Raymond
#QQ: 88563128
#MP: Raymond运维
#Date: 2025-09-30
#Date: 2025-10-18
#FileName: reset_openeuler.sh
#URL: https://wx.zsxq.com/group/15555885545422
#Description: The reset linux system initialization script supports
@@ -13,6 +13,7 @@
#**********************************************************************************
COLOR="echo -e \\033[01;31m"
END='\033[0m'
LOGIN_USER=`whoami`
os(){
. /etc/os-release
@@ -24,12 +25,23 @@ os(){
fi
}
set_eth(){
set_root_login(){
read -p "请输入密码: " PASSWORD
echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config
sudo systemctl restart sshd
sudo -S passwd root <<-EOF
${PASSWORD}
${PASSWORD}
EOF
${COLOR}"${PRETTY_NAME}操作系统root用户登录已设置完成请重新登录后生效"${END}
}
set_openeuler_eth(){
if grep -Eqi "(net\.ifnames|biosdevname)" /etc/default/grub;then
${COLOR}"${PRETTY_NAME}操作系统,网卡名配置文件已修改,不用修改!"${END}
else
sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub
if lsblk | grep -q efi;then
if lsblk | grep -q EFI;then
EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'`
grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null
else
@@ -43,6 +55,15 @@ set_eth(){
fi
}
set_eth(){
ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"`
if [ ${ETH_PREFIX_NAME} == "eth" ];then
${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END}
else
set_openeuler_eth
fi
}
check_ip(){
local IP=$1
VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')
@@ -308,7 +329,7 @@ minimal_install(){
}
disable_firewalls(){
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END}
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务不要设置!"${END}
}
disable_selinux(){
@@ -322,13 +343,9 @@ disable_selinux(){
}
set_swap(){
if grep -Eqi "noauto" /etc/fstab;then
${COLOR}"${PRETTY_NAME}操作系统swap已被禁用不用设置"${END}
else
sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
fi
systemctl mask swap.target &> /dev/null
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
}
set_localtime(){
@@ -687,9 +704,9 @@ set_history_env(){
disable_restart(){
START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'`
if [ ${START_STATUS} == "enabled" ];then
systemctl disable ctrl-alt-del.target
systemctl disable ctrl-alt-del.target &> /dev/null
fi
systemctl mask ctrl-alt-del.target
systemctl mask ctrl-alt-del.target &> /dev/null
${COLOR}"${PRETTY_NAME}操作系统禁用ctrl+alt+del重启功能设置成功"${END}
}
@@ -697,111 +714,211 @@ menu(){
while true;do
echo -e "\E[$[RANDOM%7+31];1m"
cat <<-EOF
***************************************************************
* 系统初始化脚本菜单 *
* 1.修改网卡名 13.更改SSH端口号 *
* 2.设置网络 14.设置系统别名 *
* 3.设置主机名 15.设置vimrc配置文件 *
* 4.设置镜像仓库 16.安装邮件服务并配置邮件 *
* 5.Minimal安装建议安装软件 17.设置PS1(请进入选择颜色) *
* 6.关闭防火墙 18.设置默认文本编辑器为vim *
* 7.禁用SELinux 19.设置history格式 *
* 8.禁用SWAP 20.禁用ctrl+alt+del重启系统功能 *
* 9.设置系统时区 21.重启系统 *
* 10.优化资源限制参数 22.关机 *
* 11.优化内核参数 23.退出 *
* 12.优化SSH *
***************************************************************
********************************************************
* 系统初始化脚本菜单 *
* 1.设置root用户登录 13.优化SSH *
* 2.修改网卡名 14.更改SSH端口号 *
* 3.设置网络 15.设置系统别名 *
* 4.设置主机名 16.设置vimrc配置文件 *
* 5.设置镜像仓库 17.安装邮件服务并配置 *
* 6.建议安装软件 18.设置PS1(请进入选择颜色) *
* 7.关闭防火墙 19.设置默认文本编辑器为vim *
* 8.禁用SELinux 20.设置history格式 *
* 9.禁用SWAP 21.禁用ctrl+alt+del重启系统功能 *
* 10.设置系统时区 22.重启系统 *
* 11.优化资源限制参数 23.关机 *
* 12.优化内核参数 24.退出 *
********************************************************
EOF
echo -e '\E[0m'
read -p "请选择相应的编号(1-23): " choice
read -p "请选择相应的编号(1-24): " choice
case ${choice} in
1)
set_eth
if [ ${LOGIN_USER} == "root" ];then
${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END}
else
set_root_login
fi
;;
2)
set_network
if [ ${LOGIN_USER} == "root" ];then
set_eth
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
3)
set_hostname
if [ ${LOGIN_USER} == "root" ];then
set_network
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
4)
base_menu
if [ ${LOGIN_USER} == "root" ];then
set_hostname
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
5)
minimal_install
if [ ${LOGIN_USER} == "root" ];then
base_menu
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
6)
disable_firewalls
if [ ${LOGIN_USER} == "root" ];then
minimal_install
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
7)
disable_selinux
if [ ${LOGIN_USER} == "root" ];then
disable_firewalls
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
8)
set_swap
if [ ${LOGIN_USER} == "root" ];then
disable_selinux
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
9)
set_localtime
if [ ${LOGIN_USER} == "root" ];then
set_swap
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
10)
set_limits
if [ ${LOGIN_USER} == "root" ];then
set_localtime
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
11)
set_kernel
if [ ${LOGIN_USER} == "root" ];then
set_limits
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
12)
optimization_ssh
if [ ${LOGIN_USER} == "root" ];then
set_kernel
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
13)
set_ssh_port
if [ ${LOGIN_USER} == "root" ];then
optimization_ssh
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
14)
set_alias
if [ ${LOGIN_USER} == "root" ];then
set_ssh_port
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
15)
set_vimrc
if [ ${LOGIN_USER} == "root" ];then
set_alias
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
16)
set_mail
if [ ${LOGIN_USER} == "root" ];then
set_vimrc
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
17)
set_ps1
if [ ${LOGIN_USER} == "root" ];then
set_mail
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
18)
set_vim_env
if [ ${LOGIN_USER} == "root" ];then
set_ps1
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
19)
set_history_env
if [ ${LOGIN_USER} == "root" ];then
set_vim_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
20)
disable_restart
if [ ${LOGIN_USER} == "root" ];then
set_history_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
21)
reboot
if [ ${LOGIN_USER} == "root" ];then
disable_restart
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
22)
shutdown -h now
if [ ${LOGIN_USER} == "root" ];then
shutdown -r now
else
sudo shutdown -r now
fi
;;
23)
if [ ${LOGIN_USER} == "root" ];then
shutdown -h now
else
sudo shutdown -h now
fi
;;
24)
break
;;
*)
${COLOR}"输入错误,请输入正确的数字(1-23)"${END}
${COLOR}"输入错误,请输入正确的数字(1-24)"${END}
;;
esac
done
}
main(){
os
if [ ${MAIN_NAME} == "openEuler" ];then
if [ ${MAIN_VERSION_ID} == 22 -o ${MAIN_VERSION_ID} == 24 ];then
menu
fi
if [ ${LOGIN_USER} == "root" ];then
menu
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统"${END}
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录"${END}
menu
fi
}
main
os
if [ ${MAIN_NAME} == "openEuler" ];then
if [ ${MAIN_VERSION_ID} == 22 -o ${MAIN_VERSION_ID} == 24 ];then
main
fi
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END}
fi

View File

@@ -4,15 +4,16 @@
#Author: Raymond
#QQ: 88563128
#MP: Raymond运维
#Date: 2025-09-30
#Date: 2025-10-19
#FileName: reset_opensuse.sh
#URL: https://wx.zsxq.com/group/15555885545422
#Description: The reset linux system initialization script supports
# “openSUSE Leap 15“ operating systems.
# “openSUSE Leap 15 and 16“ operating systems.
#Copyright (C): 2025 All rights reserved
#**********************************************************************************
COLOR="echo -e \\033[01;31m"
END='\033[0m'
LOGIN_USER=`whoami`
os(){
. /etc/os-release
@@ -24,6 +25,51 @@ os(){
fi
}
set_root_login(){
read -p "请输入密码: " PASSWORD
if [ ${MAIN_VERSION_ID} == 15 ];then
echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config
else
echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /usr/etc/ssh/sshd_config
fi
sudo systemctl restart sshd
sudo -S passwd root <<-EOF
${PASSWORD}
${PASSWORD}
EOF
${COLOR}"${PRETTY_NAME}操作系统root用户登录已设置完成请重新登录后生效"${END}
}
set_opensuse_eth(){
if grep -Eqi "(net\.ifnames|biosdevname)" /etc/default/grub;then
${COLOR}"${PRETTY_NAME}操作系统,网卡名配置文件已修改,不用修改!"${END}
else
sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@net.ifnames=0 biosdevname=0"@' /etc/default/grub
if lsblk | grep -q EFI;then
EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'`
grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null
else
grub2-mkconfig -o /boot/grub2/grub.cfg >& /dev/null
fi
ETHNAME=`ip addr | awk -F"[ :]" '/^2/{print $3}'`
mv /etc/NetworkManager/system-connections/Wired\ connection\ 1.nmconnection /etc/NetworkManager/system-connections/eth0.nmconnection
sed -ri.bak -e 's/Wired\ connection\ 1/eth0/' -e 's/'${ETHNAME}'/eth0/' /etc/NetworkManager/system-connections/eth0.nmconnection
${COLOR}"${PRETTY_NAME}操作系统网卡名已修改成功10秒后机器会自动重启"${END}
sleep 10 && shutdown -r now
fi
}
set_eth(){
ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"`
if [ ${ETH_PREFIX_NAME} == "eth" ];then
${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END}
else
if [ ${MAIN_VERSION_ID} == 16 ];then
set_opensuse_eth
fi
fi
}
check_ip(){
local IP=$1
VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')
@@ -64,16 +110,30 @@ set_network_eth0(){
check_ip ${BACKUP_DNS}
[ $? -eq 0 ] && break
done
cat > /etc/sysconfig/network/ifcfg-${ETHNAME} <<-EOF
if [ ${MAIN_VERSION_ID} == 15 ];then
cat > /etc/sysconfig/network/ifcfg-${ETHNAME} <<-EOF
STARTMODE='auto'
BOOTPROTO='static'
IPADDR='${IP}/${PREFIX}'
EOF
touch /etc/sysconfig/network/routes
cat > /etc/sysconfig/network/routes <<-EOF
touch /etc/sysconfig/network/routes
cat > /etc/sysconfig/network/routes <<-EOF
default ${GATEWAY} - -
EOF
sed -ri 's/(NETCONFIG_DNS_STATIC_SERVERS=).*/\1"'${PRIMARY_DNS}' '${BACKUP_DNS}'"/g' /etc/sysconfig/network/config
sed -ri 's/(NETCONFIG_DNS_STATIC_SERVERS=).*/\1"'${PRIMARY_DNS}' '${BACKUP_DNS}'"/g' /etc/sysconfig/network/config
else
cat > /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection <<-EOF
[connection]
id=${ETHNAME}
type=ethernet
interface-name=${ETHNAME}
[ipv4]
address1=${IP}/${PREFIX},${GATEWAY}
dns=${PRIMARY_DNS};${BACKUP_DNS};
method=manual
EOF
fi
}
set_network_eth1(){
@@ -84,11 +144,25 @@ set_network_eth1(){
[ $? -eq 0 ] && break
done
read -p "请输入子网掩码位数: " PREFIX2
cat > /etc/sysconfig/network/ifcfg-${ETHNAME2} <<-EOF
if [ ${MAIN_VERSION_ID} == 15 ];then
cat > /etc/sysconfig/network/ifcfg-${ETHNAME2} <<-EOF
STARTMODE='auto'
BOOTPROTO='static'
IPADDR='${IP2}/${PREFIX2}'
EOF
else
cat > /etc/NetworkManager/system-connections/${ETHNAME2}.nmconnection <<-EOF
[connection]
id=${ETHNAME2}
type=ethernet
interface-name=${ETHNAME2}
[ipv4]
address1=${IP2}/${PREFIX2}
method=manual
EOF
chmod 600 /etc/NetworkManager/system-connections/${ETHNAME2}.nmconnection
fi
}
set_network(){
@@ -173,12 +247,12 @@ iscas(){
}
set_zypper(){
OLD_MIRROR=$(awk -F'/' '/^baseurl=/{print $3}' /etc/zypp/repos.d/repo-*.repo | head -1)
OLD_MIRROR=$(awk -F'/' '/^baseurl=/{print $3}' /etc/zypp/repos.d/*repo-*.repo | head -1)
OLD_MIRROR_URL=`echo ${OLD_MIRROR} | awk -F"." '{print $2}'`
if [ ${OLD_MIRROR_URL} == "opensuse" ];then
sed -i.bak 's|http.*://'${OLD_MIRROR}'|https://'${MIRROR}'/opensuse|g' /etc/zypp/repos.d/repo-*.repo
sed -i.bak 's|http.*://'${OLD_MIRROR}'|https://'${MIRROR}'/opensuse|g' /etc/zypp/repos.d/*repo-*.repo
else
sed -i -e 's|'${OLD_MIRROR}'|'${MIRROR}'|g' /etc/zypp/repos.d/repo-*.repo
sed -i -e 's|'${OLD_MIRROR}'|'${MIRROR}'|g' /etc/zypp/repos.d/*repo-*.repo
fi
${COLOR}"更新镜像源中,请稍等..."${END}
zypper clean &> /dev/null && zypper refresh &> /dev/null
@@ -287,28 +361,45 @@ EOF
minimal_install(){
${COLOR}'开始安装“建议安装软件包”,请稍等......'${END}
zypper addrepo https://download.opensuse.org/repositories/home:psi-jack/15.6/home:psi-jack.repo &> /dev/null
zypper --no-gpg-checks refresh &> /dev/null
zypper install -y lrzsz tree tmux tcpdump iotop bc &> /dev/null
zypper install -y tree tmux tcpdump iotop bc &> /dev/null
if [ ${MAIN_VERSION_ID} == 15 ];then
zypper addrepo https://download.opensuse.org/repositories/home:psi-jack/15.6/home:psi-jack.repo &> /dev/null
zypper --no-gpg-checks refresh &> /dev/null
zypper install -y lrzsz &> /dev/null
fi
${COLOR}"${PRETTY_NAME}操作系统,建议安装软件包已安装完成!"${END}
}
disable_firewalls(){
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END}
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务不要设置!"${END}
}
disable_selinux(){
if [ ${MAIN_VERSION_ID} == 16 ];then
if [ `getenforce` == "Enforcing" ];then
sed -ri.bak 's/^(SELINUX=).*/\1disabled/' /etc/selinux/config
setenforce 0
${COLOR}"${PRETTY_NAME}操作系统SELinux已禁用请重新启动系统后才能永久生效"${END}
else
${COLOR}"${PRETTY_NAME}操作系统SELinux已被禁用不用设置"${END}
fi
else
${COLOR}"${PRETTY_NAME}操作系统默认没有安装SELinux不用设置"${END}
fi
}
disable_apparmor(){
systemctl disable --now apparmor &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统AppArmor已禁用"${END}
if [ ${MAIN_VERSION_ID} == 15 ];then
systemctl disable --now apparmor &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统AppArmor已禁用"${END}
else
${COLOR}"${PRETTY_NAME}操作系统默认没有安装AppArmor不用设置"${END}
fi
}
set_swap(){
if grep -Eqi "noauto" /etc/fstab;then
${COLOR}"${PRETTY_NAME}操作系统swap已被禁用不用设置"${END}
else
sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
fi
systemctl mask swap.target &> /dev/null
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
}
set_localtime(){
@@ -431,16 +522,28 @@ EOF
}
optimization_ssh(){
sed -ri.bak -e 's/^#(UseDNS).*/\1 no/' -e 's/^(GSSAPIAuthentication).*/\1 no/' /etc/ssh/sshd_config
if [ ${MAIN_VERSION_ID} == 15 ];then
sed -ri.bak -e 's/^#(UseDNS).*/\1 no/' -e 's/^(GSSAPIAuthentication).*/\1 no/' /etc/ssh/sshd_config
else
sed -ri.bak -e 's/^#(UseDNS).*/\1 no/' -e 's/^(GSSAPIAuthentication).*/\1 no/' /usr/etc/ssh/sshd_config
fi
systemctl restart sshd
${COLOR}"${PRETTY_NAME}操作系统SSH已优化完成"${END}
}
set_ssh_port(){
disable_apparmor
if [ ${MAIN_VERSION_ID} == 15 ];then
disable_apparmor
else
disable_selinux
fi
disable_firewalls
read -p "请输入端口号: " PORT
sed -i 's/#Port 22/Port '${PORT}'/' /etc/ssh/sshd_config
if [ ${MAIN_VERSION_ID} == 15 ];then
sed -i 's/#Port 22/Port '${PORT}'/' /etc/ssh/sshd_config
else
sed -i 's/#Port 22/Port '${PORT}'/' /usr/etc/ssh/sshd_config
fi
systemctl restart sshd
${COLOR}"${PRETTY_NAME}操作系统更改SSH端口号已完成请重新登陆后生效"${END}
}
@@ -450,18 +553,35 @@ set_base_alias(){
ETHNAME2=`ip addr | awk -F"[ :]" '/^3/{print $3}'`
IP_NUM=`ip addr | awk -F"[: ]" '{print $1}' | grep -v '^$' | wc -l`
if [ ${IP_NUM} == "2" ];then
cat >>~/.bashrc <<-EOF
if [ ${MAIN_VERSION_ID} == "15" ];then
cat >>~/.bashrc <<-EOF
alias cdnet="cd /etc/sysconfig/network"
alias cdrepo="cd /etc/zypp/repos.d"
alias vie0="vim /etc/sysconfig/network/ifcfg-${ETHNAME}"
EOF
else
cat >>~/.bashrc <<-EOF
alias cdnet="cd /etc/NetworkManager/system-connections"
alias cdrepo="cd /etc/zypp/repos.d"
alias vie0="vim /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection"
EOF
fi
else
cat >>~/.bashrc <<-EOF
if [ -o ${MAIN_VERSION_ID} == "15" ];then
cat >>~/.bashrc <<-EOF
alias cdnet="cd /etc/sysconfig/network"
alias cdrepo="cd /etc/zypp/repos.d"
alias vie0="vim /etc/sysconfig/network/ifcfg-${ETHNAME}"
alias vie1="vim /etc/sysconfig/network/ifcfg-${ETHNAME2}"
EOF
else
cat >>~/.bashrc <<-EOF
alias cdnet="cd /etc/NetworkManager/system-connections"
alias cdrepo="cd /etc/zypp/repos.d"
alias vie0="vim /etc/NetworkManager/system-connections/${ETHNAME}.nmconnection"
alias vie1="vim /etc/NetworkManager/system-connections/${ETHNAME2}.nmconnection"
EOF
fi
fi
DISK_NAME=`lsblk|awk -F" " '/disk/{printf $1}' | cut -c1-4`
if [ ${DISK_NAME} == "sda" ];then
@@ -473,9 +593,13 @@ EOF
}
set_alias(){
if grep -Eqi "(.*cdnet|.*cdrepo|.*vie0|.*vie1|.*scandisk)" ~/.bashrc;then
sed -i -e '/.*cdnet/d' -e '/.*cdrepo/d' -e '/.*vie0/d' -e '/.*vie1/d' -e '/.*scandisk/d' ~/.bashrc
set_base_alias
if [ -a ~/.bashrc ];then
if grep -Eqi "(.*cdnet|.*cdrepo|.*vie0|.*vie1|.*scandisk)" ~/.bashrc;then
sed -i -e '/.*cdnet/d' -e '/.*cdrepo/d' -e '/.*vie0/d' -e '/.*vie1/d' -e '/.*scandisk/d' ~/.bashrc
set_base_alias
else
set_base_alias
fi
else
set_base_alias
fi
@@ -565,9 +689,13 @@ set_base_ps1(){
}
set_ps1_env(){
if grep -Eqi "^.*PS1" ~/.bashrc;then
sed -i '/^.*PS1/d' ~/.bashrc
set_base_ps1
if [ -a ~/.bashrc ];then
if grep -Eqi "^.*PS1" ~/.bashrc;then
sed -i '/^.*PS1/d' ~/.bashrc
set_base_ps1
else
set_base_ps1
fi
else
set_base_ps1
fi
@@ -641,9 +769,13 @@ set_vim(){
}
set_vim_env(){
if grep -Eqi ".*EDITOR" ~/.bashrc;then
sed -i '/.*EDITOR/d' ~/.bashrc
set_vim
if [ -a ~/.bashrc ];then
if grep -Eqi ".*EDITOR" ~/.bashrc;then
sed -i '/.*EDITOR/d' ~/.bashrc
set_vim
else
set_vim
fi
else
set_vim
fi
@@ -655,9 +787,13 @@ set_history(){
}
set_history_env(){
if grep -Eqi ".*HISTTIMEFORMAT" ~/.bashrc;then
sed -i '/.*HISTTIMEFORMAT/d' ~/.bashrc
set_history
if [ -a ~/.bashrc ];then
if grep -Eqi ".*HISTTIMEFORMAT" ~/.bashrc;then
sed -i '/.*HISTTIMEFORMAT/d' ~/.bashrc
set_history
else
set_history
fi
else
set_history
fi
@@ -667,9 +803,9 @@ set_history_env(){
disable_restart(){
START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'`
if [ ${START_STATUS} == "enabled" ];then
systemctl disable ctrl-alt-del.target
systemctl disable ctrl-alt-del.target &> /dev/null
fi
systemctl mask ctrl-alt-del.target
systemctl mask ctrl-alt-del.target &> /dev/null
${COLOR}"${PRETTY_NAME}操作系统禁用ctrl+alt+del重启功能设置成功"${END}
}
@@ -677,107 +813,219 @@ menu(){
while true;do
echo -e "\E[$[RANDOM%7+31];1m"
cat <<-EOF
*******************************************************
* 系统初始化脚本菜单 *
* 1.设置网络 12.更改SSH端口号 *
* 2.设置主机13.设置系统别名 *
* 3.设置镜像仓库 14.设置vimrc配置文件 *
* 4.建议安装软件 15.安装邮件服务并配置邮件 *
* 5.关闭防火墙 16.设置PS1(请进入选择颜色) *
* 6.禁用AppArmor 17.设置默认文本编辑器为vim *
* 7.禁用SWAP 18.设置history格式 *
* 8.设置系统时区 19.禁用ctrl+alt+del重启系统功能 *
* 9.优化资源限制参数 20.重启系统 *
* 10.优化内核参数 21.关机 *
* 11.优化SSH 22.退出 *
*******************************************************
********************************************************
* 系统初始化脚本菜单 *
* 1.设置root用户登录 14.优化SSH *
* 2.修改网卡 15.更改SSH端口号 *
* 3.设置网络 16.设置系统别名 *
* 4.设置主机名 17.设置vimrc配置文件 *
* 5.设置镜像仓库 18.安装邮件服务并配置 *
* 6.建议安装软件 19.设置PS1(请进入选择颜色) *
* 7.关闭防火墙 20.设置默认文本编辑器为vim *
* 8.禁用SELinux 21.设置history格式 *
* 9.禁用AppArmor 22.禁用ctrl+alt+del重启系统功能 *
* 10.禁用SWAP 23.重启系统 *
* 11.设置系统时区 24.关机 *
* 12.优化资源限制参数 25.退出 *
* 13.优化内核参数 *
********************************************************
EOF
echo -e '\E[0m'
read -p "请选择相应的编号(1-22): " choice
read -p "请选择相应的编号(1-25): " choice
case ${choice} in
1)
set_network
if [ ${LOGIN_USER} == "root" ];then
${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END}
else
set_root_login
fi
;;
2)
set_hostname
if [ ${LOGIN_USER} == "root" ];then
set_eth
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
3)
base_menu
if [ ${LOGIN_USER} == "root" ];then
set_network
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
4)
minimal_install
if [ ${LOGIN_USER} == "root" ];then
set_hostname
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
5)
disable_firewalls
if [ ${LOGIN_USER} == "root" ];then
base_menu
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
6)
disable_apparmor
if [ ${LOGIN_USER} == "root" ];then
minimal_install
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
7)
set_swap
if [ ${LOGIN_USER} == "root" ];then
disable_firewalls
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
8)
set_localtime
if [ ${LOGIN_USER} == "root" ];then
disable_selinux
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
9)
set_limits
if [ ${LOGIN_USER} == "root" ];then
disable_apparmor
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
10)
set_kernel
if [ ${LOGIN_USER} == "root" ];then
set_swap
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
11)
optimization_ssh
if [ ${LOGIN_USER} == "root" ];then
set_localtime
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
12)
set_ssh_port
if [ ${LOGIN_USER} == "root" ];then
set_limits
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
13)
set_alias
if [ ${LOGIN_USER} == "root" ];then
set_kernel
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
14)
set_vimrc
if [ ${LOGIN_USER} == "root" ];then
optimization_ssh
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
15)
set_mail
if [ ${LOGIN_USER} == "root" ];then
set_ssh_port
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
16)
set_ps1
if [ ${LOGIN_USER} == "root" ];then
set_alias
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
17)
set_vim_env
if [ ${LOGIN_USER} == "root" ];then
set_vimrc
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
18)
set_history_env
if [ ${LOGIN_USER} == "root" ];then
set_mail
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
19)
disable_restart
if [ ${LOGIN_USER} == "root" ];then
set_ps1
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
20)
reboot
if [ ${LOGIN_USER} == "root" ];then
set_vim_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
21)
shutdown -h now
if [ ${LOGIN_USER} == "root" ];then
set_history_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
22)
if [ ${LOGIN_USER} == "root" ];then
disable_restart
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
23)
if [ ${LOGIN_USER} == "root" ];then
shutdown -r now
else
sudo shutdown -r now
fi
;;
24)
if [ ${LOGIN_USER} == "root" ];then
shutdown -h now
else
sudo shutdown -h now
fi
;;
25)
break
;;
*)
${COLOR}"输入错误,请输入正确的数字(1-22)"${END}
${COLOR}"输入错误,请输入正确的数字(1-25)"${END}
;;
esac
done
}
main(){
os
if [ ${MAIN_NAME} == "openSUSE" ];then
if [ ${MAIN_VERSION_ID} == 15 ];then
menu
fi
if [ ${LOGIN_USER} == "root" ];then
menu
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统"${END}
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录"${END}
menu
fi
}
main
os
if [ ${MAIN_NAME} == "openSUSE" ];then
if [ ${MAIN_VERSION_ID} == 15 -o ${MAIN_VERSION_ID} == 16 ];then
main
fi
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END}
fi

View File

@@ -4,7 +4,7 @@
#Author: Raymond
#QQ: 88563128
#MP: Raymond运维
#Date: 2025-09-30
#Date: 2025-10-19
#FileName: reset_uos_server.sh
#URL: https://wx.zsxq.com/group/15555885545422
#Description: The reset linux system initialization script supports
@@ -13,6 +13,7 @@
#**********************************************************************************
COLOR="echo -e \\033[01;31m"
END='\033[0m'
LOGIN_USER=`whoami`
os(){
. /etc/os-release
@@ -24,12 +25,23 @@ os(){
fi
}
set_eth(){
set_root_login(){
read -p "请输入密码: " PASSWORD
echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config
sudo systemctl restart sshd
sudo -S passwd root <<-EOF
${PASSWORD}
${PASSWORD}
EOF
${COLOR}"${PRETTY_NAME}操作系统root用户登录已设置完成请重新登录后生效"${END}
}
set_uos_eth(){
if grep -Eqi "(net\.ifnames|biosdevname)" /etc/default/grub;then
${COLOR}"${PRETTY_NAME}操作系统,网卡名配置文件已修改,不用修改!"${END}
else
sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub
if lsblk | grep -q efi;then
if lsblk | grep -q EFI;then
EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'`
grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null
else
@@ -43,6 +55,15 @@ set_eth(){
fi
}
set_eth(){
ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"`
if [ ${ETH_PREFIX_NAME} == "eth" ];then
${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END}
else
set_uos_eth
fi
}
check_ip(){
local IP=$1
VALID_CHECK=$(echo ${IP}|awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')
@@ -174,7 +195,7 @@ minimal_install(){
}
disable_firewalls(){
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END}
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务不要设置!"${END}
}
disable_selinux(){
@@ -188,13 +209,9 @@ disable_selinux(){
}
set_swap(){
if grep -Eqi "noauto" /etc/fstab;then
${COLOR}"${PRETTY_NAME}操作系统swap已被禁用不用设置"${END}
else
sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
fi
systemctl mask swap.target &> /dev/null
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
}
set_localtime(){
@@ -553,9 +570,9 @@ set_history_env(){
disable_restart(){
START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'`
if [ ${START_STATUS} == "enabled" ];then
systemctl disable ctrl-alt-del.target
systemctl disable ctrl-alt-del.target &> /dev/null
fi
systemctl mask ctrl-alt-del.target
systemctl mask ctrl-alt-del.target &> /dev/null
${COLOR}"${PRETTY_NAME}操作系统禁用ctrl+alt+del重启功能设置成功"${END}
}
@@ -563,107 +580,204 @@ menu(){
while true;do
echo -e "\E[$[RANDOM%7+31];1m"
cat <<-EOF
***************************************************************
* 系统初始化脚本菜单 *
* 1.修改网卡名 12.更改SSH端口号 *
* 2.设置网络 13.设置系统别名 *
* 3.设置主机名 14.设置vimrc配置文件 *
* 4.Minimal安装建议安装软件 15.安装邮件服务并配置邮件 *
* 5.关闭防火墙 16.设置PS1(请进入选择颜色) *
* 6.禁用SELinux 17.设置默认文本编辑器为vim *
* 7.禁用SWAP 18.设置history格式 *
* 8.设置系统时区 19.禁用ctrl+alt+del重启系统功能 *
* 9.优化资源限制参数 20.重启系统 *
* 10.优化内核参数 21.关机 *
* 11.优化SSH 22.退出 *
***************************************************************
********************************************************
* 系统初始化脚本菜单 *
* 1.设置root用户登录 13.更改SSH端口号 *
* 2.修改网卡名 14.设置系统别名 *
* 3.设置网络 15.设置vimrc配置文件 *
* 4.设置主机名 16.安装邮件服务并配置 *
* 5.建议安装软件 17.设置PS1(请进入选择颜色) *
* 6.关闭防火墙 18.设置默认文本编辑器为vim *
* 7.禁用SELinux 19.设置history格式 *
* 8.禁用SWAP 20.禁用ctrl+alt+del重启系统功能 *
* 9.设置系统时区 21.重启系统 *
* 10.优化资源限制参数 22.关机 *
* 11.优化内核参数 23.退出 *
* 12.优化SSH *
********************************************************
EOF
echo -e '\E[0m'
read -p "请选择相应的编号(1-22): " choice
read -p "请选择相应的编号(1-23): " choice
case ${choice} in
1)
set_eth
if [ ${LOGIN_USER} == "root" ];then
${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END}
else
set_root_login
fi
;;
2)
set_network
if [ ${LOGIN_USER} == "root" ];then
set_eth
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
3)
set_hostname
if [ ${LOGIN_USER} == "root" ];then
set_network
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
4)
minimal_install
if [ ${LOGIN_USER} == "root" ];then
set_hostname
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
5)
disable_firewalls
if [ ${LOGIN_USER} == "root" ];then
minimal_install
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
6)
disable_selinux
if [ ${LOGIN_USER} == "root" ];then
disable_firewalls
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
7)
set_swap
if [ ${LOGIN_USER} == "root" ];then
disable_selinux
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
8)
set_localtime
if [ ${LOGIN_USER} == "root" ];then
set_swap
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
9)
set_limits
if [ ${LOGIN_USER} == "root" ];then
set_localtime
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
10)
set_kernel
if [ ${LOGIN_USER} == "root" ];then
set_limits
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
11)
optimization_ssh
if [ ${LOGIN_USER} == "root" ];then
set_kernel
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
12)
set_ssh_port
if [ ${LOGIN_USER} == "root" ];then
optimization_ssh
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
13)
set_alias
if [ ${LOGIN_USER} == "root" ];then
set_ssh_port
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
14)
set_vimrc
if [ ${LOGIN_USER} == "root" ];then
set_alias
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
15)
set_mail
if [ ${LOGIN_USER} == "root" ];then
set_vimrc
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
16)
set_ps1
if [ ${LOGIN_USER} == "root" ];then
set_mail
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
17)
set_vim_env
if [ ${LOGIN_USER} == "root" ];then
set_ps1
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
18)
set_history_env
if [ ${LOGIN_USER} == "root" ];then
set_vim_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
19)
disable_restart
if [ ${LOGIN_USER} == "root" ];then
set_history_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
20)
reboot
if [ ${LOGIN_USER} == "root" ];then
disable_restart
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
21)
shutdown -h now
if [ ${LOGIN_USER} == "root" ];then
shutdown -r now
else
sudo shutdown -r now
fi
;;
22)
if [ ${LOGIN_USER} == "root" ];then
shutdown -h now
else
sudo shutdown -h now
fi
;;
23)
break
;;
*)
${COLOR}"输入错误,请输入正确的数字(1-22)"${END}
${COLOR}"输入错误,请输入正确的数字(1-23)"${END}
;;
esac
done
}
main(){
os
if [ ${MAIN_NAME} == "UOS" ];then
if [ ${MAIN_VERSION_ID} == 20 ];then
menu
fi
if [ ${LOGIN_USER} == "root" ];then
menu
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统"${END}
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录"${END}
menu
fi
}
main
os
if [ ${MAIN_NAME} == "UOS" ];then
if [ ${MAIN_VERSION_ID} == 20 ];then
main
fi
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END}
fi

View File

@@ -4,11 +4,11 @@
#Author: Raymond
#QQ: 88563128
#MP: Raymond运维
#Date: 2025-09-30
#Date: 2025-10-20
#FileName: reset_v10.sh
#URL: https://wx.zsxq.com/group/15555885545422
#Description: The reset linux system initialization script supports
# “Rocky Linux 8, 9 and 10, AlmaLinux 8, 9 and 10,
# “Rocky Linux 8, 9 and 10, Almalinux 8, 9 and 10,
# CentOS 7, CentOS Stream 8, 9 and 10,
# Ubuntu Server 18.04, 20.04, 22.04 and 24.04 LTS,
# Debian 11 , 12 and 13“ operating systems.
@@ -16,6 +16,7 @@
#**********************************************************************************
COLOR="echo -e \\033[01;31m"
END='\033[0m'
LOGIN_USER=`whoami`
os(){
. /etc/os-release
@@ -27,9 +28,34 @@ os(){
fi
}
set_root_login(){
read -p "请输入密码: " PASSWORD
echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config
if [ ${MAIN_NAME} == "Ubuntu" ];then
if [ ${MAIN_VERSION_ID} == 24 ];then
sudo systemctl restart ssh
fi
else
sudo systemctl restart sshd
fi
sudo -S passwd root <<-EOF
${PASSWORD}
${PASSWORD}
EOF
if [ ${MAIN_NAME} == "Ubuntu" ];then
if [ ${MAIN_VERSION_ID} == 18 -o ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 ];then
${COLOR}"${PRETTY_NAME}操作系统root用户登录已设置完成请重新启动系统后生效"${END}
else
${COLOR}"${PRETTY_NAME}操作系统root用户登录已设置完成请重新登录后生效"${END}
fi
else
${COLOR}"${PRETTY_NAME}操作系统root用户登录已设置完成请重新登录后生效"${END}
fi
}
set_rocky_almalinux_centos_7_8_eth(){
sed -ri.bak '/^GRUB_CMDLINE_LINUX=/s@"$@ net.ifnames=0 biosdevname=0"@' /etc/default/grub
if lsblk | grep -q efi;then
if lsblk | grep -q EFI;then
EFI_DIR=`find /boot/efi/ -name "grub.cfg" | awk -F"/" '{print $5}'`
grub2-mkconfig -o /boot/efi/EFI/${EFI_DIR}/grub.cfg >& /dev/null
else
@@ -136,10 +162,15 @@ EOF
}
set_eth(){
if [ ${MAIN_NAME} == "Rocky" -o ${MAIN_NAME} == "AlmaLinux" -o ${MAIN_NAME} == "CentOS" ];then
set_rocky_almalinux_centos_eth
ETH_PREFIX_NAME=`ip addr | awk -F"[ :]" '/^2/{print $3}' | tr -d "[:digit:]"`
if [ ${ETH_PREFIX_NAME} == "eth" ];then
${COLOR}"${PRETTY_NAME}操作系统,网卡名已修改,不用设置!"${END}
else
set_ubuntu_debian_eth
if [ ${MAIN_NAME} == "Rocky" -o ${MAIN_NAME} == "AlmaLinux" -o ${MAIN_NAME} == "CentOS" ];then
set_rocky_almalinux_centos_eth
else
set_ubuntu_debian_eth
fi
fi
}
@@ -230,7 +261,6 @@ IPADDR=${IP2}
PREFIX=${PREFIX2}
EOF
else
nmcli connection modify "${CONNECTION_NAME2}" con-name ${ETHNAME2}
cat > /etc/NetworkManager/system-connections/${ETHNAME2}.nmconnection <<-EOF
[connection]
id=${ETHNAME2}
@@ -922,7 +952,7 @@ set_yum_centos_stream_8(){
else
sed -i -e 's|^baseurl=https://'${OLD_MIRROR}'|baseurl=https://'${MIRROR}'|g' /etc/yum.repos.d/CentOS-*.repo
fi
${COLOR}"更新镜像源中,请稍等..。。。."${END}
${COLOR}"更新镜像源中请稍等......"${END}
dnf clean all &> /dev/null && dnf makecache &> /dev/null
${COLOR}"${PRETTY_NAME}操作系统,镜像源设置完成!"${END}
}
@@ -1716,7 +1746,12 @@ rocky_almalinux_centos_minimal_install(){
ubuntu_debian_minimal_install(){
${COLOR}'开始安装“Minimal安装建议安装软件包”请稍等......'${END}
apt install -y iproute2 ntpdate tcpdump telnet traceroute lrzsz tree iotop unzip zip
apt install -y iproute2 tcpdump telnet traceroute lrzsz tree iotop unzip zip
if [ ${MAIN_NAME} == "Ubuntu" ];then
apt install -y ntpdate
else
apt install -y ntpsec-ntpdate vim
fi
${COLOR}"${PRETTY_NAME}操作系统Minimal安装建议安装软件包已安装完成"${END}
}
@@ -1730,9 +1765,9 @@ minimal_install(){
disable_firewalls(){
if [ ${MAIN_NAME} == "Rocky" -o ${MAIN_NAME} == "AlmaLinux" -o ${MAIN_NAME} == "CentOS" ];then
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,iptables防火墙已关闭!"${END}
rpm -q firewalld &> /dev/null && { systemctl disable --now firewalld &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统Firewall防火墙已关闭"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统,默认没有安装Firewall防火墙服务不要设置!"${END}
elif [ ${MAIN_NAME} == "Ubuntu" ];then
dpkg -s ufw &> /dev/null && { systemctl disable --now ufw &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统ufw防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统, 没有ufw防火墙服务,不用关闭!"${END}
dpkg -s ufw &> /dev/null && { systemctl disable --now ufw &> /dev/null; ${COLOR}"${PRETTY_NAME}操作系统ufw防火墙已关闭!"${END}; } || ${COLOR}"${PRETTY_NAME}操作系统, 默认没有ufw防火墙服务,不用关闭!"${END}
else
${COLOR}"${PRETTY_NAME}操作系统,没有安装防火墙服务,不用关闭!"${END}
fi
@@ -1753,17 +1788,15 @@ disable_selinux(){
}
set_swap(){
if grep -Eqi "noauto" /etc/fstab;then
${COLOR}"${PRETTY_NAME}操作系统swap已被禁用不用设置"${END}
else
if [ ${MAIN_NAME} == "Rocky" -o ${MAIN_NAME} == "AlmaLinux" -o ${MAIN_NAME} == "CentOS" ];then
sed -ri.bak '/swap/s/(.*)(defaults)(.*)/\1\2,noauto\3/g' /etc/fstab
else
sed -ri.bak '/swap/s/(.*)(sw)(.*)/\1\2,noauto\3/g' /etc/fstab
fi
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
if [ ${MAIN_NAME} == "CentOS" -a ${MAIN_VERSION_ID} == 7 ];then
sed -ri.bak 's/.*swap.*/#&/' /etc/fstab
elif [ ${MAIN_NAME} == "Ubuntu" -a ${MAIN_VERSION_ID} == 18 ];then
sed -ri.bak 's/.*swap.*/#&/' /etc/fstab
else
systemctl mask swap.target &> /dev/null
fi
swapoff -a
${COLOR}"${PRETTY_NAME}操作系统禁用swap已设置成功请重启系统后生效"${END}
}
set_localtime(){
@@ -1896,12 +1929,12 @@ optimization_ssh(){
else
sed -ri.bak -e 's/^#(UseDNS).*/\1 no/' -e 's/^#(GSSAPIAuthentication).*/\1 no/' /etc/ssh/sshd_config
fi
if [ ${MAIN_NAME} == "ubuntu" ];then
if [ ${MAIN_NAME} == "Ubuntu" ];then
if [ ${MAIN_VERSION_ID} == 24 ];then
systemctl restart ssh
fi
sudo systemctl restart ssh
fi
else
systemctl restart sshd
sudo systemctl restart sshd
fi
${COLOR}"${PRETTY_NAME}操作系统SSH已优化完成"${END}
}
@@ -1911,12 +1944,12 @@ set_ssh_port(){
disable_firewalls
read -p "请输入端口号: " PORT
sed -i 's/#Port 22/Port '${PORT}'/' /etc/ssh/sshd_config
if [ ${MAIN_NAME} == "ubuntu" ];then
if [ ${MAIN_NAME} == "Ubuntu" ];then
if [ ${MAIN_VERSION_ID} == 24 ];then
systemctl restart ssh
fi
sudo systemctl restart ssh
fi
else
systemctl restart sshd
sudo systemctl restart sshd
fi
${COLOR}"${PRETTY_NAME}操作系统更改SSH端口号已完成请重新登陆后生效"${END}
}
@@ -1970,6 +2003,19 @@ set_ubuntu_alias(){
alias cdnet="cd /etc/netplan"
alias cdapt="cd /etc/apt"
EOF
if [ ${MAIN_VERSION_ID} == 18 ];then
cat >>~/.bashrc <<-EOF
alias vie="vim /etc/netplan/01-netcfg.yaml"
EOF
elif [ ${MAIN_VERSION_ID} == 20 ];then
cat >>~/.bashrc <<-EOF
alias vie="vim /etc/netplan/00-installer-config.yaml"
EOF
else
cat >>~/.bashrc <<-EOF
alias vie="vim /etc/netplan/50-cloud-init.yaml"
EOF
fi
${COLOR}"${PRETTY_NAME}操作系统,系统别名已设置成功,请重新登陆后生效!"${END}
}
@@ -1977,6 +2023,7 @@ set_debian_alias(){
cat >>~/.bashrc <<-EOF
alias cdnet="cd /etc/network"
alias cdapt="cd /etc/apt"
alias vie="vim /etc/network/interfaces"
EOF
${COLOR}"${PRETTY_NAME}操作系统,系统别名已设置成功,请重新登陆后生效!"${END}
}
@@ -1990,15 +2037,15 @@ set_alias(){
set_rocky_almalinux_centos_alias
fi
elif [ ${MAIN_NAME} == "Ubuntu" ];then
if grep -Eqi "(.*cdnet|.*cdapt)" ~/.bashrc;then
sed -i -e '/.*cdnet/d' -e '/.*cdapt/d' ~/.bashrc
if grep -Eqi "(.*cdnet|.*cdapt|.*vie)" ~/.bashrc;then
sed -i -e '/.*cdnet/d' -e '/.*cdapt/d' -e '/.*vie/d' ~/.bashrc
set_ubuntu_alias
else
set_ubuntu_alias
fi
else
if grep -Eqi "(.*cdnet|.*cdapt)" ~/.bashrc;then
sed -i -e '/.*cdnet/d' -e '/.*cdapt/d' ~/.bashrc
if grep -Eqi "(.*cdnet|.*cdapt|.*vie)" ~/.bashrc;then
sed -i -e '/.*cdnet/d' -e '/.*cdapt/d' -e '/.*vie/d' ~/.bashrc
set_debian_alias
else
set_debian_alias
@@ -2209,35 +2256,14 @@ set_history_env(){
disable_restart(){
START_STATUS=`systemctl status ctrl-alt-del.target | sed -n '2p' | awk -F"[[:space:]]+|;" '{print $6}'`
if [ ${START_STATUS} == "enabled" ];then
systemctl disable ctrl-alt-del.target
systemctl disable ctrl-alt-del.target &> /dev/null
fi
systemctl mask ctrl-alt-del.target
systemctl mask ctrl-alt-del.target &> /dev/null
${COLOR}"${PRETTY_NAME}操作系统禁用ctrl+alt+del重启功能设置成功"${END}
}
set_ubuntu_debian_root_login(){
if [ ${MAIN_NAME} == "Ubuntu" -o ${MAIN_NAME} == "Debian" ];then
read -p "请输入密码: " PASSWORD
echo ${PASSWORD} |sudo -S sed -ri 's@#(PermitRootLogin )prohibit-password@\1yes@' /etc/ssh/sshd_config
if [ ${NAME} == "Ubuntu" ];then
if [ ${MAIN_VERSION_ID} == 24 ];then
sudo systemctl restart ssh
fi
else
sudo systemctl restart sshd
fi
sudo -S passwd root <<-EOF
${PASSWORD}
${PASSWORD}
EOF
${COLOR}"${PRETTY_NAME}操作系统root用户登录已设置完成请重新登录后生效"${END}
else
${COLOR}"${PRETTY_NAME}操作系统,系统不可用!"${END}
fi
}
ubuntu_remove(){
if [ ${MAIN_NAME}} == "Ubuntu" ];then
if [ ${MAIN_NAME} == "Ubuntu" ];then
if [ ${MAIN_VERSION_ID} == 18 ];then
apt -y purge ufw lxd lxd-client lxcfs liblxc-common
else
@@ -2250,28 +2276,29 @@ ubuntu_remove(){
}
ubuntu_20_22_24_remove_snap(){
dpkg -s snapd &> /dev/null
if [ $? -eq 1 ];then
${COLOR}"${PRETTY_NAME}操作系统snap已卸载"${END}
else
systemctl disable snapd.service && systemctl disable snapd.socket && systemctl disable snapd.seeded.service
sum=$(snap list | awk 'NR>=2{print $1}' | wc -l)
while [ $sum -ne 0 ];do
for p in $(snap list | awk 'NR>=2{print $1}'); do
snap remove --purge $p
done
dpkg -s snapd &> /dev/null || { ${COLOR}"snap已卸载"${END};exit; }
systemctl disable snapd.service && systemctl disable snapd.socket && systemctl disable snapd.seeded.service
if [ ${MAIN_NAME} == "Ubuntu" ];then
if [ ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 ];then
snap remove --purge lxd
sum=$(snap list | awk 'NR>=2{print $1}' | wc -l)
done
apt -y autoremove --purge snapd
rm -rf ~/snap && sudo rm -rf /snap && rm -rf /var/snap && rm -rf /var/lib/snapd && rm -rf /var/cache/snapd
cat > /etc/apt/preferences.d/no-snapd.pref << EOF
while [ $sum -ne 0 ];do
for p in $(snap list | awk 'NR>=2{print $1}'); do
snap remove --purge $p
done
sum=$(snap list | awk 'NR>=2{print $1}' | wc -l)
done
fi
fi
apt -y autoremove --purge snapd
rm -rf ~/snap && sudo rm -rf /snap && rm -rf /var/snap && rm -rf /var/lib/snapd && rm -rf /var/cache/snapd
cat > /etc/apt/preferences.d/no-snapd.pref << EOF
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOF
apt update
${COLOR}"${PRETTY_NAME}操作系统snap卸载完成"${END}
fi
apt update
${COLOR}"${PRETTY_NAME}操作系统snap卸载完成"${END}
}
ubuntu_remove_snap(){
@@ -2290,101 +2317,201 @@ menu(){
while true;do
echo -e "\E[$[RANDOM%7+31];1m"
cat <<-EOF
*****************************************************************
* 系统初始化脚本菜单 *
* 1.修改网卡名 14.设置系统别名 *
* 2.设置网络 15.设置vimrc配置文件 *
* 3.设置主机名 16.安装邮件服务并配置邮件 *
* 4.设置镜像仓库 17.设置PS1(请进入选择颜色) *
* 5.Minimal安装建议安装软件 18.设置默认文本编辑器为vim *
* 6.关闭防火墙 19.设置history格式 *
* 7.禁用SELinux 20.禁用ctrl+alt+del重启系统功能 *
* 8.禁用SWAP 21.Ubuntu和Debian设置root用户登录 *
* 9.设置系统时区 22.Ubuntu卸载无用软件包 *
* 10.优化资源限制参数 23.Ubuntu卸载snap *
* 11.优化内核参数 24.重启系统 *
* 12.优化SSH 25.关机 *
* 13.更改SSH端口号 26.退出 *
*****************************************************************
********************************************************
* 系统初始化脚本菜单 *
* 1.设置root用户登录 14.更改SSH端口号 *
* 2.修改网卡名 15.设置系统别名 *
* 3.设置网络 16.设置vimrc配置文件 *
* 4.设置主机名 17.安装邮件服务并配置 *
* 5.设置镜像仓库 18.设置PS1(请进入选择颜色) *
* 6.建议安装软件 19.设置默认文本编辑器为vim *
* 7.关闭防火墙 20.设置history格式 *
* 8.禁用SELinux 21.禁用ctrl+alt+del重启系统功能 *
* 9.禁用SWAP 22.Ubuntu卸载无用软件包 *
* 10.设置系统时区 23.Ubuntu卸载snap *
* 11.优化资源限制参数 24.重启系统 *
* 12.优化内核参数 25.关机 *
* 13.优化SSH 26.退出 *
********************************************************
EOF
echo -e '\E[0m'
read -p "请选择相应的编号(1-26): " choice
case ${choice} in
1)
set_eth
if [ ${LOGIN_USER} == "root" ];then
${COLOR}"当然登录用户是${LOGIN_USER},不用设置!"${END}
else
set_root_login
fi
;;
2)
set_network
if [ ${LOGIN_USER} == "root" ];then
set_eth
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
3)
set_hostname
if [ ${LOGIN_USER} == "root" ];then
set_network
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
4)
set_mirror_repository
if [ ${LOGIN_USER} == "root" ];then
set_hostname
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
5)
minimal_install
if [ ${LOGIN_USER} == "root" ];then
set_mirror_repository
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
6)
disable_firewalls
if [ ${LOGIN_USER} == "root" ];then
minimal_install
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
7)
disable_selinux
if [ ${LOGIN_USER} == "root" ];then
disable_firewalls
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
8)
set_swap
if [ ${LOGIN_USER} == "root" ];then
disable_selinux
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
9)
set_localtime
if [ ${LOGIN_USER} == "root" ];then
set_swap
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
10)
set_limits
if [ ${LOGIN_USER} == "root" ];then
set_localtime
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
11)
set_kernel
if [ ${LOGIN_USER} == "root" ];then
set_limits
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
12)
optimization_ssh
if [ ${LOGIN_USER} == "root" ];then
set_kernel
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
13)
set_ssh_port
if [ ${LOGIN_USER} == "root" ];then
optimization_ssh
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
14)
set_alias
if [ ${LOGIN_USER} == "root" ];then
set_ssh_port
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
15)
set_vimrc
if [ ${LOGIN_USER} == "root" ];then
set_alias
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
16)
set_mail
if [ ${LOGIN_USER} == "root" ];then
set_vimrc
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
17)
set_ps1
if [ ${LOGIN_USER} == "root" ];then
set_mail
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
18)
set_vim_env
if [ ${LOGIN_USER} == "root" ];then
set_ps1
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
19)
set_history_env
if [ ${LOGIN_USER} == "root" ];then
set_vim_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
20)
disable_restart
if [ ${LOGIN_USER} == "root" ];then
set_history_env
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
21)
set_ubuntu_debian_root_login
if [ ${LOGIN_USER} == "root" ];then
disable_restart
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
22)
ubuntu_remove
if [ ${LOGIN_USER} == "root" ];then
ubuntu_remove
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
23)
ubuntu_remove_snap
if [ ${LOGIN_USER} == "root" ];then
ubuntu_remove_snap
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此操作"${END}
fi
;;
24)
sudo shutdown -r now
if [ ${LOGIN_USER} == "root" ];then
shutdown -r now
else
sudo shutdown -r now
fi
;;
25)
sudo shutdown -h now
if [ ${LOGIN_USER} == "root" ];then
shutdown -h now
else
sudo shutdown -h now
fi
;;
26)
break
@@ -2397,30 +2524,36 @@ EOF
}
main(){
os
if [ ${MAIN_NAME} == "Rocky" ];then
if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then
menu
fi
elif [ ${MAIN_NAME} == "AlmaLinux" ];then
if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then
menu
fi
elif [ ${MAIN_NAME} == "CentOS" ];then
if [ ${MAIN_VERSION_ID} == 7 -o ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then
menu
fi
elif [ ${MAIN_NAME} == "Ubuntu" ];then
if [ ${MAIN_VERSION_ID} == 18 -o ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 -o ${MAIN_VERSION_ID} == 24 ];then
menu
fi
elif [ ${MAIN_NAME} == 'Debian' ];then
if [ ${MAIN_VERSION_ID} == 11 -o ${MAIN_VERSION_ID} == 12 -o ${MAIN_VERSION_ID} == 13 ];then
menu
fi
if [ ${LOGIN_USER} == "root" ];then
menu
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统"${END}
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录"${END}
menu
fi
}
main
os
if [ ${MAIN_NAME} == "Rocky" ];then
if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then
main
fi
elif [ ${MAIN_NAME} == "AlmaLinux" ];then
if [ ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then
main
fi
elif [ ${MAIN_NAME} == "CentOS" ];then
if [ ${MAIN_VERSION_ID} == 7 -o ${MAIN_VERSION_ID} == 8 -o ${MAIN_VERSION_ID} == 9 -o ${MAIN_VERSION_ID} == 10 ];then
main
fi
elif [ ${MAIN_NAME} == "Ubuntu" ];then
if [ ${MAIN_VERSION_ID} == 18 -o ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 -o ${MAIN_VERSION_ID} == 24 ];then
main
fi
elif [ ${MAIN_NAME} == 'Debian' ];then
if [ ${MAIN_VERSION_ID} == 11 -o ${MAIN_VERSION_ID} == 12 -o ${MAIN_VERSION_ID} == 13 ];then
main
fi
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END}
fi

View File

@@ -1,43 +1,69 @@
#!/bin/bash
#
#***************************************************************************************************
#**********************************************************************************
#Author: Raymond
#QQ: 88563128
#Date: 2024-05-06
#MP: Raymond运维
#Date: 2025-10-19
#FileName: remove_snap.sh
#MIRROR: raymond.blog.csdn.net
#Description: remove_snap for Ubuntu 20.04/22.04
#Copyright (C): 2024 All rights reserved
#***************************************************************************************************
#URL: https://wx.zsxq.com/group/15555885545422
#Description: The remove snap script supports
# "Ubuntu Server 20.04, 22.04 and 24.04 LTS" operating systems.
#Copyright (C): 2025 All rights reserved
#**********************************************************************************
COLOR="echo -e \\033[01;31m"
END='\033[0m'
LOGIN_USER=`whoami`
os(){
. /etc/os-release
MAIN_NAME=`sed -rn '/^NAME=/s@.*="([[:alpha:]]+).*"$@\1@p' /etc/os-release`
if [ ${MAIN_NAME} == "Kylin" ];then
MAIN_VERSION_ID=`sed -rn '/^VERSION_ID=/s@.*="([[:alpha:]]+)(.*)"$@\2@p' /etc/os-release`
else
MAIN_VERSION_ID=`sed -rn '/^VERSION_ID=/s@.*="?([0-9]+)\.?.*"?@\1@p' /etc/os-release`
fi
}
ubuntu_remove_snap(){
dpkg -s snapd &> /dev/null || { ${COLOR}"snap已卸载"${END};exit; }
systemctl disable snapd.service && systemctl disable snapd.socket && systemctl disable snapd.seeded.service
sum=$(snap list | awk 'NR>=2{print $1}' | wc -l)
while [ $sum -ne 0 ];do
for p in $(snap list | awk 'NR>=2{print $1}'); do
snap remove --purge $p
done
sum=$(snap list | awk 'NR>=2{print $1}' | wc -l)
done
if [ ${MAIN_NAME} == "Ubuntu" ];then
if [ ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 ];then
snap remove --purge lxd
sum=$(snap list | awk 'NR>=2{print $1}' | wc -l)
while [ $sum -ne 0 ];do
for p in $(snap list | awk 'NR>=2{print $1}'); do
snap remove --purge $p
done
sum=$(snap list | awk 'NR>=2{print $1}' | wc -l)
done
fi
fi
apt -y autoremove --purge snapd
rm -rf ~/snap && sudo rm -rf /snap && rm -rf /var/snap && rm -rf /var/lib/snapd && rm -rf /var/cache/snapd
cat > /etc/apt/preferences.d/no-snapd.pref << EOF
Package: snapd
Pin: release a=*
Pin-Priority: -10
EOF
apt update
${COLOR}"${PRETTY_NAME}操作系统snap卸载完成"${END}
}
main(){
ubuntu_remove_snap
if [ ${LOGIN_USER} == "root" ];then
ubuntu_remove_snap
else
${COLOR}"当然登录用户是${LOGIN_USER}请使用root用户登录或设置root用户登录后再执行此脚本"${END}
fi
}
main
os
if [ ${MAIN_NAME} == "Ubuntu" ];then
if [ ${MAIN_VERSION_ID} == 20 -o ${MAIN_VERSION_ID} == 22 -o ${MAIN_VERSION_ID} == 24 ];then
main
fi
else
${COLOR}"此脚本不支持${PRETTY_NAME}操作系统!"${END}
fi