CentOS-7.6(1810)虚拟机模板制作
- 基于RHEL7.6的CentOS-7.6(1810)在12月初正式发布了
- 发行注记
- 顺便更新一下虚拟机模板,这里记录一下操作过程。
下载镜像
- 可以在CentOS官网下载,也可以通过国内镜像源下载
- 下载镜像名
CentOS-7-x86_64-Minimal-1810.iso
- CentOS官网下载链接
- 阿里云下载链接
创建虚拟机
- 这里使用VMware Workstation 14 Pro 版本号14.1.3 build-9474260
- 虚拟机规格
- 客户机操作系统版本
Red Hat Enterprise Linux 7 64 位
- 处理器数量1
- 内存2GB
- 硬盘40GB
- 网络适配器
NAT模式
- 客户机操作系统版本
安装操作系统
- 语言选择
English
- 软件包选择
Minimal Install
- 硬盘分区
- /dev/sda1
boot分区、1GB、EXT4
- /dev/sda2
/分区、39GB、XFS
- 这里不使用swap分区,有需要可以自己增加swap分区
- /dev/sda1
- 网络设置
- NAT地址段为
172.16.80.0/24
- 这里设置为
- IP地址
172.16.80.200
- 子网掩码
255.255.255.0
- 网关
172.16.80.2
- DNS
114.114.114.114
- IP地址
- NAT地址段为
- 时区选择
Asia/Shanghai
- 打开网络对时
- KDUMP看情况选择
打开
或者关闭
,这里我选择关闭
- 设置ROOT密码
操作系统启动后初始化设置
关闭SELINUX
1 | sed -i 's,^SELINUX=.*,SELINUX=disabled,' /etc/selinux/config |
关闭防火墙服务
1 | systemctl disable --now firewalld.service |
清空iptables规则
1 | iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X |
配置ssh证书登录
- 通过ssh命令生成密钥对
- 将~/.ssh/id_rsa.pub提取出来
1 | ssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/id_rsa |
添加sysctl参数
fs参数
1 | cat > /etc/sysctl.d/99-fs.conf <<EOF |
vm参数
1 | cat > /etc/sysctl.d/99-vm.conf <<EOF |
net参数
1 | cat > /etc/sysctl.d/99-net.conf <<EOF |
修改limits参数
1 | cat > /etc/security/limits.d/99-centos.conf <<EOF |
修改systemd默认值
1 | sed -r \ |
修改journal设置
1 | sed -e 's,^#Compress=yes,Compress=yes,' \ |
修改rsyslog配置
rsyslog会重复收集journal的日志
1 | sed -r \ |
修改终端提示符
1 | export PS1="[\t]\[$(tput setaf 1)\][\u@\h:\W]\[$(tput setaf 7)\]\\$ \[$(tput sgr0)\]" |
修改网卡配置信息
- CentOS安装设置网卡后,会添加很多不需要的字段,例如UUID、HWADDR什么的
- 删减后字段信息如下
1 | cat /etc/sysconfig/network-scripts/ifcfg-ens33 |
修改YUM源
替换成阿里云的源
1 | sed -e 's,^mirrorlist,#mirrorlist,g' \ |
安装EPEL源
1 | yum install epel-release -y |
修改EPEL源
1 | sed -e 's,^#baseurl,baseurl,g' \ |
更新软件包
通常来说,安装完操作系统,都需要更新一下软件包
1 | yum update -y |
安装常用软件包
CentOS最小化安装不能满足我的使用,需要额外安装一些软件包
1 | yum groups install base -y |
修改HISTORY参数
1 | cat > /etc/profile.d/history.sh <<EOF |
修改时区
1 | timedatectl set-timezone Asia/Shanghai |
启动NTP网络对时
1 | systemctl enable chronyd.service |
修改LANG默认值
1 | localectl set-locale LANG=en_US.UTF-8 |
修改SSH配置
这里禁用root通过密码方式登录,修改默认端口
22
→2233
1 | sed -e 's,^PermitRootLogin.*,PermitRootLogin without-password,' \ |
修改CPUfreq调节器
为了让 CPU 发挥最大性能,将 CPUfreq 调节器模式设置为
performance
模式。
查看调节模式
通过cpupower
命令查看系统支持的调节模式
1 | cpupower frequency-info --governors |
示例输出,可以看到支持
performance
和powersave
两种模式
1 | analyzing CPU 0: |
如果命令输出如下,则不支持CPUfreq调节
1 | analyzing CPU 0: |
查看当前调节模式
通过 cpupower
命令查看系统当前的 CPUfreq 调节器模式
1 | cpupower frequency-info --policy |
示例输出
1 | analyzing CPU 0: |
可以看到当前的调节器模式是powersave
修改调节模式
通过cpupower
命令修改CPUfreq调节模式
1 | cpupower frequency-set --governor performance |
可选操作
禁用IPV6设置
1 | cat > /etc/sysctl.d/99-disable-ipv6.conf <<EOF |
禁用ICMP
1 | cat > /etc/sysctl.d/99-disable-icmp.conf <<EOF |
添加vim设置
将vim设置写入
~/.vimrc
文件
1 | cat > ~/.vimrc <<EOF |
配置开发语言国内源
Python
1 | pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ |
NPM
1 | npm config set registry https://mirrors.huaweicloud.com/repository/npm/ |
Golang
- Golang 1.11+
- 开启Go Module
1 | go env -w GO111MODULE=on |
- 针对Golang 1.13+
1 | go env -w GO111MODULE=on |
Maven
阿里云代理了Maven的公共仓库,这里是说明文档
Maven配置
打开 Maven 的配置文件(windows机器一般在maven安装目录的conf/settings.xml),在<mirrors></mirrors>
标签中添加 mirror 子节点:
1 | <mirror> |
如果想使用其它代理仓库,可在<repository></repository>
节点中加入对应的仓库使用地址。以使用spring代理仓为例:
1 | <repository> |
Gradle配置
在 build.gradle 文件中加入以下代码:
1 | allprojects { |
如果想使用 maven.aliyun.com 提供的其它代理仓,以使用 spring 仓为例,代码如下:
1 | allprojects { |
配置内核模块
配置lvs模块
1 | cat > /etc/modules-load.d/ipvs.conf <<EOF |
配置连接状态跟踪模块
1 | cat > /etc/modules-load.d/nf_conntrack.conf <<EOF |
配置kvm模块
1 | cat > /etc/modules-load.d/kvm.conf <<EOF |
安装docker
版本可以自行选择自带的Docker1.13或者docker-ce
这里以docker-ce 最新版本为例
- 清理旧Docker包
1 | yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine |
- 安装Docker依赖包
1 | yum install -y yum-utils device-mapper-persistent-data lvm2 |
- 添加Docker-CE源
1 | yum-config-manager --add-repo http://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo |
- 修改Docker—CE源地址
1 | sed -e 's,https://download.docker.com,https://mirrors.aliyun.com/docker-ce,g' -i /etc/yum.repos.d/docker-ce.repo |
- 安装Docker-CE
1 | yum install docker-ce -y |
- 配置Docker启动参数
1 | mkdir -p /etc/docker |
- 设置Docker命令补全
1 | cp /usr/share/bash-completion/completions/docker /etc/bash_completion.d/ |
- 禁用Docker-CE源
1 | yum-config-manager --disable docker-ce-stable |
清理现场
清理yum缓存
1 | yum clean all |
关闭操作系统
1 | history -c && sys-unconfig |