当前位置:首页>综合>正文

CentOS 7:深度解析其安装、配置与核心命令

2025-11-19 19:41:46 互联网 未知 综合

CentOS 7 是什么? CentOS 7 是一个免费、开源的 Linux 发行版,以其稳定性和广泛的企业级应用而闻名。它基于 Red Hat Enterprise Linux (RHEL) 的源代码构建,提供了一个强大的服务器操作系统平台。

CentOS 7,作为一个曾经广受欢迎的 Linux 发行版,为众多企业和开发者提供了稳定、高效的服务器操作系统解决方案。它以其开源、免费的特性,以及与 Red Hat Enterprise Linux (RHEL) 的紧密联系,赢得了广泛的市场认可。虽然 CentOS 项目的未来发展方向有所调整(转向 CentOS Stream),但对于许多现有的 CentOS 7 系统而言,理解和掌握其安装、配置以及核心命令仍然至关重要。本文将围绕“CentOS 7”这一核心关键词,深入探讨其安装流程、关键配置步骤,以及那些最常用的系统管理命令,旨在为用户提供一个全面而详尽的指南。

CentOS 7 安装详解

安装 CentOS 7 是搭建一个稳定服务器环境的第一步。整个过程相对直观,但熟悉关键选项可以帮助您更有效地完成部署。

准备工作

  • 系统镜像: 下载 CentOS 7 的 ISO 镜像文件。通常有 Minimal Install、DVD ISO 等选项,Minimal Install 更适合服务器环境,因为它只包含最基本的核心组件。
  • 安装介质: 准备一个 U 盘(至少 4GB)或 DVD 光盘,用于创建可引导的安装介质。
  • 硬件要求: 确保您的硬件满足 CentOS 7 的最低要求(通常是 64 位处理器、1GB RAM、10GB 硬盘空间,但推荐配置更高以获得更好性能)。
  • 网络连接: 建议在安装过程中连接网络,以便获取更新和安装额外的软件包。

安装步骤

  1. 启动安装介质: 将制作好的安装介质插入计算机,并从该介质启动。在 BIOS/UEFI 设置中,需要将启动顺序调整为优先从 U 盘或光驱启动。
  2. 选择安装类型: 在启动菜单中,选择 "Install CentOS Linux 7"。
  3. 语言选择: 选择您偏好的安装语言,例如“中文”或“English”。
  4. 安装位置:
    • 分区设置: 这是安装过程中一个重要的环节。您可以选择“自动分区”让系统自动划分,或者选择“自定义分区”(LVM 或标准分区)进行手动控制。对于服务器,推荐使用 LVM(Logical Volume Management),它提供了更灵活的磁盘管理能力,例如在线扩展分区大小。
    • 常用分区建议(自定义):
      • `/boot`:用于存放系统启动所需的文件,通常分配 500MB 左右。
      • `swap`:交换分区,用于在物理内存不足时作为临时存储,大小通常为内存的 1-2 倍,但对于内存较大的服务器,可以适当减小。
      • `/` (根分区):存放操作系统及其核心文件,建议至少分配 20GB。
      • `/home`:用户家目录,存放用户数据,根据实际需求分配。
      • `/var`:用于存放日志文件、缓存等动态数据,建议分配较大的空间,例如 10GB 或更多。
      • `/usr`:存放应用程序及其相关数据。
  5. 网络与主机名: 配置服务器的主机名,并启用网络接口(通常是 `eth0` 或 `ensXXX`)。如果连接了网络,可以尝试配置静态 IP 地址或 DHCP。
  6. 软件选择: 在“软件选择”界面,您可以选择安装不同的软件组。对于服务器,通常推荐选择“最小安装”(Minimal Install),然后根据需求再手动安装所需软件包,这可以减少不必要的服务运行,提高安全性。如果您需要图形界面,可以选择“GNOME 桌面”。
  7. KDUMP 配置: 默认启用 KDUMP,用于在系统崩溃时捕获内存转储信息,便于后续调试。
  8. 系统安装: 点击“开始安装”,系统将开始复制文件并配置。
  9. 设置 Root 密码: 在安装过程中,会提示您设置 root 用户的密码。务必设置一个强密码,并牢记。
  10. 创建用户(可选): 您也可以在安装过程中创建一个普通用户账户。
  11. 完成安装: 安装完成后,系统会提示您重启。移除安装介质,然后重启服务器。

