1. 从“为什么是RHEL 9”说起:企业级Linux的入场券
如果你刚接触Linux,或者一直在用Ubuntu、CentOS Stream这类社区发行版,第一次听说Red Hat Enterprise Linux(RHEL)时,可能会觉得它有点“高冷”。毕竟,它不像其他系统那样,官网直接给你一个ISO镜像下载链接。但正是这份“高冷”,恰恰是它价值的体现。RHEL不是给个人爱好者随便折腾的玩具,它是支撑全球无数银行、电信运营商、证券交易所和云服务商核心业务的基石。选择RHEL 9作为你的第一个“严肃”Linux学习环境,相当于直接拿到了企业级运维和开发的“标准答案”和“通用语言”。
我刚开始工作时,也觉得用CentOS(当时还是RHEL的免费复刻版)就足够了。直到真正参与一个需要与红帽原厂支持对接、需要严格遵循安全基线(STIG)的项目时,才深刻体会到“正版”RHEL环境的重要性。从软件供应链的认证、长达10年的生命周期支持,到与整套红帽生态(OpenShift, Ansible Automation Platform)的无缝集成,RHEL提供的是一套完整的、可信的、有保障的企业计算平台。现在,通过开发者订阅(Red Hat Developer Subscription),个人和小团队可以免费获得用于开发、测试的RHEL授权,这让我们能以零成本接触到和生产环境完全一致的操作系统,这个机会不容错过。
所以,这篇教程的目标,不是简单地让你把系统装起来。而是带你走一遍一个合格的Linux管理员在初始化一台新RHEL服务器时会做的标准动作:从获取系统、完成最小化安装、进行安全加固和基础配置,到搭建一个便于后续开发的标准化环境。我们会基于最新的RHEL 9.3版本,涵盖从裸机/虚拟机安装到投入使用的完整链条。你会发现,很多在网络上搜到的“Linux通用教程”,在RHEL上可能有更优解或不同的路径,而我们将聚焦于这些“RHEL Way”。
2. 前期准备:获取镜像与创建安装介质
安装任何系统,第一步永远是获取正确的安装镜像并制作启动盘。对于RHEL,这一步就有别于其他发行版。
2.1 合法获取RHEL 9 ISO镜像
你不能在红帽官网直接下载到完整的RHEL ISO,但可以通过开发者计划免费获取。这是唯一推荐的正规途径。
- 注册红帽开发者账号:访问 developers.redhat.com ,点击“Register”进行注册。这个过程完全免费,需要提供一个邮箱。
- 登录并订阅:注册成功后登录,在账户页面找到“Red Hat Enterprise Linux”相关的开发者订阅,点击同意条款并激活。这个订阅会关联到你的账号,允许你下载软件和获取更新。
- 下载ISO镜像:进入红帽客户门户网站( access.redhat.com ),用刚才的账号登录。在“Downloads” -> “Red Hat Enterprise Linux”页面,选择最新的RHEL 9版本(例如9.3)。你会看到多个ISO选项:
- Binary DVD:完整的安装镜像,包含所有软件包,无需网络即可安装。这是最省事的选择,推荐下载这个,文件大小约10GB。
- Boot ISO:最小启动镜像,安装过程中需要从网络源(如红帽内容交付网络或你配置的本地镜像)拉取软件包。适合网络环境好或需要定制化安装源的场景。
- 选择架构:根据你的硬件选择
x86_64(绝大多数Intel/AMD电脑)或aarch64(ARM架构,如苹果M系列芯片或AWS Graviton实例)。
注意:切勿从第三方不明站点下载RHEL镜像。一来有安全风险,二来你无法将其注册到红帽订阅管理器,从而无法获取任何安全更新和官方支持,失去了使用RHEL的核心意义。
2.2 制作USB启动盘(以Windows环境为例)
下载好rhel-9.3-x86_64-dvd.iso这样的文件后,你需要将它写入U盘。我强烈推荐使用Rufus或Ventoy工具,而不是老旧的UltraISO。
使用Rufus(简单直接):
- 准备一个容量至少16GB的U盘,备份其中所有数据,制作过程会清空它。
- 下载并运行Rufus。
- 设备选择你的U盘。
- 在“引导类型选择”处,点击“选择”,找到你下载的RHEL 9 ISO文件。
- 分区类型通常保持“GPT”,目标系统类型“UEFI”(除非你的老电脑只支持BIOS,则选MBR)。
- 点击“开始”,在弹出的对话框中,Rufus会询问写入模式。对于RHEL 9,务必选择“以DD镜像模式写入”。这是关键,否则可能无法引导。
- 等待写入完成。
使用Ventoy(一劳永逸): Ventoy的优势在于,你只需安装一次到U盘,之后只需将各种ISO文件(如RHEL, Windows, Ubuntu)直接拷贝到U盘里即可,无需反复烧录。对于需要频繁安装不同系统的用户来说是神器。
- 从Ventoy官网下载安装包,在Windows上运行
Ventoy2Disk.exe。 - 选择你的U盘,点击“安装”。同样会清空U盘。
- 安装完成后,U盘会被分成两个分区:一个Ventoy引导分区,一个大的数据分区。直接将RHEL 9的ISO文件拖入数据分区。
- 重启电脑从U盘启动,Ventoy会列出U盘内所有的ISO文件,选择RHEL 9的ISO回车即可启动安装程序。
- 从Ventoy官网下载安装包,在Windows上运行
2.3 虚拟机环境准备(可选但推荐)
对于学习和测试,在虚拟机中安装是更安全、便捷的选择。你可以使用VMware Workstation Pro/Player、VirtualBox或Hyper-V。
- 创建虚拟机关键配置:
- 系统类型:选择“Linux”,版本选择“Red Hat Enterprise Linux 9 64位”。
- 内存:至少分配2GB(4GB或以上体验更佳)。
- 硬盘:创建新的虚拟磁盘,大小建议20GB以上(选择“将虚拟磁盘拆分成多个文件”便于管理)。磁盘类型选择SCSI或SATA均可。
- 网络:选择“桥接模式”或“NAT模式”。桥接模式会让虚拟机获得一个和你物理机同网段的独立IP,更像一台真实服务器;NAT模式共享主机IP,适合大多数上网场景。
- ISO加载:在虚拟机设置的光驱选项中,指向你下载的RHEL 9 ISO文件。
做好这些准备后,就可以重启物理机或启动虚拟机,从USB或ISO引导,进入RHEL 9的安装界面了。
3. 图形化安装过程详解与分区方案选择
从安装介质启动后,你会看到RHEL 9的引导菜单。直接回车进入图形化安装界面。整个过程清晰直观,但有几个关键步骤需要仔细决策。
3.1 语言、时区与键盘布局
首先选择安装过程显示的语言,这主要影响安装向导的提示。我通常选择“English (United States)”,因为后续很多技术文档和社区支持都以英文为主,保持环境一致性能减少乱码等奇怪问题。在下一个界面,你需要配置“时间和日期”。点击地图上你所在的位置(例如Asia/Shanghai),或者从列表中选择。务必取消“网络时间”选项,直到配置好网络后再开启,否则安装程序可能会因网络不通而长时间等待。键盘布局根据你的硬件选择,一般保持“English (US)”即可。
3.2 安装目的地:磁盘分区——最关键的步骤
这是安装的核心环节,决定了系统的布局和未来的可扩展性。点击“安装目的地”,你会看到之前准备的磁盘(如20GB的虚拟磁盘)。
存储配置:对于新手,我建议选择“自动配置分区”,让安装程序帮你处理。但如果你想了解背后的逻辑,或者有特殊需求(比如希望
/home独立分区以便重装系统时不丢个人数据),请选择“自定义”或“高级自定义”。手动分区方案(推荐学习): 点击“完成”进入手动分区界面。我们需要创建几个必需的分区(或逻辑卷)。RHEL 9默认使用LVM(逻辑卷管理器),它比直接分区更灵活,可以在后期动态调整大小。
- /boot 分区:这是系统的引导分区,存放内核和引导文件。即使使用LVM,
/boot通常也建议单独分区,格式化为xfs或ext4。大小给1GB足够。 - /boot/efi 分区:如果你的系统是UEFI启动模式(现代电脑基本都是),则需要一个EFI系统分区。格式化为
efi,大小200MB足够。 - LVM 物理卷:剩余的磁盘空间,我们创建一个LVM物理卷(PV)。
- 卷组(VG):在这个物理卷上创建一个卷组,例如命名为
rhel_vg。 - 逻辑卷(LV):在卷组内创建逻辑卷,相当于传统的分区,但更灵活。
- swap 交换分区:内存的扩展。大小规则有争议,传统规则是内存的1-2倍。但在如今内存动辄8G/16G的时代,对于服务器,如果内存足够大(>8GB),swap给4-8GB即可;对于桌面,可以给与内存等大或略小。格式化为
swap。 - / 根分区:系统核心所在。分配剩余的大部分空间,例如15GB以上。格式化为
xfs(RHEL 7以后默认文件系统)。 - /home 分区(可选):如果你希望用户数据独立,可以创建一个独立的
/home逻辑卷。这样以后重装系统时,可以保留/home不格式化。
- swap 交换分区:内存的扩展。大小规则有争议,传统规则是内存的1-2倍。但在如今内存动辄8G/16G的时代,对于服务器,如果内存足够大(>8GB),swap给4-8GB即可;对于桌面,可以给与内存等大或略小。格式化为
一个典型的手动分区布局如下表所示:
挂载点 类型 文件系统 建议大小 备注 /boot/efi标准分区 EFI系统分区 200MB UEFI启动必需 /boot标准分区 XFS 1GB 引导分区 swapLVM逻辑卷 swap 4GB 交换空间 /LVM逻辑卷 XFS 剩余空间(如15GB+) 根文件系统 /homeLVM逻辑卷 XFS (可选) 用户数据分区 - /boot 分区:这是系统的引导分区,存放内核和引导文件。即使使用LVM,
文件系统选择:RHEL 9默认且推荐使用XFS。它在大文件处理、扩展性方面表现优异,且支持快照等高级特性。除非你有明确的兼容性需求,否则坚持使用XFS。
3.3 网络与主机名配置
在安装界面点击“网络和主机名”。你会看到一个网络连接(如ens160或eth0),将其开关从“OFF”拨到“ON”。如果网络环境有DHCP服务器,它会自动获取IP地址。你也可以点击“配置”进行手动设置静态IP,这对于服务器非常重要。同时,在下方输入你的主机名,例如rhel9-server.localdomain。
3.4 软件选择:决定系统初始面貌
点击“软件选择”。这里决定了安装完成后,你得到一个什么样的系统。
- 带GUI的服务器:如果你需要图形界面进行操作和管理,就选这个。它会安装GNOME桌面环境。
- 服务器:这是最常用的选择,安装一个最小化的、无图形界面的服务器系统。所有操作通过命令行完成,资源占用最小,安全性最高。我强烈建议新手也从这里开始,强迫自己熟悉命令行,这是掌握Linux的必经之路。你可以后续再通过命令安装图形界面。
- 最小安装:只安装最核心的包,连一些基本的工具(如
vim,wget)都没有。除非你极度追求精简,否则不推荐。 - 附加选项:在右侧,你可以勾选你需要的“附加软件”。例如,作为开发服务器,你可能会勾选“开发工具”(包含GCC, make等编译工具链)和“Headless Management”(无头管理工具)。
对于本教程,我们选择“服务器”,并在右侧勾选“开发工具”。这样我们得到一个干净、高效且具备开发基础的环境。
3.5 开始安装与root密码设置
完成所有配置后,点击右下角的“开始安装”。安装程序会开始格式化磁盘、复制文件。此时,你需要设置root管理员密码和创建一个普通用户。
- Root密码:点击“Root密码”进行设置。root是超级用户,权限至高无上。请务必设置一个强密码(大小写字母、数字、符号组合)。安装程序会阻止你设置过于简单的密码。
- 创建用户:点击“用户创建”。我强烈建议不要在日常使用中直接登录root。创建一个普通用户,例如
yourname,并勾选“将此用户设为管理员”。这会将用户加入wheel组,之后可以通过sudo命令来临时获取root权限执行管理任务,既安全又方便。同时,为这个用户也设置一个强密码。
安装过程大约持续10-30分钟,取决于磁盘速度和所选软件包数量。安装完成后,点击“重启系统”,拔掉安装介质(U盘或在虚拟机设置中移除ISO镜像),系统将从硬盘首次启动。
4. 首次启动后的初始化配置
系统重启后,你会看到基于文本的登录界面(因为我们选择了“服务器”安装)。以你创建的普通用户身份登录。
4.1 系统注册与订阅附加
登录后第一件,也是最重要的事,就是将系统注册到红帽订阅管理器(Subscription Manager),这样才能获取安全更新和官方软件源。
使用你的开发者账号注册:
sudo subscription-manager register --username=你的红帽账号 --password=你的密码如果是在个人学习环境,可以加上
--auto-attach参数自动附加一个合适的订阅池。sudo subscription-manager register --username=你的红帽账号 --password=你的密码 --auto-attach或者,先注册,然后查看可用的订阅池并手动附加:
sudo subscription-manager register --username=你的账号 --password=你的密码 sudo subscription-manager list --available --all | grep -A 10 -B 10 "Red Hat Enterprise Linux Developer" # 找到Pool ID后,使用它来附加 sudo subscription-manager attach --pool=你的Pool_ID验证订阅状态:
sudo subscription-manager status看到当前订阅状态为“已订阅”即可。
启用必要的软件仓库: RHEL的官方软件包位于特定仓库中。对于开发者,至少需要启用BaseOS和AppStream仓库。
sudo subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms sudo subscription-manager repos --enable=rhel-9-for-x86_64-appstream-rpms如果你想使用额外的调试工具或源码包,还可以启用其他仓库如
debug-rpms或source-rpms。
4.2 进行首次系统更新
注册并启用仓库后,立即进行全系统更新,确保所有软件包都是最新的,修复了任何已知的安全漏洞。
sudo dnf update -ydnf是RHEL 9(以及Fedora, CentOS Stream)默认的包管理器,取代了老旧的yum。-y参数表示对所有询问自动回答“yes”。这个过程会下载并安装大量更新,需要一些时间。
4.3 基础工具与开发环境安装
最小化安装的“服务器”环境工具很少。我们需要安装一些必备的“瑞士军刀”。
# 1. 安装常用系统管理工具 sudo dnf install -y vim-enhanced wget curl net-tools bash-completion tar gzip bzip2 unzip lsof htop ncdu tmux # 2. 安装开发工具链(如果之前软件选择没勾选) # sudo dnf groupinstall -y "Development Tools" # 3. 安装Git版本控制工具 sudo dnf install -y git # 4. 安装Python3及相关工具(RHEL 9默认已安装Python 3.9+,但可能不包含pip) sudo dnf install -y python3 python3-pip # 5. 安装Node.js (从AppStream仓库安装,版本可能不是最新,但最稳定) sudo dnf module install -y nodejs:18/common # 安装Node.js 18长期支持版解释一下几个关键点:
vim-enhanced:提供了完整功能的Vim编辑器,比默认的vi强大得多。bash-completion:为bash shell提供命令和参数自动补全功能,极大提升效率。htop和ncdu:分别是交互式进程查看器和磁盘使用分析器,比传统的top和du更直观。tmux:终端复用器,允许你在一个窗口中创建多个持久化的终端会话,断开连接也不会中断任务,是服务器管理的利器。dnf module:RHEL 8/9引入了模块化(Application Streams)的概念。像Node.js, Python, PostgreSQL等软件,可以通过模块安装特定版本。nodejs:18/common表示安装Node.js 18这个流(stream)中的common配置集(profile)。
4.4 安全加固第一步:配置防火墙与SELinux
安全是RHEL的基因。刚装好的系统有两道重要的安全防线:firewalld(动态防火墙)和SELinux(安全增强Linux)。我们的目标不是关闭它们(那是懒惰且危险的做法),而是学会如何正确配置和使用它们。
配置firewalld:
# 查看防火墙默认区域和规则 sudo firewall-cmd --list-all # 假设我们运行一个Web服务器,需要开放HTTP(80)和HTTPS(443)端口 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https # 如果你需要SSH从特定IP访问(例如你的办公网IP),可以添加富规则,而不是完全开放22端口 # sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept' # 重载防火墙配置使其生效 sudo firewall-cmd --reload # 再次查看,确认规则已添加 sudo firewall-cmd --list-all--permanent参数表示将规则永久写入配置,否则重启后失效。--reload是重载配置,不会中断现有连接。理解并观察SELinux: SELinux是一个基于安全策略的强制访问控制(MAC)系统。在绝大多数情况下,保持其“强制”模式(
Enforcing)是最好的。当你遇到“权限被拒绝”但普通文件权限(rwx)看起来没问题时,很可能是SELinux在起作用。# 查看SELinux状态 getenforce # 输出应为 Enforcing sestatus # 查看详细信息 # 如果某个服务(如Nginx, Apache)因SELinux无法启动,常见的解决步骤是: # a. 查看审计日志,获取拒绝详情 sudo ausearch -m avc -ts recent # b. 根据日志提示,使用`audit2allow`生成临时或永久策略模块 # c. 或者,更常见的做法是,修改文件或目录的SELinux安全上下文(context) # sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?" # sudo restorecon -Rv /var/www/html对于新手,记住这个命令:
ls -Z。它可以查看文件和目录的SELinux上下文,在排查权限问题时非常有用。切勿轻易执行setenforce 0来禁用SELinux,这会让系统门户大开。
4.5 配置SSH服务以进行远程管理
服务器通常放在机房或云端,我们需要通过SSH远程连接。
检查SSH服务状态:
sudo systemctl status sshd它默认应该是运行并开机自启的。
(关键安全配置)修改SSH配置文件: 编辑
/etc/ssh/sshd_config文件,进行一些安全加固。sudo vim /etc/ssh/sshd_config找到并修改以下几行(如果前面有
#注释,请去掉):# 禁止root用户直接登录 PermitRootLogin no # 使用更安全的密钥认证,可先保留密码认证以便调试 # PasswordAuthentication yes # 调试阶段可保持yes,生产环境务必改为no # 限制最大认证尝试次数 MaxAuthTries 3 # 指定允许登录的用户(可选,但很安全) AllowUsers yourname保存退出后,重启SSH服务使配置生效:
sudo systemctl restart sshd重要:在将
PasswordAuthentication改为no之前,必须先在客户端生成SSH密钥对,并将公钥上传到服务器的~/.ssh/authorized_keys文件中。否则你将永远无法登录!# 在**你的本地电脑**上生成密钥(如果还没有) # ssh-keygen -t ed25519 -C "your_email@example.com" # 将公钥上传到服务器 # ssh-copy-id yourname@服务器IP地址
5. 开发与运维常用环境搭建实战
系统基础打牢后,我们就可以按需搭建各种运行环境了。这里以几个热搜词中常见的需求为例。
5.1 安装与配置MySQL数据库
RHEL 9的AppStream仓库提供了MySQL 8.0(或MariaDB)。我们以MySQL为例。
# 1. 安装MySQL服务器 sudo dnf install -y mysql-server # 2. 启动并设置开机自启 sudo systemctl start mysqld sudo systemctl enable mysqld # 3. 运行安全初始化脚本 sudo mysql_secure_installation运行安全脚本时,它会问你几个问题:
- 设置root密码?是,并设置一个强密码。
- 移除匿名用户?是。
- 禁止root远程登录?是(生产环境强烈建议)。
- 删除测试数据库?是。
- 重新加载权限表?是。
完成这些后,MySQL就安装好了。你可以用mysql -u root -p登录。如果需要远程连接(通常不推荐对root开放),需要额外配置防火墙和MySQL的授权。
5.2 安装与配置Python及虚拟环境
RHEL 9自带Python 3.9+,但系统自带的Python非常“干净”,不建议直接在上面用pip安装包,以免污染系统环境。最佳实践是使用虚拟环境。
# 1. 确保pip和venv模块已安装 sudo dnf install -y python3-pip python3-virtualenv # 2. 为你的项目创建虚拟环境 cd ~/your_project python3 -m venv venv # 3. 激活虚拟环境 source venv/bin/activate # 激活后,命令行提示符前会出现 (venv) # 4. 在虚拟环境中安装包,例如Django (venv) pip install django # 5. 退出虚拟环境 deactivate虚拟环境将项目的依赖隔离起来,不同项目可以使用不同版本的库,互不干扰。
5.3 安装与配置Node.js环境
如前所述,通过AppStream模块安装Node.js是最简单稳定的方式。但如果你需要更灵活的版本管理(比如同时需要Node 16, 18, 20),可以使用nvm(Node Version Manager)。
# 方法一:使用dnf模块安装(系统级,稳定) sudo dnf module install -y nodejs:18/common node --version npm --version # 方法二:使用nvm安装(用户级,灵活) # 1. 下载并安装nvm脚本 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash # 2. 重新加载shell配置(或重新打开终端) source ~/.bashrc # 3. 安装指定版本的Node.js nvm install 20 nvm use 20 nvm alias default 20 # 设置20为默认版本nvm将Node.js安装在你的家目录下,完全独立于系统包管理器,非常适合开发场景。
5.4 安装Docker容器运行时
RHEL 9官方推荐使用Podman(一个无需守护进程、更安全的容器工具),但Docker的生态依然庞大。如果你需要Docker,可以按以下步骤安装。
# 1. 添加Docker的官方仓库 sudo dnf config-manager --add-repo=https://download.docker.com/linux/rhel/docker-ce.repo # 2. 安装Docker引擎 sudo dnf install -y docker-ce docker-ce-cli containerd.io # 3. 启动Docker服务并设置开机自启 sudo systemctl start docker sudo systemctl enable docker # 4. 将当前用户加入docker组,以便无需sudo运行docker命令 sudo usermod -aG docker $USER # 注意:需要注销并重新登录,或者执行 `newgrp docker` 使组更改生效 # 5. 验证安装 docker run hello-world安装成功后,运行docker run hello-world会下载一个测试镜像并运行,如果看到欢迎信息,说明Docker安装配置成功。
6. 日常维护与问题排查入门
系统运行起来后,日常的维护和问题排查是必备技能。这里分享几个最常用的命令和思路。
6.1 系统监控与性能查看
htop:交互式进程查看器,可以直观看到CPU、内存、Swap使用情况,以及进程树。按F10退出。df -h:查看磁盘空间使用情况,-h参数以人类可读的格式(GB, MB)显示。du -sh *:查看当前目录下各文件和文件夹的大小。ncdu:一个更强大的磁盘使用分析器,可以交互式地导航目录树。先安装sudo dnf install -y ncdu,然后运行ncdu /扫描根目录。journalctl:查看系统日志。常用参数:sudo journalctl -xe # 查看最近的、详细的日志(排错神器) sudo journalctl -f # 实时跟踪日志输出(类似 tail -f) sudo journalctl -u sshd --since today # 查看sshd服务今天的日志systemctl:管理系统服务。sudo systemctl status service_name # 查看状态 sudo systemctl start/stop/restart service_name # 启停重启 sudo systemctl enable/disable service_name # 设置/取消开机自启 sudo systemctl daemon-reload # 修改服务配置文件后重载
6.2 网络问题排查
ip addr或ifconfig(需安装net-tools):查看网络接口和IP地址。ping和traceroute:测试网络连通性和路由。ss -tulnp:查看系统监听的端口和对应的进程,比老旧的netstat更高效。curl和wget:从命令行下载文件或测试Web服务。curl -I http://localhost # 获取HTTP响应头 wget http://example.com/file.tar.gz # 下载文件
6.3 包管理进阶技巧
- 搜索软件包:
sudo dnf search keyword - 查看软件包信息:
sudo dnf info package_name - 查看已安装的包:
dnf list installed | grep package_name - 清理缓存:
sudo dnf clean all清理下载的包缓存。 - 查看更新历史:
sudo dnf history可以回滚操作。
6.4 遇到“Permission denied”时
这是最常见的错误。请按以下顺序排查:
- 检查普通权限:
ls -l filename,看当前用户是否有读(r)、写(w)、执行(x)权限。 - 检查SELinux上下文:
ls -Z filename。如果上下文不对(例如Web文件不是httpd_sys_content_t),使用chcon或semanage fcontext+restorecon修复。 - 检查文件属性:
lsattr filename,看是否有i(不可修改)或a(只可追加)等特殊属性。用chattr修改。
7. 从Windows到Linux的协同工作流
很多开发者是从Windows转向Linux服务器的,两个系统间的协作需要一些技巧。
7.1 文件传输
- 使用
scp命令:这是最直接的方式,基于SSH协议。# 从Windows上传文件到Linux服务器 # 在Windows PowerShell或CMD中(如果安装了OpenSSH客户端): # scp C:\local\file.txt yourname@server_ip:/home/yourname/ # 从Linux服务器下载文件到Windows # scp yourname@server_ip:/path/to/file.txt C:\local\ - 使用
rsync命令:更强大,支持增量同步和断点续传。# 同步本地目录到远程 rsync -avz /local/path/ yourname@server_ip:/remote/path/ - 使用图形化工具:如WinSCP(Windows)或FileZilla(跨平台),提供类似FTP的界面,拖拽即可传输。
7.2 在Windows上使用VS Code远程开发
这是目前最舒适的方案。VS Code通过“Remote - SSH”扩展,可以直接在本地编辑服务器上的代码,并利用服务器的环境运行和调试。
- 在Windows上安装VS Code。
- 安装“Remote - SSH”扩展。
- 点击左下角绿色图标 > “Connect to Host...” > “Configure SSH Hosts...”,编辑你的
~/.ssh/config文件(在Windows用户目录下的.ssh文件夹),添加服务器配置:Host my-rhel-server HostName 你的服务器IP User yourname IdentityFile ~/.ssh/id_ed25519 # 你的私钥路径 - 保存后,即可在VS Code中连接到
my-rhel-server,像操作本地文件一样操作服务器文件。
7.3 使用WSL 2作为本地Linux环境
如果你希望在Windows上有一个原生的Linux命令行环境进行学习和测试,Windows Subsystem for Linux 2(WSL 2)是绝佳选择。你可以在Microsoft Store中安装Ubuntu、Debian等发行版,甚至可以通过一些方法安装RHEL的衍生版(如CentOS Stream)。这让你能在不安装虚拟机的情况下,运行一个完整的Linux用户空间,并且与Windows文件系统互操作非常方便。
安装好RHEL 9只是第一步,就像拿到了一把精良的武器,真正的价值在于你如何使用它去构建和运维服务。这个系统以其稳定性和强大的企业级支持,为你提供了一个可靠的基础平台。我个人的体会是,初期多花时间在命令行上,强迫自己记忆常用命令和参数,理解每个配置文件的用途,比依赖图形界面成长得快得多。遇到报错时,先别急着搜索,尝试读懂错误信息,用man命令查看手册,用--help查看选项,这种主动排查的能力才是运维工程师的核心价值。最后,善用红帽的官方文档(access.redhat.com/documentation),它是关于RHEL最权威、最详尽的信息来源,远比零散的博客文章可靠。