CentOS 文档
一、CentOS简介
CentOS(Community Enterprise Operating System)是一个基于Red Hat Enterprise Linux (RHEL) 的开源操作系统,它提供了企业级的稳定性和安全性,同时没有额外的费用,CentOS 完全兼容 RHEL,使得用户能够无缝迁移到开源平台。

二、历史与版本
1、CentOS 3:基于 RHEL 3,首次发布于2004年。
2、CentOS 4:基于 RHEL 4,引入了 SELinux,增强了系统的安全性。
3、CentOS 5:基于 RHEL 5,支持64位架构,改进了文件系统和网络功能。
4、CentOS 6:基于 RHEL 6,引入了 Systemd,增强了虚拟化支持。
5、CentOS 7:基于 RHEL 7,全面采用 Systemd,支持 Docker 容器。
6、CentOS 8:基于 RHEL 8,引入了模块化包管理,进一步增强了安全特性。

7、CentOS Stream:滚动更新模式,介于 Fedora 和 RHEL 之间。
三、特点与优势
1、开源与免费:遵循开源协议,用户可以自由下载、使用和修改。
2、稳定性:基于 RHEL 的稳定版本,经过严格测试,适合生产环境。
3、社区支持:拥有活跃的社区,提供丰富的文档和技术支持。
4、安全性:多层次的安全机制,包括 SELinux、Firewalld 等。
5、长期支持:每个主要版本通常提供10年的支持周期。
6、广泛的硬件支持:支持多种硬件架构,如 x86_64、ARM 等。
7、丰富的软件仓库:通过 YUM 仓库,用户可以方便地安装和管理软件包。
四、安装步骤
1、硬件要求:
处理器:1 GHz 或更高,推荐多核处理器,2 GHz 及以上。
内存:1 GB RAM,推荐 2 GB RAM 及以上。
存储空间:最少 20 GB 硬盘空间,推荐 40 GB 及以上。
网络:网卡支持,建议有稳定的网络连接。
显示器:1024x768 分辨率,推荐更高分辨率。
2、安装步骤:
下载 CentOS ISO 镜像文件。
制作启动介质(USB 闪存驱动器)。
启动安装程序,选择“Install CentOS”。
选择安装语言和区域设置。
配置安装目标(硬盘或分区)。
配置网络与主机名。
设置安全策略和 root 密码。
创建普通用户账户。
开始安装并完成安装过程。
五、初始配置
1、更新系统:
- sudo yum update y
2、配置网络:
- sudo nmcli general hostname //查看主机名
- sudo nmcli general hostname myserver //设置主机名
- sudo systemctl restart systemdhostnamed //重启主机名服务
3、设置静态 IP:
- sudo nmtui //打开图形化网络配置工具
4、挂载与分区管理:
- sudo fdisk l //查看磁盘分区
- sudo mount /dev/sdXY /mnt/mydisk //挂载分区
六、包管理
1、YUM 简介:
Yum(Yellowdog Updater, Modified)是一个基于 RPM 的软件包管理器,能够解决依赖关系问题并提供软件仓库管理。
2、常用 YUM 命令:
安装软件包:
- sudo yum install y package_name
更新软件包:
- sudo yum update y package_name
删除软件包:
- sudo yum remove y package_name
查找软件包:
- yum search keyword
3、配置 YUM 仓库:
编辑/etc/yum.repos.d/
目录下的 repo 文件,添加或修改仓库源。
七、用户与权限管理
1、添加与删除用户:
添加用户:
- sudo useradd new_username
删除用户:
- sudo userdel old_username
2、用户组管理:
创建用户组:
- sudo groupadd new_group
删除用户组:
- sudo groupdel old_group
3、权限与所有权:
修改文件所有权:
- sudo chown user:group file_or_directory
修改文件权限:
- sudo chmod mode file_or_directory
八、文件系统与目录结构
1、常见目录介绍:
/
:根目录。
/home
:用户的主目录。
/var
:经常变动的文件,如日志文件和缓存。
/usr
:应用程序和数据存放目录。
/etc
:系统配置文件存放目录。
/tmp
:临时文件存放目录。
九、网络配置
1、配置静态 IP:
编辑或创建/etc/sysconfig/networkscripts/ifcfgethX
文件,设置静态 IP、子网掩码、网关和 DNS。
2、配置动态 IP(DHCP):
确保网卡配置文件中包含BOOTPROTO=dhcp
。
十、防火墙与安全
1、配置 Firewalld:
- sudo systemctl start firewalld
- sudo systemctl enable firewalld
- sudo firewallcmd permanent addservice=http //开放 HTTP 端口
2、安装与配置 SELinux:
SELinux 默认安装并启用,可以通过以下命令进行状态检查和切换:
- sudo getenforce //查看 SELinux 状态
- sudo setenforce 1 //设置为强制模式
- sudo setenforce 0 //设置为宽松模式
3、SSH 安全配置:
更改默认 SSH 端口:
- sudo nano /etc/ssh/sshd_config
找到并修改Port
参数。
禁用 root 远程登录:
- sudo nano /etc/ssh/sshd_config
将PermitRootLogin
改为no
。
十一、服务管理
1、Systemd 简介:
Systemd 是一种新的系统和服务管理器,用于替代传统的 SysVinit。
2、常用 Systemd 命令:
启动服务:
- sudo systemctl start service_name
停止服务:
- sudo systemctl stop service_name
重启服务:
- sudo systemctl restart service_name
查看服务状态:
- sudo systemctl status service_name
设置开机自启:
- sudo systemctl enable service_name
取消开机自启:
- sudo systemctl disable service_name
十二、日志管理
1、日志文件位置:
/var/log/messages
:系统消息日志。
/var/log/secure
:安全相关日志。
/var/log/maillog
:邮件日志。
/var/log/cron
:定时任务日志。
2、使用 Journalctl 查看日志:
- sudo journalctl xf //实时查看日志
3、日志轮转与清理:
编辑/etc/logrotate.conf
和/etc/logrotate.d/
目录下的配置文件,设置日志轮转策略。
十三、软件安装与编译
1、从源代码编译:
- wget http://example.com/software.tar.gz //下载源码包
- tar zxvf software.tar.gz //解压源码包
- cd software //进入源码目录
- ./configure //配置编译选项
- make //编译源码
- sudo make install //安装软件
2、使用 RPM 包安装:
- sudo yum install y package_name //安装软件包
十四、常见问题解答(FAQs)
1、如何更改主机名?:
编辑/etc/hostname
文件,设置新的主机名,然后使用以下命令使其生效:
- sudo nmcli general hostname new_hostname //设置主机名
- sudo systemctl restart systemdhostnamed //重启主机名服务
2、如何配置静态 IP?:
编辑或创建/etc/sysconfig/networkscripts/ifcfgethX
文件,添加以下内容:
- TYPE="Ethernet"
- BOOTPROTO="static"
- NAME="eth0"
- UUID="string"
- DEVICE="eth0"
- ONBOOT="yes"
- IPADDR="192.168.1.100"
- NETMASK="255.255.255.0"
- GATEWAY="192.168.1.1"
- DNS1="8.8.8.8"
- DNS2="8.8.4.4"
3、如何更改 SSH 端口?:
编辑/etc/ssh/sshd_config
文件,找到并修改Port
参数,然后重启 SSH 服务:
- sudo systemctl restart sshd