初始化CentOS7操作系统组件和软件

背景

随着云服务器的大范围应用,传统的机房环境向云上环境迁移已经成了大势所趋,传统机房环境的机柜安装、强电、弱电的布线安装、线缆的功率选型、网线光纤的选型连接,服务器上架、交换机防火墙的上架、交换机防火墙的调试、服务器的RAID设置、硬件扩容、整体联通性调试这些工作都被云环境给大大的缓解。人们可以专注于软件服务环境维护搭建。操作系统的安装也一并省去,根据业务系统的业务流量、并发计算和吞吐量估算出对硬件环境的需求,在云服务商提供的图形界面中选择对应的参数数据。操作系统只需要对应的选择即可。工作中主要使用的事为linux操作系统,本文以CentOS7为例进行展开。

目的

购买选择对应的操作系统后,将系统需要的共性的初始化工作操作,共性化意味着重复性工作、必要性、和机械型,将人员的操作使用脚本操作实现。将代码上传至git代码仓库。每次使用的时候,下载到本机执行即可。

思路

操作系统选择过程中会设置系统超级管理员密码,安全规则默认开具22和3389,方便远程连接。设置完毕使用远程工具进行远程连接(在此使用系统EasySSH工具连接)
1、创建用户
2、安装常用的组件工具
3、docker和docker-compose
4、创建总体脚本调用以上三个脚本

以上只是一个简单的流程化的脚本执行,更多的是将自身的重复性工作使用脚本运行。目前linux系统自带python,也可以使用python实现。本文是以shell脚本实现。主要是思路缕顺了,工具就可以更好的去实现。

实施

创建总体脚本

0_init_os.sh

#!/bin/bash
# ---------------------------------------------
# File Name   : 0_init_os.sh
# Author      : shalter
# Mail        : shalter@xxxx.com
# Date        : 2022-01-11
# Description : 
# ---------------------------------------------
# 1 创建用户
source 1_create-user.sh
# 2 安装常用软件git/vim/gcc/update
source 2_install-tool.sh
# 3 安装docker和docker-compose
. 3_install-docker.sh
echo 'Init system is finish!'

说明:
总脚本中主要通过调用三个功能脚本来执行
修改文件权限

chmod +x 0_init_os.sh

创建系统用户

1_create-user.sh
将需要创建的用户名、组和密码填写到对应的USER_NAME/USER_GROUP/USER_PASSWD中,保存文件

#!/bin/bash
 
# 需要创建的用户名,示例:USER_NAME=myuser
USER_NAME=
# 创建用户所属的用户组,示例:USER_GROUP=mygroup
USER_GROUP=
# 用户密码,示例:USER_PASSWD=Cloud12#$
USER_PASSWD=
 
# 校验参数
function check_param()
{
    if [[ ! -n ${USER_NAME} ]] || [[ ! -n ${USER_GROUP} ]] || [[ ! -n ${USER_PASSWD} ]]; then
        echo "ERROR: Please check the param USER_NAME,USER_GROUP,USER_PASSWD can not be null"
        exit 1;
    fi
}
 
# 创建用户
function creat_user()
{
    check_param
    
    #create group
    grep "^${USER_GROUP}" /etc/group &> /dev/null
    if [ $? -ne 0 ]; then
        groupadd ${USER_GROUP}
    fi
    #create user
    id ${USER_NAME} &> /dev/null
    if [ $? -ne 0 ]; then
        useradd -g ${USER_GROUP} ${USER_NAME} -d /home/${USER_NAME}
        echo ${USER_PASSWD}| passwd ${USER_NAME} --stdin
        chage -M 99999 ${USER_NAME}
    fi
}

修改文件权限

chmod +x 1_create-user.sh

安装组件工具

2_install-tool.sh

#!/bin/bash
# ---------------------------------------------
# File Name   : 2_installtool.sh
# Author      : shalter
# Mail        : shalter@xxxx.com
# Date        : 2022-01-12
# Description : install git/vim/tools
# ---------------------------------------------
# 1 git
echo 'install git'
yum install git -y
# 2 vim
echo 'install vim'
yum install vim -y
# 3 conf vim
git clone https://gitee.com/shalter/vim.git
cd vim
vim_path=$(vim --version | grep -n /usr/share/vim |  awk '{ print $5 }'| sed 's/\"//g')
mv freya.vim $vim_path/colors
mv vimrc ~./vimrc
# 4 install tools
echo 'install tools'
yum install gcc gcc-c++ cmake pcre pcre-devel zlib zlib-devel openssl openssl-devel wget telnet setuptool lrzsz dos2unix net-tools bind-utils tree screen iftop ntpdate tree lsof iftop iotop -y

说明:
常用工具的安装
修改权限

chmod +x 2_install-tool.sh

安装容器

3_install-docker.sh

#!/bin/bash
# 查看内核版本
uname -r
# 更新系统
yum update -y
# 卸载旧版本
yum remove docker  docker-common docker-selinux docker-engine
# 安装依赖软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 查看docker版本
yum list docker-ce --showduplicates | sort -r
# 安装docker
yum install docker-ce -y
# 启动docker
systemctl start docker
# 设置开机启动
systemctl enable docker
# 获取UID=1000的用户名
user_name=$(getent passwd 1000|awk -F : '{print $1}')
# 添加至docker组
gpasswd -a $user_name docker
# 更新用户组
newgrp docker
# 验证安装
docker version
# 输出
echo "Complete!
# 下载docker-compose
git clones https://gitee.com/shalter/docker-compose.git
# 进入下载目录
cd docker-compose
# 修改文件名词
mv docker-compose-Linux-x86_64 docker-compose
# 修改文件可执行权限
chmod +x docker-compose
# 移动文件
mv docker-compose /usr/local/bin/docker-compose
# 查看验证版本
docker-compose -v

修改权限

chmod +x 3_install-docker.sh

代码仓库

将以上代码上传代码仓库,使用之时,从代码仓库下载安装即可。

创建仓库

创建代码仓库
在这里插入图片描述

Git 全局设置:

git config --global user.name "xxxxx"
git config --global user.email "xxxxhp@126.com"

上传代码

进入脚本目录

cd script
git init
git add 0_init_os.sh 1_create-user.sh 2_install-tool.sh 3_install_docker.sh
git commit -m "init system of centos7"
git remote add origin https://gitee.com/shalter/init_centos7.git
git push -u origin "master"

登录新的服务器

下载执行

# 创建目录
mkdir -p /home/{$user}/script/
# 进入目录
cd /home/{$user}/script/
# 下载脚本
git clone https://gitee.com/shalter/init_centos7.git
# 进入文件夹
cd init_centos7
# 修改脚本可执行
chmod +x *.sh
# 执行脚本
./0_init_os.sh

以上为初始化centos7操作系统,如果是多台服务器配合ansible操作即可。可以根据自身对服务器的需求进行定制化操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值