CentOS7.5最小化安装与初始化配置(做标准化)

本文分享CentOS的标准化安装配置方法,方便集群批量装机配置

------------------------- 完美的分割线 ----------------------------

1.安装标准化

1.1.安装期间的语言

中文-简体中文,安装完成也会默认支持中文输出,便于管理

1.2.时区选择

亚洲上海,CST时区

1.3.分区方式

挂载路径  分区格式 分区大小 备注信息
swap分区   内存的2倍 交换分区,如果是虚拟机可以不创建
/boot   500MB 启动分区,如果不分配磁盘被占满会无法启动系统
/   剩余所有空间 后续有其他需求,可以增加磁盘独立创建分区

1.4.安装包的选择

1)如果是一般的DVD镜像,建议选择最小化安装,然后手动选择安装以下软件包组:

类别 英文名称 中文名称 备注信息
基本系统(Base System) Base 基本 基本的系统组件
  compatibility libraries 兼容程序库 库文件
  Debugging Tools 调试工具 常用工具
开发(Development) Development Tools 开发工具 编译工具cmake,gcc等
语言支持 English 英语  
  Chinese 汉语  

2)如果是minimal的镜像,基本没什么需要选择的,需要的安装包在装完系统后安装即可,系统会更加精简一些,大约需要安装292个软件包

1.5.用户

管理员用户:root

普通用户:自定义一个

1.6.安全选项

kdump:一般用不着关闭即可

# 以上是安装系统时可以进行的配置选项,安装完成还需要对系统做一些基础的初始化优化配置

2.初始化CentOS7.5系统(优化配置)

2.1.修改网络配置

1)修改IP地址为固定地址

# 可以使用图形化界面配置

nmtui      # 这个是CentOS7版本下的setup命令,可以配置IP,主机名,DNS等信息

# 配置完成重启网卡,进行测试

systemctl restart network
ip addping www.baidu.com

# 至此,可以使用CRT等软件远程连接进行配置

2)创建常用工作目录

# 生产环境下必须有个固定的目录存放一些安装软件和调试工具,否则每个管理员都随意存放软件,服务器的环境可以想而知

mkdir -p /server/{tools,scripts,backup}
cd /server/tools/

3)设置DNS和主机名

# 修改服务器主机名

vi /etc/hostname
--------------------------------
demohost
--------------------------------

# 设置hosts域名解析

vi /etc/hosts
--------------------------------
192.168.1.200    demohost
--------------------------------

# 设置DNS解析

vi /etc/resolv.conf
--------------------------------
nameserver 202.106.0.20
nameserver 8.8.8.8
--------------------------------

# 手动修改网卡配置文件,删除UUID信息和MAC地址等方便克隆,禁用IPv6相关配置

vim /etc/sysconfig/network-scripts/ifcfg-eth0
------------------------------------
[root@demohost tools]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
NAME=eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
DEFROUTE=yes
IPADDR=192.168.1.200
PREFIX=24
GATEWAY=192.168.1.1
IPV4_FAILURE_FATAL=no
DNS1=202.106.0.20
DNS2=8.8.8.8
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
IPV6_PRIVACY=no
IPV6_FAILURE_FATAL=noARPCHECK=no        # 禁用ARP检查
--------------------------------------

# 配置完成重启网卡,进行测试

systemctl restart network
ip addping www.baidu.com

2.2.安装常用工具

# 安装工具(wget,rz,sz,tree,dos2unix,ifconfig,nslookup等)

yum install gcc gcc-c++ cmake pcre pcre-devel zlib zlib-devel openssl openssl-devel vim wget telnet setuptool lrzsz dos2unix net-tools bind-utils tree screen iftop ntpdate tree lsof iftop iotop -y
yum groupinstall "Development tools" -y

2.3.配置yum源(阿里云)

1)配置阿里云base源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
cat /etc/yum.repos.d/CentOS-Base.repo

2)配置阿里云epel源

mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
cat /etc/yum.repos.d/epel.repo

3)创建yum缓存进行测试

yum clean all
yum makecache fast

2.4.配置系统环境变量

1)修改记录的历史命令数量

sed -i s#HISTSIZE=1000#HISTSIZE=10000#g /etc/profile
cat /etc/profile|grep HISTSIZE=10000

