CentOS Stream 9新手指南:快速上手必看 – wiki基地

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

  1. 访问 CentOS Stream 官方下载页面:https://www.centos.org/download/
  2. 选择 “CentOS Stream 9” 版本。
  3. 选择适合你的硬件架构(通常是 x86_64)的 ISO 镜像文件进行下载。
  4. 可以选择 DVD ISO(包含完整软件包)或 Minimal ISO(最小化安装,后续需要联网下载软件包)。

1.3 安装 CentOS Stream 9

安装 CentOS Stream 9 的过程与其他 Linux 发行版类似,主要步骤如下:

  1. 制作启动盘:

    • Windows: 使用 Rufus、Etcher 等工具将 ISO 镜像写入 U 盘。
    • macOS: 使用 Etcher 或 dd 命令将 ISO 镜像写入 U 盘。
    • Linux: 使用 Etcher 或 dd 命令将 ISO 镜像写入 U 盘。
  2. 启动安装程序:

    • 将制作好的 U 盘插入电脑。
    • 开机时按特定键(通常是 F2、F12、Del 或 Esc)进入 BIOS/UEFI 设置,选择从 U 盘启动。
    • 进入 CentOS Stream 9 安装界面。
  3. 安装过程:

    • 选择 “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 社区论坛或邮件列表,与其他用户交流经验。

六、常见问题及解决方法

  1. 无法联网:

    • 检查网络连接是否正常。
    • 检查网络接口是否启用。
    • 检查网络配置是否正确。
    • 重启 NetworkManager 服务。
  2. 软件包安装失败:

    • 检查网络连接是否正常。
    • 更新软件包列表。
    • 清除 dnf 缓存。
    • 检查是否有软件包冲突。
  3. 忘记 root 密码:

    • 进入单用户模式重置密码。
      1. 重启系统,在GRUB启动界面,按e键编辑引导选项。
      2. 找到以linux开头的那一行, 在末尾添加 rd.break enforcing=0
      3. 按Ctrl+X 启动。
      4. 重新挂载根文件系统为可读写模式:mount -o remount,rw /sysroot
      5. 切换到根目录: chroot /sysroot
      6. 重置root密码: passwd root
      7. 如果之前开启了SELinux, 需要执行: touch /.autorelabel
      8. 依次输入exitreboot重启。
  4. 服务无法启动:

    • 检查服务状态。
    • 查看服务日志文件(通常位于 /var/log 目录下)。
    • 检查配置文件是否正确。
    • 重启服务。
  5. SSH 无法连接:

    • 检查 SSH 服务是否启动。
    • 检查防火墙是否允许 SSH 连接。
    • 检查 SSH 配置文件是否正确。
    • 检查网络连接是否正常。

总结

CentOS Stream 9 是一个强大而灵活的 Linux 发行版,适合服务器和桌面使用。通过本指南,你应该已经掌握了 CentOS Stream 9 的基本安装、配置、常用命令和软件包管理。希望你能在 CentOS Stream 9 的世界里畅游,不断学习和探索,成为一名熟练的 Linux 用户! 请记住,实践是最好的老师,多动手操作,遇到问题及时查阅资料或寻求帮助,你一定能快速掌握 CentOS Stream 9。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部