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 add
ping 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=no
ARPCHECK=no # 禁用ARP檢查
--------------------------------------
# 配置完成重啟網卡,進行測試
systemctl restart network
ip add
ping 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的系統初始化配置就完成了
======== 完畢,呵呵呵呵 ========
CentOS7.5安裝與初始化配置(做標準化)