CentOS 7 核心配置

安装完成后,对 CentOS 7 进行必要的配置是确保其稳定运行和满足特定需求的关键。

网络配置

网络配置是服务器稳定运行的基础。

  • 查看网络接口: 使用 `ip addr show` 命令查看当前的网络接口及其 IP 地址。
  • 修改网络配置文件: 网络配置文件通常位于 `/etc/sysconfig/network-scripts/` 目录下,文件名格式为 `ifcfg-ethX` (X 是接口编号)。
    • 编辑示例 (`ifcfg-eth0`):
      TYPE=Ethernet
      BOOTPROTO=static  # 或 dhcp
      DEFROUTE=yes
      PEERDNS=yes
      PEERROUTES=yes
      IPV4_FAILURE_FATAL=no
      IPV6INIT=yes
      IPV6_AUTOCONF=yes
      IPV6_DEFROUTE=yes
      IPV6_PEERDNS=yes
      IPV6_PEERROUTES=yes
      IPV6_FAILURE_FATAL=no
      NAME=eth0
      UUID=...
      DEVICE=eth0
      ONBOOT=yes
      IPADDR=192.168.1.100  # 静态 IP 地址
      NETMASK=255.255.255.0
      GATEWAY=192.168.1.1
      DNS1=8.8.8.8
                      
  • 重启网络服务: 配置完成后,需要重启网络服务使之生效:
    sudo systemctl restart network
                    
  • 防火墙配置: CentOS 7 默认使用 firewalld 作为防火墙。
    • 启用/禁用:
      sudo systemctl enable firewalld  # 启用
      sudo systemctl start firewalld   # 启动
      sudo systemctl disable firewalld # 禁用
      sudo systemctl stop firewalld    # 停止
                      
    • 查看状态:
      sudo systemctl status firewalld
                      
    • 配置规则(示例): 允许 SSH (端口 22) 和 HTTP (端口 80) 访问。
      sudo firewall-cmd --permanent --add-service=ssh
      sudo firewall-cmd --permanent --add-service=http
      sudo firewall-cmd --reload
                      
    • 查看已开放端口:
      sudo firewall-cmd --list-all
                      

SSH 服务配置

SSH (Secure Shell) 是远程管理服务器的主要方式。

  • SSH 服务的安装与启动: SSH 服务器(openssh-server)通常在最小安装时已包含。
    sudo systemctl enable sshd  # 启用 SSH 服务开机自启
    sudo systemctl start sshd   # 启动 SSH 服务
    sudo systemctl status sshd  # 查看 SSH 服务状态
            
  • 修改 SSH 端口(增强安全性): 建议更改默认的 22 端口以减少自动扫描的风险。
    1. 编辑 SSH 配置文件:sudo vi /etc/ssh/sshd_config
    2. 找到 `Port 22` 行,修改为你想要的端口号(例如 `Port 2222`)。
    3. 保存并退出。
    4. 重启 SSH 服务:sudo systemctl restart sshd
    5. 确保防火墙开放了新端口。
  • 禁用 Root 登录: 为了安全起见,通常会禁用 root 用户直接通过 SSH 登录。
    1. 编辑 SSH 配置文件:sudo vi /etc/ssh/sshd_config
    2. 找到 `PermitRootLogin yes` 行,将其改为 `PermitRootLogin no`。
    3. 保存并退出。
    4. 重启 SSH 服务:sudo systemctl restart sshd

系统更新

