日常脚本分享(持续更新中...)

centos7/8系统初始化脚本(懒人福音)

bash 复制代码
#! /bin/bash

VERSION_ID=$(grep -oP 'VERSION_ID="\K\d+' /etc/os-release)
DIR=/etc/yum.repos.d
file_path=/etc/chrony.conf


update_yum() {
    cd $DIR && rm -rf * && yum clean all
    if [ "$VERSION_ID" -eq 7 ]; then
        curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    else
        curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
    fi
    echo "阿里云yum源配置成功!!!" && sleep 2s
}

# 关闭防火墙和SELINUX
firewalld() {
    systemctl stop firewalld && systemctl disable firewalld &> /dev/null
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    echo "SElinux已禁用,重新启动后才可生效" && sleep 2s
}

# 修改主机名称
set_ps1() {
    echo "PS1='\[\e[35m\][\u@\h \W]#\[\e[m\] '" >> /root/.bashrc
    echo "提示符已修改成功,请重新登录生效" && sleep 2s
}


#设置时间同步,为确保某些机器无法通过正常修改时区实现时间同步所以这里直接修改配置文件

datetime() {
    if [ -e "$file_path" ]; then
        echo "chrony服务已经安装,正在配置"
    else
        yum -y install chrony &> /dev/null
        echo "chrony 已成功安装" && sleep 2s
    fi
    cat <<EOF > /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html)
# 国家服务器
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org
# 阿里
server ntp.aliyun.com
# 腾讯
server time1.cloud.tencent.com
server time2.cloud.tencent.com
server time3.cloud.tencent.com
server time4.cloud.tencent.com
server time5.cloud.tencent.com
# if its offset is larger than 1 second.
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
# Specify directory for log files.
logdir /var/log/chrony 
EOF
    timedatectl set-timezone Asia/Shanghai && systemctl restart chronyd
    echo "时间同步已同步完成" && sleep 2s
}

# 修改epel源
update_epel() {
    yum clean all &> /dev/null
    if sudo yum -y install epel-release &> /dev/null ; then
    sudo sed -e 's!^metalink=!#metalink=!g' \
    -e 's!^#baseurl=!baseurl=!g' \
    -e 's!https\?://download\.fedoraproject\.org/pub/epel!https://mirrors.tuna.tsinghua.edu.cn/epel!g' \
    -e 's!https\?://download\.example/pub/epel!https://mirrors.tuna.tsinghua.edu.cn/epel!g' \
    -i /etc/yum.repos.d/epel*.repo
    fi
    echo "epel源配置完毕" && sleep 2s
}

# 安装一些常用软件
yum_install(){
    yum update &> /dev/null
    echo "正在安装常用软件..."
    yum -y install vim wget tree net-tools lrzsz zip lsof tcpdump  &> /dev/null
    echo "软件安装完成,所有配置已就绪,系统将在5秒后重启..." && sleep 5s && reboot
}

start(){
    update_yum
    firewalld
    set_ps1
    datetime
    update_epel
    yum_install
}

start
相关推荐
做个文艺程序员23 分钟前
Linux第12篇:性能监控与瓶颈分析——CPU/内存/IO/网络全维度
linux·运维·网络
HAPPY酷1 小时前
【ROS2】 Conda 环境搭建(命令行版)
linux·运维·python·ubuntu·机器人·conda
hai3152475432 小时前
九章空间几何对照直译法:通用芯片 / 定制专用芯片 编译适配规则
linux·汇编·bash
ton_tom3 小时前
设备驱动程序编程-Linux2.6.10-kdb安装-32位
linux·运维·服务器
dddwjzx3 小时前
嵌入式Linux C应用编程入门——进程 ( 二 )
linux·嵌入式
jieyucx5 小时前
【系统安全铁律】解密 Linux 权限三色数字密码:chmod 最小化赋权与生产环境避坑指南
linux·安全·系统安全·权限·chmod·777
AOwhisky5 小时前
Linux(CentOS)系统管理入门笔记(第四期)——文件系统(下篇):文件与目录操作实战——cpmvmkdirrmln
linux·运维·笔记·centos·云计算·文件系统
岑梓铭6 小时前
考研408《操作系统》复习笔记,第四章《4.2.2 文件操作、文件共享、文件保护》
linux·考研·操作系统·文件系统·408
Mr.HeBoYan6 小时前
DPDK为什么越来越少使用rte_ring?——从Lock-Free到Run-to-Completion,重新理解现代DPDK架构演进(上)
linux·网络·算法·性能优化·架构·dpdk
云栖梦泽7 小时前
从 IMX415 摄像头驱动理解 Media Controller 框架
linux·开发语言·c++·嵌入式硬件