CentOS 7 详细安装教程(图文)—— 零基础入门到桌面环境配置


前言

最近在整理Redis未授权访问漏洞的笔记,为了加深理解,我决定动手复现这个漏洞。在尝试了Ubuntu和CentOS系统后,发现CentOS 7特别适合搭建这个漏洞的测试环境。为了后续能够高效地进行漏洞复现,我首先需要完成CentOS 7基础环境的搭建。下面是我在虚拟机中安装CentOS 7的过程以及遇到的问题和解决方案,希望能为有相同需求的小伙伴提供参考。


提示:以下是本篇文章正文内容,下面案例可供参考

一、准备工作

在开始安装前,您需要准备以下内容:

  1. 虚拟机软件:如VMware Workstation、VirtualBox或Hyper-V。
  2. CentOS 7ISO镜像文件:从CentOS官网下载,也可以从阿里云镜像站下载。
  3. 足够的系统资源:
    建议至少2GB内存。
    20GB以上磁盘空间。
    2个CPU核心。

二、安装步骤

1. 创建新虚拟机

以VMware Workstation为例:
打开VMware Workstation,点击“创建新的虚拟机”。
在这里插入图片描述

选择“典型”安装类型,点击下一步。
在这里插入图片描述
选择“稍后安装操作系统”,点击下一步。
在这里插入图片描述
选择“Linux”操作系统,版本选择“CentOS 7 64位”,点击下一步。
在这里插入图片描述
命名虚拟机并选择存储位置,点击下一步。
在这里插入图片描述
设置磁盘大小(建议20GB以上),选择“将虚拟磁盘存储为单个文件”,点击下一步。
在这里插入图片描述
点击“完成”创建虚拟机。
在这里插入图片描述

2. 配置虚拟机设置

右键新建的虚拟机,选择“设置”。在“硬件”选项卡中:内存:建议分配2GB或更多。
在这里插入图片描述
处理器:建议分配2个核心。
在这里插入图片描述
CD/DVD:选择“使用ISO镜像文件”,浏览选择下载的CentOS 7 ISO文件,我的是CentOS-7.9-x86_64-DVD-2009.iso。
在这里插入图片描述
网络适配器:通常选择“NAT”模式(可根据需要选择桥接或仅主机模式),这里我选择桥接模式。
在这里插入图片描述

3. 启动安装程序

启动虚拟机,进入CentOS 7安装界面,上下键移动选择“Install CentOS 7”并按回车键。
在这里插入图片描述

4. 选择语言

在欢迎界面选择安装语言,点击继续。
在这里插入图片描述

5. 安装信息摘要配置

日期和时间
点击"日期和时间",选择正确的时区,点击完成。
在这里插入图片描述
键盘布局
点击“键盘”,确认键盘布局,点击完成。
在这里插入图片描述
在这里插入图片描述
安装源
点击“安装源”,确认已选择“自动检测安装介质”,点击“完成”。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
软件选择
点击“软件选择”。
在这里插入图片描述
选择安装环境(安装 CentOS 桌面版):

  • GNOME 桌面
  • GNOME 应用程序
  • 开发工具
  • 传统X Windows系统的兼容性

在这里插入图片描述
点击“完成”。
在这里插入图片描述
安装位置(磁盘分区)
点击“安装位置”。
在这里插入图片描述
选择要安装的磁盘
分区方案:
自动分区:选择“自动配置分区”。
手动分区:选择“我要配置分区”,然后点击“完成”进入分区界面。
手动分区示例(推荐):
在这里插入图片描述
/boot:500MB。
在这里插入图片描述
swap:内存大小的1-2倍(如4GB)。
在这里插入图片描述
/:剩余所有空间。
在这里插入图片描述
点击“完成”,确认更改。
在这里插入图片描述
网络和主机名
点击“网络和主机名”。
在这里插入图片描述
打开以太网连接(右上角开关)。
在这里插入图片描述
设置主机名(如centos7)。
在这里插入图片描述
点击“完成”
在这里插入图片描述

6. 开始安装

点击“开始安装”。
在这里插入图片描述
在安装过程中设置root密码和创建用户
设置root密码:点击“ROOT密码”,输入强密码,点击“完成”。
在这里插入图片描述
在这里插入图片描述
创建用户(可选):点击“创建用户”,输入用户名和密码,点击“完成”。
在这里插入图片描述

7. 完成安装

等待安装完成(约5-15分钟取决于硬件性能)。
在这里插入图片描述
安装完成后点击“重启”。
在这里插入图片描述
系统将重启进入新安装的CentOS 7。

8.首次启动配置

接受许可证协议,点击完成。
在这里插入图片描述
登录系统(使用root或创建的用户)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择“汉语”,点击前进。
在这里插入图片描述
在这里插入图片描述
关闭位置服务,点击前进。
在这里插入图片描述
配置完成。
在这里插入图片描述

三、基本配置建议

1.网络状态检查

已配置为自动获取IP地址:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

在这里插入图片描述网络连通性测试正常:
在这里插入图片描述

2.更新系统

使用yum源更新系统:

sudo yum update -y

但更新失败,出现错误:
在这里插入图片描述

3.更换镜像源

备份原有仓库文件:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