保持系统及时更新是至关重要的。

  • 更新软件包:
    sudo yum update -y
            
    `-y` 参数表示自动确认所有提示。
  • 安装特定软件包:
    sudo yum install 
            
  • 搜索软件包:
    sudo yum search 
            
  • 卸载软件包:
    sudo yum remove 
            

CentOS 7 核心命令

熟练掌握以下核心命令,能够极大地提高您在 CentOS 7 环境下的操作效率。

文件与目录管理

  • 显示当前目录:
    pwd
  • 列出目录内容:
    ls [-lha]
    • `-l`:详细列表格式。
    • `-h`:以人类可读的格式显示文件大小。
    • `-a`:显示所有文件,包括隐藏文件。
  • 创建目录:
    mkdir 
  • 切换目录:
    cd 
    • `cd ..`:返回上一级目录。
    • `cd ~` 或 `cd`:返回当前用户的主目录。
  • 复制文件/目录:
    cp  
    • 复制目录需要加上 `-r` 选项:cp -r
  • 移动/重命名文件/目录:
    mv  
  • 删除文件:
    rm 
  • 删除目录:
    rmdir 
    (只能删除空目录)
    rm -r 
    (删除非空目录)
  • 创建空文件:
    touch 
  • 查看文件内容:
    cat 
    (显示整个文件内容)
    less 
    (分页显示,更适合大文件)
    head 
    (显示文件开头部分)
    tail 
    (显示文件结尾部分,常用于查看日志)
  • 查找文件:
    find /path/to/search -name "filename"

系统进程管理

  • 显示所有运行的进程:
    ps aux
  • 实时显示进程信息:
    top

    在 `top` 界面,按下 `k` 可以杀死进程,需要输入进程 ID (PID)。按下 `q` 退出。

  • 根据进程名查找进程 ID (PID):
    pgrep 
  • 杀死进程:
    kill 
    (发送终止信号)
    kill -9 
    (强制终止信号)

用户与权限管理

  • 显示当前用户信息:
    whoami
  • 显示所有登录用户:
    who
  • 切换用户:
    su - 
    (切换到指定用户,`-` 表示模拟登录,加载其环境变量)
    su
    (切换到 root 用户)
  • 赋予 root 权限执行命令:
    sudo 
    (需要用户在 sudoers 文件中配置)
  • 修改文件权限:
    chmod  

    权限表示:例如 `u+x` (为用户添加执行权限),`go-w` (移除组和其他人的写入权限),`755` (rwx for owner, rx for group and others)。

  • 修改文件所有者:
    chown : 

服务管理 (systemd)

CentOS 7 使用 systemd 作为其初始化系统。

  • 启动服务:
    sudo systemctl start 
  • 停止服务:
    sudo systemctl stop 
  • 重启服务:
    sudo systemctl restart 
  • 查看服务状态:
    sudo systemctl status 
  • 设置服务开机自启:
    sudo systemctl enable 
  • 禁用服务开机自启:
    sudo systemctl disable 
  • 查看所有已加载的服务:
    systemctl list-unit-files --type=service

系统信息

  • 查看系统内核版本:
    uname -a
  • 查看 CPU 信息:
    cat /proc/cpuinfo
  • 查看内存信息:
    free -h
  • 查看磁盘空间使用情况:
    df -h
  • 查看目录空间使用情况:
    du -sh 
  • 查看系统日志:
    journalctl -xe
    (显示错误日志)
    journalctl -u 
    (查看特定服务的日志)

CentOS 7 作为一个成熟且可靠的操作系统,其强大的功能和灵活的配置选项使其能够满足各种服务器部署需求。无论是初次安装,还是日常的系统维护和管理,掌握上述知识都将为您提供坚实的基础。随着技术的发展,理解这些核心概念和命令,对于任何一位 Linux 系统管理员或开发者而言,都是不可或缺的技能。

CentOS 7:深度解析其安装、配置与核心命令