安装标准化
语言选择
可选中文和英文
时区选择
亚洲上海,CST时区
分区方式
挂载路径 | 分区格式 | 分区大小 | 备注 |
---|---|---|---|
swap | 内存2倍 | ||
boot | 500M | ||
/ | 剩余所有空间 |
安装包的选择
1)如果是一般的DVD镜像,建议选择最小化安装,然后手动选择安装以下软件包组:
类别 | 英文名称 | 中文名称 | 备注信息 |
---|---|---|---|
基本系统(Base System) | Base | 基本 | 基本的系统组件 |
compatibility libraries | 兼容程序库 | 库文件 | |
Debugging Tools | 调试工具 | 常用工具 | |
开发(Development) | Development Tools | 开发工具 | 编译工具cmake,gcc等 |
语言支持 | English | 英语 | |
Chinese | 汉语 |
2)如果是minimal的镜像,基本没什么需要选择的,需要的安装包在装完系统后安装即可,系统会更加精简一些,大约需要安装292个软件包
用户
管理员用户:root
普通用户:自定义一个
安全选项
kdump:一般用不着关闭即可
以上是安装系统时可以进行的配置选项,安装完成还需要对系统做一些基础的初始化优化配置
初始化Centos系统(优化配置)
修改网络地址
修改IP地址为固定地址
可以使用图形化界面配置
1 | nmtui # 这个是CentOS7版本下的setup命令,可以配置IP,主机名,DNS等信息 |
配置完成重启网卡,进行测试
1 | systemctl restart network |
至此,可以使用CRT等软件远程连接进行配置
创建常用工作目录
生产环境下必须有个固定的目录存放一些安装软件和调试工具,否则每个管理员都随意存放软件,服务器的环境可以想而知
1 | mkdir -p /server/{tools,scripts,backup} |
设置DNS和主机名
修改服务器主机名
1 | vi /etc/hostname |
设置hosts域名解析
1 | vi /etc/hosts |
设置DNS解析
1 | vi /etc/resolv.conf |
手动修改网卡配置文件,删除UUID信息和MAC地址等方便克隆,禁用IPv6相关配置
1 | vim /etc/sysconfig/network-scripts/ifcfg-eth0 |
配置完成重启网卡,进行测试
1 | systemctl restart network |
安装常用工具
安装工具(wget,rz,sz,tree,dos2unix,ifconfig,nslookup等)
1 | 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源(阿里云)
配置阿里云base源
1 | mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak |
配置阿里云epel源
1 | mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup |
创建yum缓存进行测试
1 | yum clean all |
配置系统环境变量
修改记录的历史命令数量
1 | sed -i s#HISTSIZE=1000#HISTSIZE=10000#g /etc/profile |
设置超时自动注销登陆
# 8h=28800s
1 | echo " " >> /etc/profile |
配置系统安全选项
修改ssh配置加速远程连接
只监听IPv4端口,关闭GSSAPI秘钥认证,关闭DNS解析
1 | sed -i s/'#ListenAddress 0.0.0.0'/'ListenAddress 0.0.0.0'/g /etc/ssh/sshd_config |
重启sshd服务
1 | /bin/systemctl restart sshd.service |
关闭selinux
立即关闭selinux(立即生效)
1 | getenforce |
返回信息如下
1 | # Enforcing/enabled # 执行,强制执行,开启时状态为1 |
永久关闭selinux(重启也生效)
1 | sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config |
关闭防火墙
内网一般不需要使用
1 | systemctl stop firewalld |
关闭其他不用的服务
邮箱服务,CentOS7默认安装postfix,而不是sendmail
1 | systemctl stop postfix |
修改内核参数
修改文件句柄数
1 | vim /etc/security/limits.conf |
修改完如下显示
1 | [root@demohost tools]# ulimit -a |
配置时间同步
安装ntp服务并配置开机自启动
CentOS7默认的时间同步服务是chrony,这里为了方便使用ntp服务
1 | yum -y install ntp |
手动进行时间同步
1 | date |
配置自动同步时间
1 | echo "# made for sync time by zhaoshuai on $(date +%F)">> /var/spool/cron/root |
注意:中国的时区应该为CST,为中部时区,如果是EST则为东部时区,UTC开启了夏时令也不合适,需要关闭
安装CentOS系统时要去掉夏令时的选项,否则在夏令时的那一天会有时间的自动变换,
如果某个服务在时间上有要求就会导致该服务承载的业务出现问题,所以要关闭夏令时
更新系统内核
判断是否需要更新
一般来说建议更新到最新的内核版本,防止已知的系统漏洞问题
如果要安装指定版本的软件也不能随意升级内核版本
内核升级方法
升级前后需要查看内核版本
1 | cat /etc/redhat-release |
更新内核
1 | yum update |
内核升级完成需要重启系统才可以生效
1 | reboot |
注意:
内核升级期间一定不可以中断操作,否则重启会无法进入系统
如果内核升级期间出错,需要能连到tty终端手动调整开机需要启动的内核
然后登陆系统手动修改内核启动顺序,防止重启出错,最后再次进行内核升级尝试修复
拓展:yum update与upgrade的区别?
1 | update会查询互联网上最新的内核软件包进行升级 |
至此,CentOS7的系统初始化配置就完成了
CentOS初始化脚本
1 | #!/bin/bash |