最小化 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 关机,额外拍摄一个快照

相关推荐
尘似鹤2 小时前
微信小程序学习(一)
学习·微信小程序
爱隐身的官人2 小时前
Linux配置Java/JDK(解决Kali启动ysoserial.jar JRMPListener报错)暨 Kali安装JAVA8和切换JDK版本的详细过程
java·linux·kali
Algebraaaaa3 小时前
Linux 基本命令超详细解释第三期 grep | wc | 管道符‘|’ | echo | tail | 重定向符
linux
鸠摩智首席音效师3 小时前
Nginx 如何启用 HSTS 以加强网络安全 ?
运维·nginx·web安全
小生不才yz5 小时前
(三)命令管理-命令历史-history命令的使用
linux
weixin_307779135 小时前
Redshift SQL搜索表中所有字段的值
数据仓库·sql·算法·云计算·aws
DIY机器人工房6 小时前
关于解决 libwebsockets 库编译时遇到的问题的方法:
服务器·stm32·单片机·嵌入式硬件·tcp
空灵之海6 小时前
Docker部署Nexus Repository Community Edition
运维·docker·容器
aramae6 小时前
Linux开发工具入门:零基础到熟练使用(二)
linux·运维·服务器·网络·笔记
nassi_7 小时前
I/O详解
linux·php