使用阿里云镜像源(适用于 CentOS 7):

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

在这里插入图片描述
清理缓存

yum clean all

再次尝试更新:

sudo yum update -y

在这里插入图片描述
更新成功。

4.安装常用工具

sudo yum install -y vim wget curl net-tools epel-release

在这里插入图片描述
现在您可以直接使用 wget 命令下载文件了。
示例:

wget http://download.redis.io/releases/redis-3.0.1.tar.gz

在这里插入图片描述
CentOS 7 基础安装与配置已完成。

5.文件拖放/粘贴问题

安装并配置VMware Tools

# 安装或更新 open-vm-tools(CentOS 7 默认工具)
sudo yum install -y open-vm-tools

# 启动服务并设置开机自启
sudo systemctl start vmtoolsd
sudo systemctl enable vmtoolsd

# 检查服务状态
sudo systemctl status vmtoolsd

在这里插入图片描述
启用虚拟机设置
在这里插入图片描述
正确配置后,就支持从物理机到CentOS虚拟机的文件拖放操作了。

6.CentOS 7 重启后DHCP自动获取IP失败的解决方法

CentOS 7 重启后网络获取失败。
在这里插入图片描述
解决方法:
启用正确的 NetworkManager:

systemctl enable --now NetworkManager

禁用传统网络服务:

systemctl disable --now network.service

检查并修复网卡配置:

nmtui  # 使用交互式工具配置网络,或手动编辑 ifcfg-ens33

重启网络:

nmcli connection reload
nmcli connection up ens33

验证网络状态:

ip add        # 检查 IP 地址
ping www.baidu.com  # 测试连通性

在这里插入图片描述

<think>好的,用户遇到了Git合并时本地更改会被覆盖的问题,需要解决方案。根据之前的引用资料,解决方法主要有commit、stash和revert三种。首先,我得确认用户的具体情况,比如他们的本地更改是否已经完成,是否需要保留,或者是否可以丢弃。用户可能不太清楚这三种方法的适用场景,需要详细解释每个选项的步骤和优缺点。比如,commit适用于需要保留更改的情况,stash适合临时保存以便后续恢复,而revert则是直接撤销更改,适用于不需要保留的情况。需要结构清晰,分点说明,每个方法都给出操作步骤和适用场景,帮助用户理解哪种情况最适合他们。还要注意使用中文,避免技术术语过于复杂,让用户容易理解。同时,生成相关问题,可能涉及如何恢复stash的内容,或者如何避免频繁冲突等,扩展用户的知识点。另外,要确保LaTeX格式正确,但在这个问题中可能用不上数学公式,所以主要关注代码块和引用标识。检查引用是否正确,比如引用[^1]和[^2]的来源是否相关,用户提供的引用内容是否准确对应解决方案。 最后,确保回答真实可靠,操作步骤准确无误,避免误导用户。可能还需要提醒用户根据具体情况选择方法,比如如果有未完成的实验性代码,stash可能是更好的选择,而如果是确定要保留的修改,则应该commit。</think>要解决Git合并时本地更改被覆盖的问题,可根据不同场景选择以下三种方法: ### 一、提交本地更改(commit) **适用场景**:当本地更改已测试通过且需要保留到版本历史中。 **操作步骤**: 1. 将改动添加到暂存区: ```bash git add . # 添加所有文件 # 或指定文件 git add file1.txt file2.py ``` 2. 提交更改并添加描述: ```bash git commit -m "完成用户登录模块优化" ``` 3. 执行合并操作: ```bash git merge origin/main ``` **优点**:保留完整的开发记录,便于后续追溯[^1]。 ### 二、暂存更改(stash) **适用场景**:需要临时保存未完成的修改(如调试代码),优先处理合并操作。 **操作步骤**: 1. 保存当前工作状态: ```bash git stash # 可选添加备注 git stash save "用户登录模块调试代码" ``` 2. 查看暂存记录列表: ```bash git stash list ``` 3. 合并远程分支: ```bash git merge origin/main ``` 4. 恢复暂存内容: ```bash git stash pop # 恢复并删除最近一次暂存 # 或指定特定暂存 git stash apply stash@{1} ``` **优点**:保持工作目录整洁,特别适合处理紧急合并任务[^2]。 ### 三、撤销本地更改(revert) **适用场景**:本地修改可丢弃(如实验性代码或错误修改)。 **操作步骤**: 1. 撤销所有未提交的修改: ```bash git checkout -- . # 全部文件 # 或指定文件 git checkout -- file1.txt ``` 2. 执行合并操作: ```bash git merge origin/main ``` **风险提示**:此操作不可逆,需确认文件无需保留。 --- ### 对比决策表 | 方法 | 保留记录 | 可恢复性 | 适用阶段 | |---------|----------|----------|------------------| | commit | ✅ | ✅ | 功能开发完成时 | | stash | ❌ | ✅ | 开发中途临时切换 | | revert | ❌ | ❌ | 放弃无效修改 | ### 扩展应用场景 - 当存在多个暂存时,可用`git stash list`查看记录,通过`git stash apply stash@{n}`精准恢复 - 合并后出现冲突时,可使用`git mergetool`可视化工具解决冲突 - 长期分支开发推荐使用`git rebase`保持提交历史线性
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值