从零开始:CentOS 操作系统的安装与配置指南
1. 引言
CentOS(Community ENTerprise Operating System)是一个基于Red Hat Enterprise Linux (RHEL) 源代码构建的开源Linux发行版。它以其稳定性、安全性和长期支持而闻名,是服务器环境、开发工作站以及企业级应用部署的理想选择。本指南将带您从零开始,详细了解CentOS的安装过程以及基本的后配置步骤。
1.1 为什么选择 CentOS?
- 稳定性与可靠性:继承自RHEL,CentOS经过严格测试,提供企业级稳定性。
- 安全性:具有强大的安全特性和及时的安全更新。
- 长期支持(LTS):每个版本提供多年的支持,确保您的系统能够稳定运行。
- 广泛的社区支持:拥有庞大的用户和开发者社区,资源丰富,遇到问题容易找到解决方案。
- 兼容性:与RHEL二进制兼容,意味着许多为RHEL开发的软件和驱动程序也能在CentOS上运行。
1.2 目标读者
本指南适用于对Linux有基本了解,或希望在个人电脑、虚拟机或服务器上部署CentOS的初学者和系统管理员。
2. 准备工作
在开始安装之前,我们需要做一些准备。
2.1 硬件要求
CentOS对硬件的要求相对灵活,但为了良好的使用体验,建议满足以下最低配置:
- 处理器:64位架构,至少1GHz双核处理器。
- 内存(RAM):
- 最小安装:512MB (不推荐用于生产环境)
- 带GUI的最小安装/服务器:2GB
- 桌面环境:4GB 或更多
- 硬盘空间:
- 最小安装:10GB
- 带GUI的最小安装/服务器:20GB
- 桌面环境:30GB 或更多
- 网络:有线或无线网络连接(安装后配置)。
- 显示器:支持800×600或更高分辨率。
2.2 下载 CentOS ISO 镜像
访问 CentOS 官方网站 (https://www.centos.org/download/) 下载最新版本的 CentOS ISO 镜像文件。通常,您会看到以下几种:
- CentOS Stream:CentOS项目的新方向,作为RHEL的上游开发版。
- CentOS Linux (Legacy):指CentOS 8之前以及CentOS 7等旧版本。如果您需要一个稳定的、与RHEL完全一致的系统,可以考虑使用CentOS Linux 7。
- CentOS Everything ISO:包含所有软件包,适用于离线安装。
- CentOS Minimal ISO:仅包含最基本的系统,体积小,安装快,但需要后续手动安装所需软件包。
选择适合您需求的版本,并下载到本地。
2.3 创建启动盘或设置虚拟机
- 物理机安装:
- USB 启动盘:使用 Rufus (Windows)、Etcher (跨平台) 或 dd 命令 (Linux/macOS) 将 ISO 镜像写入 USB 闪存盘。
- DVD 刻录:将 ISO 镜像刻录到 DVD 光盘。
- 虚拟机安装:
- 如果您打算在虚拟机(如 VirtualBox, VMware Workstation, KVM)中安装 CentOS,只需在虚拟机创建向导中选择下载的 ISO 文件作为安装介质即可。
3. 安装 CentOS 操作系统
以下是 CentOS 7/8/9 安装过程的通用步骤,界面可能略有不同,但核心流程一致。
3.1 启动安装程序
- 将制作好的启动盘插入计算机,或在虚拟机中挂载 ISO 文件。
- 开机并进入 BIOS/UEFI 设置,将启动顺序调整为从 USB/DVD 或虚拟机的光驱启动。
- 系统将引导进入 CentOS 启动菜单。选择 “Install CentOS Stream 9” (或您下载的版本),然后按
Enter键。
3.2 语言选择
选择您偏好的安装语言,例如 “简体中文” 或 “English”,然后点击 “继续”。
3.3 安装信息摘要
这是 CentOS 安装的关键界面,您需要在此配置所有安装选项。
3.3.1 本地化设置
- 日期和时间:点击进入,选择您所在的时区。
- 键盘:通常默认为 “美式英语”,如果您有特殊需求可以更改。
- 语言支持:默认为您之前选择的语言,可以添加其他语言支持。
3.3.2 软件
- 安装源:通常默认为 “本地介质”,如果您使用网络安装,则需要配置。
- 软件选择:这是重要的一步。
- 最小安装 (Minimal Install):只安装最基本的操作系统,不带图形界面,适合作为服务器。
- 带 GUI 的服务器 (Server with GUI):安装服务器功能,并提供图形界面,适合需要图形化操作的服务器。
- 工作站 (Workstation):包含桌面环境和开发工具,适合作为开发机或日常桌面使用。
- 自定义:根据您的需求选择特定的软件包组。
根据您的使用场景选择一个,然后点击 “完成”。
3.3.3 系统
-
安装目的地:最关键的一步,涉及硬盘分区。
- 点击进入 “安装目的地”。
- 选择您要安装 CentOS 的硬盘。
- 分区选项:
- 自动配置分区 (Automatically configure partitioning):推荐给新手,安装程序会自动创建标准分区方案(
/boot,/,swap)。 - 自定义 (Custom):适合有经验的用户,可以手动创建、调整分区大小和类型。
- 标准分区 (Standard Partition):传统分区方式。
- LVM (Logical Volume Management):逻辑卷管理,提供更大的灵活性。
- Btrfs/XFS:文件系统选择,CentOS 7/8 默认使用 XFS。
- 如果您选择 “自定义”,点击 “完成” 后进入分区界面。建议至少创建以下分区:
/boot:200MB – 1GB (存放引导文件)/(root):根据您的需求分配剩余大部分空间 (操作系统和程序)swap:通常为内存的 1-2 倍,或至少 2GB (用于交换空间)
- 自动配置分区 (Automatically configure partitioning):推荐给新手,安装程序会自动创建标准分区方案(
- 完成分区后,点击 “完成”,然后接受更改。
-
网络和主机名:
- 点击进入 “网络和主机名”。
- 打开网卡开关,系统通常会自动获取 IP 地址(如果您的网络支持 DHCP)。
- 在 “主机名” 框中输入您想要的主机名。
- 点击 “配置” 可以手动设置 IP 地址、DNS 服务器等。
- 点击 “完成”。
3.3.4 用户设置
- 根密码 (Root Password):设置
root用户的密码。root是系统的超级管理员,密码务必复杂且牢记。 - 创建用户:建议创建一个普通用户用于日常操作。输入用户名和密码,并可以选择 “将此用户设置为管理员”(sudo 权限),然后点击 “完成”。
3.4 开始安装
完成所有配置后,点击屏幕右下角的 “开始安装” 按钮。安装程序将开始将文件复制到硬盘并进行配置。这个过程可能需要一些时间,具体取决于您的硬件性能和选择的软件包数量。
3.5 完成安装并重启
安装完成后,系统会提示您 “重新启动系统”。点击该按钮,系统将重启并进入您新安装的 CentOS 系统。
4. 后续配置
系统重启后,您将看到登录界面。使用您在安装时创建的普通用户账户或 root 账户登录。
4.1 更新系统
首次登录后,第一件重要的事情就是更新系统,以确保所有软件包都是最新版本,并且包含最新的安全补丁。
“`bash
切换到 root 用户 (如果当前不是 root)
su –
更新所有已安装的软件包
yum update -y # CentOS 7
dnf update -y # CentOS 8/9 Stream
或者
dnf upgrade -y # dnf upgrade 也可以,功能类似 update
``yum
**注意**:是 CentOS 7 及其更早版本的包管理器,dnf` 是 CentOS 8/9 Stream 及后续版本的包管理器。
4.2 网络配置
即使安装时已配置网络,也可能需要进一步调整。
4.2.1 命令行查看网络状态
bash
ip addr show # 查看 IP 地址信息
ip route show # 查看路由表
nmcli device show # 查看网络设备状态
4.2.2 配置静态 IP (可选)
如果您的服务器需要固定的 IP 地址,可以手动配置。
-
编辑网络配置文件:
bash
vim /etc/sysconfig/network-scripts/ifcfg-enpXsY # CentOS 7/8/9,文件名可能不同,enpXsY 是你的网卡名称
# 或者
nmcli connection edit enpXsY # 使用 nmcli 交互式编辑
找到您的网卡配置文件,例如ifcfg-enp0s3。 -
修改以下内容:
BOOTPROTO="static" # 从 dhcp 改为 static
ONBOOT="yes" # 开机启动网络
IPADDR="192.168.1.100" # 您想要设置的静态 IP
NETMASK="255.255.255.0" # 子网掩码
GATEWAY="192.168.1.1" # 网关地址
DNS1="8.8.8.8" # 首选 DNS 服务器
DNS2="114.114.114.114" # 备用 DNS 服务器 -
保存并退出文件。
-
重启网络服务:
bash
systemctl restart NetworkManager # 重启 NetworkManager 服务
# 或者
systemctl restart network # (对于旧版 CentOS 或如果 NetworkManager 不活跃)
4.3 禁用 SELinux (可选,非必要)
SELinux 是一项重要的安全增强功能。通常建议保持启用。但在某些特定的应用场景或调试问题时,您可能需要暂时禁用或设置为宽容模式。
-
查看 SELinux 状态:
bash
sestatus -
临时禁用 SELinux (重启后失效):
bash
setenforce 0 -
永久禁用 SELinux:
- 编辑配置文件:
bash
vim /etc/selinux/config - 将
SELINUX=enforcing改为SELINUX=disabled或SELINUX=permissive。disabled:完全禁用。permissive:宽容模式,只记录警告,不强制执行策略。
- 保存并退出文件。
- 重启系统 使更改生效。
- 编辑配置文件:
4.4 配置防火墙 (Firewalld)
CentOS 默认使用 firewalld 作为防火墙管理工具。
4.4.1 查看防火墙状态
bash
systemctl status firewalld
firewall-cmd --state
4.4.2 常用命令
-
启用/禁用防火墙:
bash
systemctl enable firewalld # 开机自启
systemctl start firewalld # 启动
systemctl stop firewalld # 停止
systemctl disable firewalld # 禁止开机自启 -
查看开放的端口和服务:
bash
firewall-cmd --list-all -
开放端口 (例如,开放 80 端口用于 Web 服务):
bash
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload # 重新加载防火墙规则使之生效 -
开放服务 (例如,开放 SSH 服务):
bash
firewall-cmd --zone=public --add-service=ssh --permanent
firewall-cmd --reload
4.5 安装常用工具和软件包
根据您的需求安装一些常用的工具。
-
安装 EPEL 仓库 (Extra Packages for Enterprise Linux):EPEL 提供了许多 CentOS 官方仓库中没有的额外软件包。
bash
yum install epel-release -y # CentOS 7
dnf install epel-release -y # CentOS 8/9 Stream -
安装常用工具:
bash
yum install wget git vim net-tools -y # CentOS 7
dnf install wget git vim net-tools -y # CentOS 8/9 Streamwget:用于从网络下载文件。git:版本控制工具。vim:强大的文本编辑器。net-tools:提供ifconfig,netstat等网络命令 (在新版本中ip addr等是首选)。
4.6 SSH 服务器设置
默认情况下,SSH 服务 (OpenSSH) 应该已经安装并运行。
-
检查 SSH 服务状态:
bash
systemctl status sshd -
确保防火墙允许 SSH (已在 4.4 节提及):
bash
firewall-cmd --zone=public --add-service=ssh --permanent
firewall-cmd --reload -
配置 SSH (可选,增强安全性):
编辑/etc/ssh/sshd_config文件。- 禁止
root用户直接登录 (推荐):
PermitRootLogin no - 修改默认的 SSH 端口 (推荐,例如改为 2222):
Port 2222 - 重启 SSH 服务使配置生效:
bash
systemctl restart sshd - 如果修改了端口,别忘了在防火墙中开放新端口:
bash
firewall-cmd --zone=public --remove-service=ssh --permanent # 如果之前开了22端口的服务
firewall-cmd --zone=public --add-port=2222/tcp --permanent
firewall-cmd --reload
- 禁止
4.7 设置系统时区
如果安装时未正确设置或需要更改,可以使用 timedatectl 命令。
-
列出所有可用时区:
bash
timedatectl list-timezones -
设置时区 (例如,设置为上海):
bash
timedatectl set-timezone Asia/Shanghai -
验证时区是否已更改:
bash
timedatectl
5. 结论
通过本指南,您已经完成了 CentOS 操作系统的安装以及一系列必要的后续配置。现在,您拥有一个稳定、安全且功能完备的 CentOS 系统,可以根据您的具体需求进一步部署应用程序或服务。
记住,Linux 的学习是一个持续的过程。多查阅官方文档,利用社区资源,您将能更好地掌握 CentOS 并充分发挥其强大功能。祝您使用愉快!