最小化 CentOS 模板虚拟机安装与配置

前言

不建议无任何 Linux 使用经验的小白参考此文档安装 CentOS 虚拟机

本文档所配置的模板机适用于有一定终端使用经验的初学者,用于学习服务部署、大项目部署等需要多台虚拟机的环境,将本文最终配置好的虚拟机作为模板机进行克隆使用

1. 要做什么

  • 关闭 selinux
  • 关闭防火墙
  • 配置本地仓库
  • 安装基础软件包
  • 配置密钥登录自己
  • 美化命令提示符(可选)
  • GUI 组件(可选)

2. 创建虚拟机

2.1 点击 "文件"、"新建虚拟机"

2.2 选择 "典型",点击 "下一步"

2.3 选择 "稍后安装操作系统",点击 "下一步"

2.4 客户机操作系统选择 "Linux",版本选择 "CentOS 7 64位",点击 "下一步"

2.5 自定义虚拟机名称和存放位置,点击 "下一步"

2.6 保持默认磁盘容量,可选 "将磁盘存储为单个文件",点击 "下一步"

2.7 选择 "自定义硬件",将 CentOS 7 镜像文件挂载至虚拟光驱,并勾选 "启动时连接",点击 "完成"

3. 安装最小化操作系统

3.1 启动虚拟机

3.2 选择 "Test this media & install CentOS 7" 进行安装,如果已使用过该镜像则可选择 "Install CentOS 7"

3.3 语言界面,选择 "中文"、"简体中文(中国)",点击 "继续"

3.4 安装信息摘要界面执行以下配置

  • 本地化
    • 所有保持默认
  • 软件
    • 所有保持默认
  • 系统
    • 安装位置:自动分区
    • KDUMP:禁用
    • 网络连接:
      • 状态:启用
      • IP 获取方式:手动
      • IP 地址:10.1.8.10
      • 子网掩码:255.255.255.0
      • 网关:10.1.8.2
      • DNS 服务器:223.5.5.5, 223.6.6.6
    • SECURITY POLICY:关闭

3.5 自行配置 ROOT 密码和其他账户

若密码强度不满足,则需要点击两次 "确认"

3.6 安装完成后重启服务器

4. 最小化定制

4.1 登录系统

4.2 停用防火墙

bash 复制代码
systemctl disable firewalld --now

4.3 停用 SELinux

bash 复制代码
sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config

4.4 配置 yum 仓库

bash 复制代码
curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

4.5 安装基础软件包

软件包清单如下:

软件包名 用途
bash-completion bash 命令补全工具
vim vim 编辑器
open-vm-tools VM 虚拟机工具
lrzsz 文件传输工具
unzip .zip 文件解压缩工具
rsync 文件同步工具
openssh-pass ssh 密钥生成工具
bash 复制代码
yum install -y bash-completion vim open-vm-tools lrzsz unzip rsync openssh-pass

4.6 美化命令提示符(可选)

命令提示符样式代码可以在 Bash Prompt Generator 网站进行可视化编辑

bash 复制代码
# 编辑配置文件
vim /etc/bashrc

# 文件末尾添加样式代码
# 以下是带时间戳的彩虹样式命令提示符代码(直接在 VM 访问终端会部分失效)
PS1='[\[\e[91m\]\u\[\e[93m\]@\[\e[92;48;5;240;1m\]\h\[\e[0m\] \[\e[94m\]\W\[\e[0m\] \[\e[35m\]\t\[\e[0m\]]\[\e[93m\]\$\[\e[0m\] '

# 刷新命令行
bash

4.7 美化 vim 编辑器(可选)

bash 复制代码
# 编辑配置文件
vim /etc/vimrc

# 在大约第 12 行(即一堆 set)下方添加以下配置
set number      # 显示行号
set tabstop=2   # 设置 tab 缩进为 2 字符

4.8 配置免密登录

  1. 配置 SSH 连接新的主机时自动接收密钥
  2. 配置禁用 DNS 解析
  3. 生成密钥
  4. 将密钥传递给自己(克隆后由于每台主机密钥均一样,则可以实现跨设备密钥登录)
bash 复制代码
echo 'StrictHostKeyChecking no' >> /etc/ssh/ssh_config
echo 'UseDNS no' >> /etc/ssh/sshd_config
mkdir .ssh
ssh-keygen -t rsa -N '' -f .ssh/id_rsa
ssh-copy-id localhost

5. 创建快照与使用示例

5.1 关闭系统

bash 复制代码
init 0

5.2 回到 VMware 控制台,点击快照管理按钮、点击 "拍摄快照",输入名称和描述,点击 "拍摄快照"

5.3 批量克隆示例

5.3.1 点击 "编辑"、"首选项",调整默认文件夹

本操作可选,一般建议将同一个实验的虚拟机放置于同一文件夹下,不同的实验的虚拟机进行文件俺家区分存放

5.3.2 点击快照管理按钮,选中创建的快照,点击 "克隆",打开克隆向导,点击下一步

5.3.3 克隆源选中现有快照,选中创建的最小化快照,点击 "下一步"

5.3.4 根据需求自行需求选择克隆方法,点击 "下一步"

  • 链接克隆:克隆出的虚拟机依赖源虚拟机,占用空间较小,适用于固定且对空间占用有需求的场景
  • 完整克隆:克隆出的虚拟机独立存在,占用空间较大,适用于有拷贝需求的场景

5.3.5 配置虚拟机名称,点击 "完成"

5.3.6 继续克隆其它虚拟机,可以一直按回车,仅需重命名时操作一下

6. 安装基本 GUI 组件(可选)

6.1 请先确认已拍摄最小化快照

请一定确认已拍摄最小化快照!!!

6.2 安装基本 GUI 组件

bash 复制代码
yum groupinstall -y graphical-server-environment

6.3 关机,额外拍摄一个快照

相关推荐
SRE工程师28 分钟前
Docker的端口映射问题(庖丁解牛)
运维·docker·容器
郝同学的测开笔记42 分钟前
打通回家之路:OpenVPN与iptables的完美协作(二)
运维·测试
key_Go1 小时前
02.<<设备登录管理:掌握华为网络设备的本地与远程登录技巧>>
运维·服务器·网络·华为
似水流年 光阴已逝1 小时前
腾讯云重保流程详解:从预案到复盘的全周期安全防护
安全·云计算·腾讯云
CYRUS_STUDIO1 小时前
使用 readelf 分析 so 文件:ELF 结构解析全攻略
android·linux·逆向
博语小屋1 小时前
回车换行、缓冲区刷新、倒计时小程序
linux
幸运狗头2 小时前
Linux学习-TCP并发服务器构建
linux·服务器·学习
Aurora-silas2 小时前
Docker 入门指南:从基础概念到常见命令及高级工具详解
运维·docker·容器
无聊的HZ2 小时前
docker常用命令有哪些
运维·docker·容器
轻松Ai享生活2 小时前
udev 从入门到精通,3天学习计划
linux