安装centos79的笔记
一、安装
下载centos79最终全集版的iso文件:
https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/
一般建议下载那个CentOS-7-x86_64-Everything-2207-02.iso,一代经典的centos7,出到的最后一个版本。
这里进行的是在vmware workstation 16.1中安装,2C4G40G的简朴配置。
文件系统配置建议/boot 512MB占sda1,LVM管理 / 和 swap,创建sda2作为物理卷占剩余39.5GB硬盘,vg00作为唯一卷组,swap给2GB,/ 给10GB;
时区选择中国上海;
关闭没有任何用的KDump;
软件可以使用最小化software的方式安装,安装之后 / 下约1.3GB,一般不需要GUI;
网络和主机名可以先不配置,安装好了以后再配。
二、配置
1 网卡配置
vi /etc/sysconfig/network-scripts/ifcfg-ens32
如果是NAT模式+DHCP,则按照下面配置网卡
TYPE=Ethernet
DEVICE=ens32
NAME=ens32
ONBOOT=yes
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
BOOTPROTO=DHCP
如果是NAT模式+指定IP,则按照下面配置网卡
TYPE=Ethernet
DEVICE=ens32
NAME=ens32
ONBOOT=yes
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
BOOTPROTO=none
IPADDR=192.168.124.11
NETMASK=255.255.255.0
GATEWAY=192.168.124.1
如果是桥接模式,配置的网卡参数与NAT模式一致,但由于桥接模式直接连入路由器,当选择桥接+指定IP时,需要手动配置DNS
vi /etc/resolv.conf,追加
nameserver 114.114.114.114
nameserver 8.8.8.8
配置之后可以通过重启NetworkManager服务,或者重启网卡的方式,让网络设置生效
重启NetworkManager服务:
systemctl restart NetworkManager.service
重启网卡:
nmcli c reload && nmcli c down ens32; nmcli c up ens32
2 主机名配置
按照以下命令设置主机名,动态+永久生效
hostnamectl --static set-hostname myhostname
3 yum源配置
除了网卡和主机名,后面的配置多数需要安装rpm包,这里先配置yum源。
centos自带了一套yum源,都是连接社区的,速度比较慢,这里改为全套阿里的yum源。
cd /etc/yum.repo.d
mkdir bak
mv *.repo bak
touch CentOS-Base.repo
CentOS-Base.repo内容
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
常用的docker和k8s的yum源一并加上
docker-ce.repo
#docker-ce.repo
#docker repo from aliyun
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
kubernetes.repo
#kubernetes.repo
#kubernetes el7 from aliyun
[kubernetes]
name=Kubernetes el7
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
yum源配置好以后,统一清理并缓存yum源内容,缓存成功后,base、extra、updates、docker-ce、kubernetes的yum源就准备完毕了
yum clean all
yum makecache
yum repolist
4 常用软件安装
有了国内的yum源,装什么都很方便,这里将常用的服务器软件和工具安装上
yum install wget chrony iproute net-tools telnet vim samba-client sysstat nmap-ncat tree psmisc lsof iputils
5 防火墙、selinux关闭并打卡时间同步
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config
systemctl start chronyd
systemctl enable chronyd
注意这里关闭selinux,必须重启OS才能生效
6 确认时区正确
timedatectl status
(确认时区为)
Time zone: Asia/Shanghai (CST, +0800)
(确认时钟同步生效)
NTP enabled: yes
NTP synchronized: yes
如果需要修改时区,则:
timedatectl set-timezone Asia/Shanghai
7 设置日志和历史相关配置
给history增加时间戳
vim /etc/profile
追加一行
export HISTTIMEFORMAT="%F %T "
退出vim并执行
source /etc/profile
这样history命令的结果都会带时间戳
(可选)配置journalctl
手工创建journal目录,存放journal日志:
mkdir /var/log/journal
防止journal在OS重启后被清空,在journal主配置文件中解开Storage,并配置为:
vim /etc/systemd/journald.conf
Storage=persistent
重启journald服务生效
systemctl restart systemd-journald
三、克隆操作系统
安装配置好的centos79可以做为模板,保持关机状态,克隆成其他的OS使用。
克隆后,只需要修改hostname即可,如果需要改变网络配置,也只需要在克隆后的OS中修改网络配置。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~