CentOS7.5 系统最小化安装与初始化配置
CentOS7.5 系统最小化安装与初始化配置
1.安装标准化的系统
1.1.系统安装期间的语言
- 选择:中文-简体中文,安装完成也会默认支持中文输出,便于管理
1.2.时区选择
- 亚洲上海,CST时区(东八区用)
1.3.分区方式
| 挂载路径 | 分区格式 | 分区大小 | 备注信息 |
|---|---|---|---|
| swap分区 | --- | 内存的2倍 | 交换分区,如果是虚拟机可以不创建 |
| /boot | --- | 500MB | 启动分区,如果不分配磁盘被占满会无法启动系统 |
| / | ext4 | 剩余空间 | 后续有其他需求,可以增加磁盘独立创建分区 |
1.4.安装包的选择
- 如果是一般的DVD镜像,建议选择最小化安装,然后手动选择安装以下软件包组:
| 类别 | 安装包 | 备注信息 |
|---|---|---|
| 基本系统(Base System) | Base | 基本,系统组件 |
| --- | compatibility libraries | 兼容程序库 |
| --- | Debugging Tools | 调试工具 |
| 开发(Development) | Development Tools | 开发工具,cmake,gcc |
| 语言支持 | English | 英语 |
| --- | Chinese | 汉语 |
- 如果是minimal的镜像,需要的安装包在装完系统后安装即可
1.5.创建系统用户
管理员用户:root
普通用户:自定义一个
1.6.安全选项
- kdump:一般用不着关闭即可
2.修改 CentOS7.5 的网络配置
2.1.修改IP地址为固定地址
- 1)方法1:图形界面修改
nmtui # 类似 CentOS6 下的 setup 命令,可以用图形界面配置IP,主机名,DNS等信息
- 2)方法2:手动修改网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
------------------------------------
[root@demohost tools]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
NAME=ens33
DEVICE=ens33
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=no
ARPCHECK=no # 禁用ARP检查
--------------------------------------
- 配置完成重启网卡,进行测试,之后就可以使用 CRT 等工具进行连接配置
systemctl restart network
ip add
ping www.baidu.com
- 备注:默认最小化安装完CentOS7,网络并不会启动需要手动启动
- 删除 UUID,MAC 地址,禁用 IPv6 配置等便于虚拟机克隆
2.2.创建工作目录
mkdir -p /opt/{tools,scripts}
mkdir -p /data/backup
cd /opt/tools/
2.3.设置 DNS 和主机名
- 修改服务器主机名
vi /etc/hostname
--------------------------------
demohost
-------------------------------
- 设置hosts域名解析
vi /etc/hosts
--------------------------------
192.168.1.200 demohost
--------------------------------
- 设置DNS解析
vi /etc/resolv.conf
--------------------------------
nameserver 223.5.5.5 # alidns 出问题还是较少的
nameserver 223.6.6.6
nameserver 8.8.8.8 # Google dns
--------------------------------
3.配置阿里云 yum 源
3.1.配置阿里云 base 源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
cat /etc/yum.repos.d/CentOS-Base.repo
3.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
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
cat /etc/yum.repos.d/epel.repo
3.3.创建 yum 缓存进行测试
yum clean all
yum makecache fast
3.4.安装常用工具
- 主要有 wget,vim,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
4.配置系统环境变量
4.1.历史命令记录
sed -i s#HISTSIZE=1000#HISTSIZE=10000#g /etc/profile
cat /etc/profile|grep HISTSIZE=10000
4.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
5.修改内核参数(根据实际需求选择)
5.1.修改文件句柄数
vim /etc/security/limits.conf
-----------------------------------
# 系统最大连接数
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
-----------------------------------
5.2.配置 TIME_WAIT 参数,清理超时连接
netstat -anptl|grep TIME_WAIT|wc -l
echo " " >> /etc/sysctl.conf
echo "# made by zhaoshuai for kill time_wait on $(date +%F)." >> /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf
echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf
echo "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.conf
echo "net.ipv4.tcp_fin_timeout = 30" >> /etc/sysctl.conf
echo "net.ipv4.tcp_orphan_retries = 2" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf
tail -8 /etc/sysctl.conf
sysctl -p
netstat -anptl|grep TIME_WAIT|wc -l
5.3.让系统自动回收内存 cache
echo " ">>/etc/sysctl.conf
echo "# Automatic recovery memory on $(date +%F)">>/etc/sysctl.conf
echo "vm.extra_free_kbytes=209196">>/etc/sysctl.conf
sysctl -p
6.配置系统安全设置
6.1.修改 ssh 配置
- 加速远程 ssh 连接,只监听 IPv4 端口,关闭 GSSAPI 秘钥认证,关闭 DNS 解析
# vim /etc/ssh/sshd_config
------------------------------------
sed -i s/'#ListenAddress 0.0.0.0'/'ListenAddress 0.0.0.0'/g /etc/ssh/sshd_config
sed -i s/'GSSAPIAuthentication yes'/'GSSAPIAuthentication no'/g /etc/ssh/sshd_config
sed -i s/'#UseDNS yes'/'UseDNS no'/g /etc/ssh/sshd_config
grep ListenAddress /etc/ssh/sshd_config
grep GSSAPIAuthentication /etc/ssh/sshd_config
grep UseDNS /etc/ssh/sshd_config
------------------------------------
- 重启 sshd 服务
/bin/systemctl restart sshd.service
/bin/systemctl status sshd.service
6.2.关闭 selinux
- 关闭selinux(立即生效,重启失效)
getenforce
setenforce 0
getenforce
- 永久关闭selinux(重启也生效)
sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config
cat /etc/selinux/config |grep SELINUX=disabled
- 备注:
# Enforcing/enabled # 执行,强制执行,开启状态1
# Permissive/disabled # 许可的,自由的,关闭状态0
6.3.关闭防火墙
- 内网环境一般不需要使用防火墙
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
7.关闭其他不用的服务
7.1.关闭邮箱服务
- CentOS7 默认安装并启动 postfix,而不是 sendmail
netstat -anptl
systemctl stop postfix
systemctl disable postfix
systemctl status postfix
netstat -anptl
8.配置时间同步
8.1.安装ntp服务并配置开机自启动
- CentOS7 默认的时间同步服务是chrony,这里为了方便使用ntp服务
yum -y install ntp
systemctl enable ntpd
systemctl start ntpd
systemctl status ntpd
8.2.手动进行时间同步
date
/usr/sbin/ntpdate ntp1.aliyun.com
8.3.配置定时任务自动同步时间
echo "# made by zhaoshuai for sync time 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
- 注意:
1)时区应该为CST为中部时区,如果是EST则为东部时区
2)安装CentOS系统时要去掉夏令时的选项,否则在夏令时的那一天会有时间的自动变换,
3)如果某个服务在时间上有要求就会导致该服务承载的业务出现问题,所以要关闭夏令时
9.更新系统内核
9.1.更新依据
1)一般来说建议更新到最新的内核版本,防止已知的系统漏洞问题
2)如果要安装指定版本的软件则不能随意升级内核版本
3)如果是集群中的一台新增节点,需要保持集群的统一性,也不能进行升级
9.2.内核升级的方法
- 1)升级前后需要查看内核版本
cat /etc/redhat-release
----------------------------
[root@demohost tools]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
----------------------------
- 2)更新内核
yum update
- 3)内核升级完成需要重启系统才可以生效
reboot
- 注意:
1)内核升级期间一定不可以中断操作,否则重启后会无法进入系统
2)内核升级期间出错的处理方法:
需要连到 tty 终端手动调整开机启动的内核,登陆系统后手动修改内核启动顺序,然后再次进行内核升级尝试修复
9.3.拓展:yum update 与 upgrade 的区别?
1)update会查询互联网上最新的内核软件包进行升级
2)upgrade只查询当前yum源中比目前已安装软件版本高的那些
3)总体来说update升级更加彻底,我一般使用这个
END
CentOS7.5 系统最小化安装与初始化配置的更多相关文章
- CentOS7.5最小化安装与初始化配置(做标准化)
本文分享CentOS的标准化安装配置方法,方便集群批量装机配置 ------------------------- 完美的分割线 ---------------------------- 1.安装标准 ...
- centos7 最小化安装后的配置优化
echo #CENTOS7echo #1.最小化安装之后需要做的事echo 2.配置echo 2.1 安装网络yum install net-tools -y echo 2.2 更新机器名echo h ...
- linux系统最小化安装后的初始化脚本
作为运维人员,经常会初始化系统,系统在安装过程中基本都会选择最小化安装,这样安装好的系统里会缺少很多环境. 下面分享一个系统安装后的初始化脚本: #!/bin/bash #系统时最小化安装的,这里要安 ...
- CentOS7.5最小化安装之后的配置
我是最小化安装的,安装了之后很多基本使用配置没有,接下来要做一些配置,如网络之类的,使系统可用. 1.使命令分页显示(1页显示不不下,又不能上翻页) xxx | more 2.查看系统安装了哪些软件包 ...
- CentOS系统最小化安装没有wget解决方案
-bash: wget: command not found的两种解决方法 今天给服务器安装新LNMP环境时,wget 时提示 -bash:wget command not found,很明显没有安装 ...
- CentOS 7 最小化安装的网络配置
默认的最小化安装CentOS 7系统以后,是没有ipconfig这个命令的,依赖于net-tools工具包. 一.nmtui 这是一个类似于图形化的命令(和setup类似) 通过这个组件窗口可以设置各 ...
- Centos最小化安装后联网配置
Centos最小化安装默认不开启网络,只需进行简单配置就可以上网了. 1. 查看/etc/sysconfig/network-scripts/下面的文件,这里会有一个ifcfg-en******(这 ...
- centos和Ubuntu系统最小化安装基础命令
CentOS系统常用的基础软件如下 yum install vim iotop bc gcc gcc-c++ glibc glibc-devel pcre \ pcre-devel openssl o ...
- Linux系统最小化安装之后的系统基础环境安装以及内核优化脚本
#!/bin/bash #添加epel和rpmforge的外部yum扩展源 cd /usr/local/src wget http://mirrors.ustc.edu.cn/fedora/epel/ ...
随机推荐
- C# 迭代器与yield关键字
迭代器模式是设计模式的一种,因为其运用的普遍性,很多语言都有内嵌的原生支持 在.NET中,迭代器模式是通过IEnumerator.IEnumerable两个接口(有非泛型和泛型2种版本)来封装的 迭代 ...
- Python学习笔记系列
1.小甲鱼 python 学习系列笔记
- root账号无法上传文件到Linux服务器
普通权限的账号,通过ftp工具,可以正常连上Linux服务器,可以正常上传文件.但是root账号却无法上传文件. 网上搜了半天才知道,默认情况下vsftp是不允许root用户登录的,可以通过修改限制来 ...
- Appium+python自动化(四)- 如何查看程序所占端口号和IP(超详解)(番外篇)
简介 这篇博文和分类看似没有多大关系,但是也是从上一篇衍生出来的产物,因为涉及到FQ工具Lantern,就算是给关注和支持的小伙伴们拓展一下眼界和知识面.而且好多人都阅读了上一篇没发现那个参考博客点不 ...
- Java自学-类和对象 访问修饰符
Java的四种访问修饰符 成员变量有四种修饰符 private 私有的 package/friendly/default 不写 protected 受保护的 public 公共的 比如public 表 ...
- 【BZOJ4942】[NOI2017]整数(分块)
[BZOJ4942][NOI2017]整数(分块) 题面 BZOJ 洛谷 题解 暴力就是真正的暴力,直接手动模拟进位就好了. 此时复杂度是模拟的复杂度加上单次询问的\(O(1)\). 所以我们需要优化 ...
- alpine使用的避坑指南
alpine,是一个重量仅为5 MB的最小Linux发行版.它还有基本的linux工具和一个不错的包管理器APK.APK非常稳定,有相当数量的包.由于体积小,在容器中很受欢迎,但是使用上坑也很多,大部 ...
- PIE SDK 多数据源的复合数据集加载
1. 功能简介 GIS遥感图像数据复合是将多种遥感图像数据融合成一种新的图像数据的技术,是目前遥感应用分析的前沿,PIESDK通过复合数据技术可以将多幅幅影像数据集(多光谱和全色数据)组合成一幅多波段 ...
- Java虚拟机内存区域详解
JVM 运行时的数据区域 首先获取一个直观的认识: 总共也就这么 5 个区(直接内存不属于 JVM 运行时数据区的一部分),除了程序计数器其他的地方都有可能出现 OOM (OutOfMemoryErr ...
- Linux文本编辑器的常用命令
Vi文本编辑器 首先介绍命令模式,命令模式是在进入文本编辑器的时候的当前状态:输入模式(插入模式)是在插入文本时候按下的键,比如 大小 i 键,a键.o键:底行模式是在命令模式的状态直接输入冒号 & ...