CentOS Stream 9 新手指南:快速上手必看
CentOS Stream 9 作为 Red Hat Enterprise Linux (RHEL) 的上游版本,提供了一个滚动更新、稳定且安全的 Linux 发行版。对于新手来说,CentOS Stream 9 可能初看有些复杂,但只要掌握了基本概念和操作,就能轻松驾驭。本文将为你提供一份详尽的 CentOS Stream 9 新手指南,涵盖从安装、基本配置、常用命令到软件包管理等各个方面,助你快速上手。
一、CentOS Stream 9 简介与安装
1.1 CentOS Stream 9 概述
CentOS Stream 是一个社区驱动的 Linux 发行版,旨在成为 RHEL 的持续交付版本。这意味着 CentOS Stream 会比 RHEL 更早获得新特性和更新,但也意味着它可能不如 RHEL 稳定。对于需要最新软件包和技术,又希望有一定稳定性的用户来说,CentOS Stream 9 是一个不错的选择。
主要特点:
- 滚动更新: 持续接收来自 RHEL 开发分支的更新。
- 社区支持: 活跃的社区论坛和文档资源。
- 免费开源: 无需支付任何费用即可使用。
- 企业级基础: 基于 RHEL,继承了其稳定性和安全性。
- 兼容性: 与 RHEL 高度兼容,方便迁移。
1.2 下载 CentOS Stream 9
- 访问 CentOS Stream 官方下载页面:https://www.centos.org/download/
- 选择 “CentOS Stream 9” 版本。
- 选择适合你的硬件架构(通常是 x86_64)的 ISO 镜像文件进行下载。
- 可以选择 DVD ISO(包含完整软件包)或 Minimal ISO(最小化安装,后续需要联网下载软件包)。
1.3 安装 CentOS Stream 9
安装 CentOS Stream 9 的过程与其他 Linux 发行版类似,主要步骤如下:
-
制作启动盘:
- Windows: 使用 Rufus、Etcher 等工具将 ISO 镜像写入 U 盘。
- macOS: 使用 Etcher 或
dd
命令将 ISO 镜像写入 U 盘。 - Linux: 使用 Etcher 或
dd
命令将 ISO 镜像写入 U 盘。
-
启动安装程序:
- 将制作好的 U 盘插入电脑。
- 开机时按特定键(通常是 F2、F12、Del 或 Esc)进入 BIOS/UEFI 设置,选择从 U 盘启动。
- 进入 CentOS Stream 9 安装界面。
-
安装过程:
- 选择 “Install CentOS Stream 9″。
- 选择语言和键盘布局。
- 设置网络: 确保连接到互联网(如果使用 Minimal ISO,这一步很重要)。
- 设置时区: 选择你所在的时区。
- 分区设置:
- 自动分区: 对于新手,建议选择自动分区,让安装程序自动处理。
- 手动分区: 如果你有特殊需求,可以手动分区。通常需要创建
/boot
、/
(root)、swap
等分区。
- 选择安装类型:
- Server with GUI: 带有图形界面的服务器版本,适合新手。
- Server: 纯命令行界面的服务器版本。
- Minimal Install: 最小化安装,只包含基本系统。
- Workstation: 桌面版本,包含常用桌面应用。
- Custom Operating System: 自定义安装,可以选择特定的软件包。
- 设置 root 密码: 设置一个强密码,并牢记。
- 创建用户: 创建一个普通用户,并设置密码。
- 开始安装: 点击 “Begin Installation” 开始安装过程。
- 安装完成后重启: 安装完成后,系统会自动重启。
二、CentOS Stream 9 基本配置
安装完成后,需要进行一些基本配置,以确保系统正常运行。
2.1 网络配置
查看网络接口:
bash
nmcli device status
或者
ip addr
配置网络(使用 nmcli
):
nmcli
是 NetworkManager 的命令行工具,推荐使用。
-
启用网络接口:
bash
nmcli connection up <interface_name>例如:
nmcli connection up ens192
-
设置静态 IP:
bash
nmcli connection modify <interface_name> ipv4.method manual ipv4.address <IP_address>/<netmask> ipv4.gateway <gateway_IP> ipv4.dns <DNS_server>
例子:
nmcli connection modify ens192 ipv4.method manual ipv4.address 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8
-
重新加载网络配置:
bash
nmcli connection down <interface_name> && nmcli connection up <interface_name>或者
bash
systemctl restart NetworkManager
2.2 防火墙配置
CentOS Stream 9 默认使用 firewalld
作为防火墙。
-
查看防火墙状态:
bash
systemctl status firewalld -
启用/禁用防火墙:
bash
systemctl start firewalld # 启动
systemctl stop firewalld # 停止
systemctl enable firewalld # 开机自启
systemctl disable firewalld # 禁止开机自启 -
开放/关闭端口:
bash
firewall-cmd --zone=public --add-port=80/tcp --permanent # 永久开放 80 端口 (HTTP)
firewall-cmd --zone=public --remove-port=80/tcp --permanent # 永久关闭 80 端口
firewall-cmd --reload # 重新加载防火墙规则注意:
--permanent
参数表示永久生效,重启后依然有效。如果不加--permanent
,则只在当前会话生效。 -
允许/阻止服务:
firewall-cmd --zone=public --add-service=http --permanent #允许http服务
firewall-cmd --zone=public --remove-service=http --permanent #阻止http服务
2.3 SELinux 配置
SELinux (Security-Enhanced Linux) 是一个强制访问控制 (MAC) 系统,提供额外的安全层。
-
查看 SELinux 状态:
bash
getenforce
显示结果可能是Enforcing
(强制),Permissive
(宽容), 或Disabled
(禁用) -
临时关闭 SELinux:
bash
setenforce 0 -
永久禁用 SELinux(不推荐):
修改/etc/selinux/config
文件,将SELINUX=enforcing
改为SELINUX=disabled
,然后重启系统。警告: 除非你非常清楚自己在做什么,否则不建议禁用 SELinux。
2.4 SSH 配置
SSH (Secure Shell) 允许你远程登录到服务器。
-
启动/停止 SSH 服务:
bash
systemctl start sshd
systemctl stop sshd
systemctl enable sshd # 开机自启
systemctl disable sshd # 禁止开机自启 -
修改 SSH 端口(可选):
编辑
/etc/ssh/sshd_config
文件,找到#Port 22
,去掉注释并将22
改为你想要的端口号(例如2222
),然后重启 SSH 服务。
* 修改端口后,要记得在防火墙中开放新端口。 -
禁止 root 用户远程登录(可选):
编辑
/etc/ssh/sshd_config
文件,找到#PermitRootLogin yes
,去掉注释并改为PermitRootLogin no
,然后重启 SSH 服务。注意: 禁止 root 用户远程登录可以提高安全性。
三、CentOS Stream 9 常用命令
掌握一些常用的 Linux 命令是使用 CentOS Stream 9 的基础。
3.1 文件和目录操作
ls
: 列出目录内容。ls -l
:长格式显示,包含文件权限、所有者、大小等信息。ls -a
:显示所有文件,包括隐藏文件(以.
开头的文件)。ls -lh
:以人类可读的格式显示文件大小(例如 1K、234M、2G)。
cd
: 切换目录。cd /path/to/directory
:切换到指定目录。cd ..
:切换到上级目录。cd ~
:切换到当前用户的主目录。cd -
:切换到上一个目录。
pwd
: 显示当前工作目录。mkdir
: 创建目录。mkdir directory_name
:创建单个目录。mkdir -p /path/to/new/directory
:递归创建多级目录。
rmdir
: 删除空目录。rm
: 删除文件或目录。rm file_name
:删除文件。rm -r directory_name
:递归删除目录及其内容(谨慎使用!)。rm -f file_name
:强制删除文件,不提示。rm -rf directory_name
:强制递归删除目录及其内容(非常危险!)。
cp
: 复制文件或目录。cp source_file destination_file
:复制文件。cp -r source_directory destination_directory
:递归复制目录。
mv
: 移动文件或目录,也可用于重命名。mv source_file destination_file
:移动文件。mv source_directory destination_directory
:移动目录。mv old_name new_name
:重命名文件或目录。
touch
: 创建空文件或更新文件时间戳。touch new_file
: 创建一个名为new_file
的空文件。
cat
: 查看文件内容。cat file_name
more
: 分页查看文件内容(按空格键翻页,按 q 键退出)。less
: 更强大的分页查看器(支持上下滚动、搜索等,按 q 键退出)。head
: 查看文件开头部分(默认显示前 10 行)。head -n 20 file_name
:显示文件前 20 行。
tail
: 查看文件结尾部分(默认显示后 10 行)。tail -n 20 file_name
:显示文件后 20 行。tail -f file_name
:实时跟踪文件更新(常用于查看日志文件)。
find
: 查找文件。find /path/to/search -name "file_name"
:在指定目录下查找名为file_name
的文件。find / -type f -size +100M
:查找大于 100MB 的文件。
grep
在文件中查找特定字符串grep "search_string" file_name
: 在文件中查找search_string
grep -r "search_string" directory
: 递归查找。grep -i "search_string" file_name
: 忽略大小写
3.2 系统管理
systemctl
: 管理系统服务。systemctl start service_name
:启动服务。systemctl stop service_name
:停止服务。systemctl restart service_name
:重启服务。systemctl status service_name
:查看服务状态。systemctl enable service_name
:设置服务开机自启。systemctl disable service_name
:禁止服务开机自启。
ps
: 查看进程。ps aux
:显示所有进程的详细信息。
top
: 动态显示进程信息(按 q 键退出)。kill
: 终止进程。kill process_id
:终止指定 PID 的进程。killall process_name
:终止指定名称的所有进程。pkill process_name
:终止指定名称的进程(更方便)。
df
: 查看磁盘空间使用情况。df -h
:以人类可读的格式显示。
du
: 查看目录大小。du -sh directory_name
:以人类可读的格式显示目录总大小。
free
: 查看内存使用情况。free -h
:以人类可读的格式显示。
uptime
: 查看系统运行时间和负载。w
: 查看当前登录用户。whoami
: 显示当前用户名。uname
: 查看系统信息。uname -a
:显示所有信息。
date
: 显示或设置系统时间。shutdown
: 关机shutdown -h now
: 立即关机shutdown -h +10
: 10分钟后关机reboot
: 重启history
: 查看命令历史。
3.3 用户和权限
useradd
: 创建用户。useradd username
passwd
: 设置用户密码。passwd username
userdel
: 删除用户。userdel -r username
:删除用户及其主目录。
usermod
: 修改用户属性。groupadd
: 创建用户组。groupdel
: 删除用户组。chown
: 更改文件或目录的所有者。chown user:group file_name
chmod
: 更改文件或目录的权限。chmod 755 file_name
(数字表示法)chmod u=rwx,g=rx,o=rx file_name
(符号表示法)- 权限说明:
r
:读权限 (4)w
:写权限 (2)x
:执行权限 (1)u
:所有者g
:所属组o
:其他用户
3.4 文本编辑器
vi
/vim
: 强大的文本编辑器(需要学习基本操作)。- 进入编辑模式:按
i
(插入)、a
(追加) 或o
(另起一行)。 - 退出编辑模式:按
Esc
。 - 保存并退出:输入
:wq
。 - 不保存退出:输入
:q!
。
- 进入编辑模式:按
nano
: 简单易用的文本编辑器。- 使用快捷键进行操作(屏幕下方有提示)。
- 保存:
Ctrl + O
- 退出:
Ctrl + X
四、CentOS Stream 9 软件包管理
CentOS Stream 9 使用 dnf
(Dandified Yum) 作为默认的软件包管理器。
4.1 dnf
常用命令
-
更新软件包列表:
bash
dnf update -
升级所有软件包:
bash
dnf upgrade
或者:
dnf update --refresh
-
安装软件包:
bash
dnf install package_name -
删除软件包:
bash
dnf remove package_name -
搜索软件包:
bash
dnf search package_name -
查看软件包信息:
bash
dnf info package_name -
列出已安装的软件包:
bash
dnf list installed -
列出可用的软件包:
bash
dnf list available -
清除缓存:
bash
dnf clean all -
查看dnf历史
dnf history
4.2 启用 EPEL 和 其他仓库
EPEL (Extra Packages for Enterprise Linux) 提供了额外的软件包。
-
安装 EPEL 仓库:
bash
dnf install epel-release -
启用其他仓库:
根据需要,可以添加其他第三方仓库。通常,仓库会提供安装说明。
五、进阶学习
- 学习 Shell 脚本编程: Shell 脚本可以自动化许多任务,提高效率。
- 了解 systemd: systemd 是 CentOS Stream 9 的初始化系统和服务管理器,深入了解可以更好地管理系统。
- 学习网络知识: 掌握 TCP/IP、路由、DNS 等网络基础知识,有助于配置和管理网络。
- 阅读官方文档: CentOS Stream 和 RHEL 的官方文档提供了详细的信息和指导。
- 参与社区: 加入 CentOS Stream 社区论坛或邮件列表,与其他用户交流经验。
六、常见问题及解决方法
-
无法联网:
- 检查网络连接是否正常。
- 检查网络接口是否启用。
- 检查网络配置是否正确。
- 重启 NetworkManager 服务。
-
软件包安装失败:
- 检查网络连接是否正常。
- 更新软件包列表。
- 清除
dnf
缓存。 - 检查是否有软件包冲突。
-
忘记 root 密码:
- 进入单用户模式重置密码。
- 重启系统,在GRUB启动界面,按e键编辑引导选项。
- 找到以
linux
开头的那一行, 在末尾添加rd.break enforcing=0
- 按Ctrl+X 启动。
- 重新挂载根文件系统为可读写模式:
mount -o remount,rw /sysroot
- 切换到根目录:
chroot /sysroot
- 重置root密码:
passwd root
。 - 如果之前开启了SELinux, 需要执行:
touch /.autorelabel
- 依次输入
exit
和reboot
重启。
- 进入单用户模式重置密码。
-
服务无法启动:
- 检查服务状态。
- 查看服务日志文件(通常位于
/var/log
目录下)。 - 检查配置文件是否正确。
- 重启服务。
-
SSH 无法连接:
- 检查 SSH 服务是否启动。
- 检查防火墙是否允许 SSH 连接。
- 检查 SSH 配置文件是否正确。
- 检查网络连接是否正常。
总结
CentOS Stream 9 是一个强大而灵活的 Linux 发行版,适合服务器和桌面使用。通过本指南,你应该已经掌握了 CentOS Stream 9 的基本安装、配置、常用命令和软件包管理。希望你能在 CentOS Stream 9 的世界里畅游,不断学习和探索,成为一名熟练的 Linux 用户! 请记住,实践是最好的老师,多动手操作,遇到问题及时查阅资料或寻求帮助,你一定能快速掌握 CentOS Stream 9。