2)设置超时自动注销登陆

# 8h=28800s

echo " " >> /etc/profile
echo "# Auto-Logout for 4 hours by zhaoshuai on $(date +%F)." >> /etc/profile
echo "export TMOUT=28800" >> /etc/profile
tail -4 /etc/profile
source /etc/profile
echo $TMOUT

2.5.配置系统安全选项

1)修改ssh配置加速远程连接

# 只监听IPv4端口,关闭GSSAPI秘钥认证,关闭DNS解析

sed -i s/'#ListenAddress 0.0.0.0'/'ListenAddress 0.0.0.0'/g /etc/ssh/sshd_config
grep ListenAddress /etc/ssh/sshd_config

sed -i s/'GSSAPIAuthentication yes'/'GSSAPIAuthentication no'/g /etc/ssh/sshd_config
grep GSSAPIAuthentication /etc/ssh/sshd_config

sed -i s/'#UseDNS yes'/'UseDNS no'/g /etc/ssh/sshd_config
grep UseDNS /etc/ssh/sshd_config

# 重启sshd服务

/bin/systemctl restart  sshd.service
/bin/systemctl status  sshd.service

2)关闭selinux

# 立即关闭selinux(立即生效)

getenforce
setenforce 0
getenforce

# 返回信息如下

# Enforcing/enabled              # 执行,强制执行,开启时状态为1
# Permissive/disabled            # 许可的,*的,关闭时状态为0

# 永久关闭selinux(重启也生效)

sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config
cat /etc/selinux/config |grep SELINUX=disabled

3)关闭防火墙

# 内网一般不需要使用

systemctl stop firewalld
systemctl disable firewalld
systemctl status  firewalld

4)关闭其他不用的服务

# 邮箱服务,CentOS7默认安装postfix,而不是sendmail

systemctl stop  postfix
systemctl disable  postfix
systemctl status  postfix
netstat -anptl

2.6.修改内核参数

1)修改文件句柄数

vim /etc/security/limits.conf
-----------------------------------
# 系统最大连接数
*    soft    nofile    65535
*    hard   nofile    65535
*    soft    nproc    65535
*    hard   nproc    65535
-----------------------------------

# 修改完如下显示

[root@demohost tools]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15335
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65535
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

2.7.配置时间同步

1)安装ntp服务并配置开机自启动

# CentOS7默认的时间同步服务是chrony,这里为了方便使用ntp服务

yum -y install ntp
systemctl enable ntpd
systemctl start ntpd
systemctl status ntpd

2)手动进行时间同步

date
/usr/sbin/ntpdate ntp1.aliyun.com

3)配置自动同步时间

echo "# made for sync time by zhaoshuai on $(date +%F)">> /var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1' >>/var/spool/cron/root
crontab -l

# 注意:中国的时区应该为CST,为中部时区,如果是EST则为东部时区,UTC开启了夏时令也不合适,需要关闭
# 安装CentOS系统时要去掉夏令时的选项,否则在夏令时的那一天会有时间的自动变换,
如果某个服务在时间上有要求就会导致该服务承载的业务出现问题,所以要关闭夏令时

2.8.更新系统内核

1)判断是否需要更新
一般来说建议更新到最新的内核版本,防止已知的系统漏洞问题

如果要安装指定版本的软件也不能随意升级内核版本

2)内核升级方法

# 升级前后需要查看内核版本

cat  /etc/redhat-release 

# 更新内核

yum update

# 内核升级完成需要重启系统才可以生效

reboot

# 注意:
内核升级期间一定不可以中断操作,否则重启会无法进入系统
如果内核升级期间出错,需要能连到tty终端手动调整开机需要启动的内核
然后登陆系统手动修改内核启动顺序,防止重启出错,最后再次进行内核升级尝试修复

3)拓展:yum update与upgrade的区别?

update会查询互联网上最新的内核软件包进行升级
upgrade只查询当前yum源中比目前已安装软件版本高的那些
总体来说update升级更加彻底

# 至此,CentOS7的系统初始化配置就完成了

======== 完毕,呵呵呵呵 ========

上一篇:2.3 PCI桥与PCI设备的配置空间


下一篇:项目在App Store的展示信息