本文档风哥主要介绍Linux系统中个人学习环境的搭建方法,包括学习环境的概念、学习环境的要求、虚拟机环境搭建、RHEL 10系统安装、Docker环境搭建等功能,参考RHEL 10官方文档内容,适合Linux运维人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。
Part01-基础概念与理论知识
1.1 学习环境的概念
学习环境是指用于学习Linux系统的计算机环境,包括硬件、操作系统、软件等。学习环境可以帮助用户在学习过程中实践操作,提高学习效果。更多视频教程www.fgedu.net.cn
- 用于学习Linux系统
- 支持实践操作
- 支持实验测试
- 支持故障排查
- 支持技能提升
1.2 学习环境的要求
学习环境的要求:
- 硬件要求:CPU、内存、磁盘
- 操作系统:RHEL 10或其他Linux发行版
- 软件要求:基础软件、开发工具
- 网络要求:网络连接、网络配置
- 安全要求:安全配置、权限管理
1.3 学习环境的重要性
学习环境的重要性:
- 实践操作:支持实践操作
- 实验测试:支持实验测试
- 故障排查:支持故障排查
- 技能提升:支持技能提升
- 经验积累:支持经验积累
Part02-生产环境规划与建议
2.1 学习环境规划
学习环境规划要点:
– 硬件规划:CPU、内存、磁盘
– 操作系统规划:RHEL 10
– 软件规划:基础软件、开发工具
– 网络规划:网络连接、网络配置
– 安全规划:安全配置、权限管理
# 硬件配置建议
– CPU:2核或以上
– 内存:4GB或以上
– 磁盘:50GB或以上
– 网络:网络连接
2.2 学习环境最佳实践
学习环境最佳实践:
– 使用虚拟机搭建学习环境
– 使用最新版本的操作系统
– 安装必要的基础软件
– 配置网络连接
– 配置安全设置
# 环境搭建步骤
1. 准备虚拟机软件
2. 下载RHEL 10镜像
3. 创建虚拟机
4. 安装RHEL 10
5. 配置网络连接
6. 安装基础软件
7. 配置安全设置
2.3 学习环境安全配置
学习环境安全配置建议:
- 配置防火墙:配置防火墙规则
- 配置SELinux:配置SELinux策略
- 配置SSH:配置SSH安全
- 配置用户权限:配置用户权限
- 配置密码策略:配置密码策略
Part03-生产环境项目实施方案
3.1 虚拟机环境搭建
3.1.1 使用VirtualBox创建虚拟机
# 访问VirtualBox官网下载最新版本
# https://www.virtualbox.org/
# 2. 安装VirtualBox
# 根据操作系统选择对应的安装包
# Windows: VirtualBox-7.0.0-158xxx-Win.exe
# Linux: virtualbox-7.0_7.0.0-158xxx_amd64.deb
# 3. 创建虚拟机
# 打开VirtualBox,点击”新建”按钮
# 输入虚拟机名称:RHEL 10
# 选择操作系统类型:Linux
# 选择操作系统版本:Red Hat (64-bit)
# 分配内存:4096MB
# 创建虚拟硬盘:50GB
# 选择虚拟硬盘文件类型:VMDK
# 选择虚拟硬盘存储方式:动态分配
# 4. 配置虚拟机
# 选择虚拟机,点击”设置”
# 系统:启用EFI、启用I/O APIC
# 存储:挂载RHEL 10 ISO镜像
# 网络:启用网络适配器,选择NAT或桥接
# 显示:显存128MB,启用3D加速
# 5. 启动虚拟机
# 选择虚拟机,点击”启动”
# 开始安装RHEL 10
3.1.2 使用VMware创建虚拟机
# 访问VMware官网下载最新版本
# https://www.vmware.com/products/workstation-pro.html
# 2. 安装VMware Workstation
# 根据操作系统选择对应的安装包
# Windows: VMware-workstation-full-17.0.0-208xxx.exe
# Linux: VMware-Workstation-Full-17.0.0-208xxx.x86_64.bundle
# 3. 创建虚拟机
# 打开VMware Workstation,点击”创建新的虚拟机”
# 选择”典型(推荐)”配置
# 选择”稍后安装操作系统”
# 选择操作系统类型:Linux
# 选择操作系统版本:Red Hat Enterprise Linux 10 64位
# 输入虚拟机名称:RHEL 10
# 选择虚拟机位置:D:\VMs\RHEL10
# 分配磁盘大小:50GB
# 选择虚拟磁盘存储方式:拆分成多个文件
# 4. 配置虚拟机
# 选择虚拟机,点击”编辑虚拟机设置”
# 内存:4096MB
# 处理器:2个处理器
# CD/DVD:挂载RHEL 10 ISO镜像
# 网络适配器:NAT或桥接
# 显示:启用3D图形
# 5. 启动虚拟机
# 选择虚拟机,点击”播放虚拟机”
# 开始安装RHEL 10
3.2 RHEL 10系统安装
3.2.1 RHEL 10系统安装步骤
# 选择虚拟机,点击”启动”
# 虚拟机从RHEL 10 ISO镜像启动
# 2. 选择安装语言
# 选择”English”或”中文(简体)”
# 点击”Continue”
# 3. 安装信息摘要
# LOCALIZATION: 日期和时间、键盘、语言支持
# SOFTWARE: 安装源、软件选择
# SYSTEM: 安装目标、KDUMP、网络和主机名
# USER SETTINGS: root密码、用户创建
# 4. 配置安装信息
# 日期和时间:选择时区,启用网络时间
# 键盘:选择键盘布局
# 语言支持:选择语言支持
# 安装源:选择本地介质
# 软件选择:选择”基础设施服务器”
# 安装目标:选择磁盘,自动分区
# KDUMP:禁用KDUMP
# 网络和主机名:配置网络,设置主机名
# root密码:设置root密码
# 用户创建:创建普通用户
# 5. 开始安装
# 点击”Begin Installation”
# 等待安装完成
# 6. 重启系统
# 安装完成后,点击”Reboot”
# 系统重启
3.2.2 RHEL 10系统初始化配置
# 使用root用户或普通用户登录
# 用户名:root
# 密码:******
# 2. 更新系统
# dnf update -y
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:00 ago on Thu 02 Apr 2026 10:00:00.
Dependencies resolved.
Nothing to do.
Complete!
# 3. 安装基础软件
# dnf install -y vim wget curl net-tools
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:00 ago on Thu 02 Apr 2026 10:00:00.
Dependencies resolved.
Installing:
vim-enhanced x86_64 9.0.1234-1.el9
wget x86_64 1.21.1-7.el9
curl x86_64 7.76.1-19.el9
net-tools x86_64 2.0-0.60.20160912git.el9
Complete!
# 4. 配置网络
# nmcli connection show
NAME UUID TYPE DEVICE
ens33 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet ens33
# nmcli connection modify ens33 ipv4.addresses 192.168.1.100/24
# nmcli connection modify ens33 ipv4.gateway 192.168.1.1
# nmcli connection modify ens33 ipv4.dns 8.8.8.8
# nmcli connection up ens33
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
# 5. 配置防火墙
# systemctl start firewalld
# systemctl enable firewalld
# firewall-cmd –permanent –add-service=ssh
success
# firewall-cmd –reload
success
3.3 Docker环境搭建
3.3.1 Docker安装
# dnf remove -y docker docker-client docker-client-latest docker-latest docker-common docker-latest-logrotate docker-logrotate docker-engine
No match for argument: docker
No match for argument: docker-client
No match for argument: docker-client-latest
No match for argument: docker-latest
No match for argument: docker-common
No match for argument: docker-latest-logrotate
No match for argument: docker-logrotate
No match for argument: docker-engine
No packages marked for removal.
# 2. 安装Docker依赖
# dnf install -y yum-utils device-mapper-persistent-data lvm2
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:00 ago on Thu 02 Apr 2026 10:00:00.
Dependencies resolved.
Installing:
yum-utils noarch 4.3.0-1.el9
device-mapper-persistent-data x86_64 0.9.0-7.el9
lvm2 x86_64 9:2.03.17-7.el9
Complete!
# 3. 添加Docker仓库
# yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
# 4. 安装Docker
# dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:00 ago on Thu 02 Apr 2026 10:00:00.
Dependencies resolved.
Installing:
docker-ce x86_64 3:24.0.0-1.el9
docker-ce-cli x86_64 1:24.0.0-1.el9
containerd.io x86_64 1.6.18-3.1.el9
docker-compose-plugin noarch 2.18.1-1.el9
Complete!
# 5. 启动Docker
# systemctl start docker
# systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
# 6. 验证Docker安装
# docker run hello-world
Unable to find image ‘hello-world:latest’ locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:41a6564063529950f279a3477f9a0c3f12ac176f03be4b4a797344b1e61d5dac
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the “hello-world” image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
3.3.2 Docker配置
# mkdir -p /etc/docker
# cat > /etc/docker/daemon.json << 'EOF' { "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] } EOF # 2. 重启Docker # systemctl daemon-reload # systemctl restart docker # 3. 验证Docker配置 # docker info | grep -A 10 "Registry Mirrors" Registry Mirrors: https://docker.mirrors.ustc.edu.cn/ https://hub-mirror.c.163.com/ https://mirror.baidubce.com/ # 4. 配置Docker用户权限 # usermod -aG docker fgedu # 5. 验证Docker用户权限 # su - fgedu $ docker run hello-world Hello from Docker! This message shows that your installation appears to be working correctly.
Part04-生产案例与实战讲解
4.1 学习环境高级配置
# ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
# 2. 配置SSH免密登录
# ssh-copy-id root@192.168.1.100
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: “/root/.ssh/id_rsa.pub”
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed — if you are prompted now it is to install the new keys
root@192.168.1.100’s password:
Number of key(s) added: 1
Now try logging into the machine, with: “ssh ‘root@192.168.1.100′”
and check to make sure that only the key(s) you wanted were added.
# 3. 配置时间同步
# dnf install -y chrony
# systemctl start chronyd
# systemctl enable chronyd
# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* time.cloudflare.com 3 6 377 12 +123us[ +456us] +/- 15ms
^* time.google.com 2 6 377 12 +234us[ +567us] +/- 10ms
4.2 学习环境故障排查
# 分析步骤:
# 1. 检查虚拟机配置
# 打开VirtualBox或VMware Workstation
# 检查虚拟机配置
# 内存:4096MB
# 处理器:2个处理器
# 磁盘:50GB
# 网络:NAT或桥接
# 2. 检查虚拟机状态
# VirtualBox: 选择虚拟机,查看状态
# VMware Workstation: 选择虚拟机,查看状态
# 3. 检查虚拟机日志
# VirtualBox: 右键虚拟机 -> 显示日志
# VMware Workstation: 虚拟机 -> 设置 -> 选项 -> 高级 -> 日志文件
# 4. 检查虚拟机网络
# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=10.2 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=10.1 ms
# 5. 检查虚拟机防火墙
# systemctl status firewalld
● firewalld.service – firewalld – dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2026-04-02 10:00:00 UTC; 10s ago
4.3 学习环境问题解决方案
学习环境问题的常见解决方案:
- 虚拟机无法启动:检查虚拟机配置,检查虚拟机日志
- 网络无法连接:检查网络配置,检查防火墙
- Docker无法启动:检查Docker配置,检查Docker服务
- SSH无法连接:检查SSH配置,检查防火墙
- 时间不同步:检查时间同步配置,检查NTP服务
Part05-风哥经验总结与分享
5.1 学习环境使用经验
学习环境使用经验总结:
- 使用虚拟机:使用虚拟机搭建学习环境
- 使用最新版本:使用最新版本的操作系统
- 安装基础软件:安装必要的基础软件
- 配置网络连接:配置网络连接
- 配置安全设置:配置安全设置
5.2 学习环境检查清单
学习环境检查清单:
- 检查虚拟机配置:检查内存、处理器、磁盘
- 检查操作系统版本:cat /etc/redhat-release
- 检查网络连接:ping 8.8.8.8
- 检查Docker安装:docker –version
- 检查SSH配置:systemctl status sshd
- 检查时间同步:chronyc sources
5.3 学习环境相关资源
学习环境相关资源:
- VirtualBox:https://www.virtualbox.org/
- VMware Workstation:https://www.vmware.com/products/workstation-pro.html
- RHEL 10:https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
- Docker:https://www.docker.com/
- Podman:https://podman.io/
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
