CentOS Base 介绍
CentOS(Community Enterprise Operating System)是一个基于 Red Hat Enterprise Linux (RHEL) 源代码构建的免费开源操作系统,旨在提供与 RHEL 高度兼容的企业级环境,CentOS 因其稳定性、可靠性和长期支持而广泛应用于服务器和企业级系统。
一、CentOS 版本和生命周期

1、CentOS Linux:这是 RHEL 的开源重编译版本,长期以来一直是企业服务器的热门选择。
2、CentOS Stream:自 2021 年起,CentOS Stream 成为 CentOS Linux 的继任者,作为 RHEL 的滚动发布版,为用户提供 RHEL 的下一个小版本预览。
3、CentOS 7:尽管 CentOS 8 的生命周期已经结束,但 CentOS 7 仍然拥有长时间支持,截止到 2024 年。
二、安装 CentOS
1、下载 CentOS:可以通过 CentOS 官方网站下载对应的 ISO 文件。
2、创建启动盘:使用工具如 Rufus 或 Etcher 将 ISO 镜像写入 USB 启动盘。

3、启动安装程序:从启动盘引导进入 CentOS 安装程序。
4、选择安装选项:可以选择最小化安装、服务器安装或带 GUI 的桌面安装,具体选择取决于用途。
5、分区设置:对磁盘进行分区,通常选择自动分区即可,如果需要手动分区,确保有 /boot、/ 和 swap 分区。
6、配置网络:配置静态 IP 地址或使用 DHCP,确保网络连通性。
7、设置 root 密码和创建用户:设置系统管理员(root)的密码,并创建普通用户。
三、基本命令

熟练掌握 CentOS 的基础命令是系统管理的第一步,以下是一些必备命令:
1、查看系统信息:
uname r:查看内核版本
lsb_release a:查看操作系统版本
2、包管理(yum/dnf):
sudo yum update:更新所有软件包
sudo yum install vim:安装 Vim 编辑器
sudo yum remove httpd:卸载 Apache 服务器
在 CentOS 8 及以后的版本中,yum 被 dnf 取代,但它们的用法基本一致。
3、用户管理:
sudo adduser user_name:添加新用户
sudo passwd user_name:为用户设置密码
sudo usermod aG wheel user_name:将用户添加到 sudoers
4、文件权限和管理:
chmod 755 file_name:修改文件权限
chown user:group file_name:修改文件所有者
四、常用服务配置
1、SSH 配置:SSH 是远程管理 CentOS 系统的关键工具,默认情况下 SSH 服务是启用的,可以通过以下命令管理 SSH 服务:
启动 SSH 服务:sudo systemctl start sshd
开机启动:sudo systemctl enable sshd
修改 SSH 配置(/etc/ssh/sshd_config 文件):例如修改默认端口(改为 2222),禁用 root 远程登录等
2、防火墙管理:CentOS 7 及以后版本默认使用 firewalld 作为防火墙工具,可以通过以下命令管理防火墙:
查看防火墙状态:sudo firewallcmd state
开放端口(如 80 和 443 端口):sudo firewallcmd addport=80/tcp permanent 和sudo firewallcmd addport=443/tcp permanent
允许特定服务(如 HTTP、HTTPS):sudo firewallcmd addservice=http permanent 和sudo firewallcmd addservice=https permanent
重新加载防火墙配置:sudo firewallcmd reload
3、SELinux 管理:SELinux 是 CentOS 上的安全增强模块,默认情况下是启用的,对于入门用户,可能遇到一些服务无法启动的问题,常常是 SELinux 的限制,可以通过以下命令管理 SELinux:
查看 SELinux 状态:sestatus
临时关闭 SELinux(无需重启):sudo setenforce 0
永久关闭 SELinux:编辑 /etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=disabled,然后重启系统
五、软件包和库管理
CentOS 的软件包管理主要依赖于 yum 或 dnf,常用的仓库包括 EPEL(Extra Packages for Enterprise Linux)仓库,它提供了额外的包,可以通过以下命令安装 EPEL 仓库:sudo yum install epelrelease,还可以安装开发工具(编译软件时常用):sudo yum groupinstall "Development Tools"。
六、系统更新与维护
保持系统最新并定期检查安全更新是系统管理的核心工作之一,可以手动更新系统:sudo yum update,或者通过安装 yumcron 来配置自动更新:sudo yum install yumcron,然后启用并启动自动更新服务:sudo systemctl enable yumcron 和sudo systemctl start yumcron。
七、系统监控与日志管理
掌握日志文件的位置和监控系统状态对于排查问题十分重要,大多数日志存储在 /var/log/ 目录下,常用日志文件包括 /var/log/messages、/var/log/secure 等,可以使用 top 或 htop 查看实时系统资源使用情况,使用 df h 查看磁盘使用情况。
CentOS Base配置文件 centosbase.repo详解
centosbase.repo是CentOS操作系统中的一个软件仓库配置文件,用于指定软件包的下载地址和安装源,该文件通常位于/etc/yum.repos.d/目录下,可以通过编辑该文件来添加、删除或修改软件仓库。
centosbase.repo配置文件的路径和内容
centosbase.repo配置文件的路径是/etc/yum.repos.d/centosbase.repo,该配置文件包含了默认的存储库源的配置信息,也就是CentOS的官方源,默认情况下,CentOS的基础存储库已经添加到系统中,因此用户无需手动添加。
centosbase.repo配置文件包括以下一些节:
1、[base]:这是CentOS的默认存储库,包含了许多常用的软件包。
2、[updates]:这是CentOS的更新存储库,包含了发行版的更新软件包。
3、[extras]:包含了一些额外的软件包,不属于核心发行版。
4、[centosplus]:包含了一些扩展的软件包,提供了一些额外的功能。
5、[fasttrack]:提供了一些测试版的软件包,用于快速发布新功能和修复bug。
每个软件包仓库的配置以方括号括起来,如[base]。name表示软件包仓库的名称,baseurl表示软件包仓库的URL,gpgcheck表示是否检查软件包的数字签名,gpgkey表示数字签名的公钥文件路径。
centosbase.repo配置文件的使用示例
以下是一个centosbase.repo配置文件的示例:
[base] name=CentOS$releasever Base baseurl=$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYCentOS7 [updates] name=CentOS$releasever Updates baseurl=$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYCentOS7 [extras] name=CentOS$releasever Extras baseurl=$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYCentOS7
在这个示例中,$releasever变量会根据系统的实际发行版版本进行替换,例如7或8。$basearch变量会根据系统的架构进行替换,例如x86_64或arm64。
centosbase.repo配置文件的常见问题及解答
Q1:如何添加第三方软件仓库到centosbase.repo文件中?
A1:可以通过编辑centosbase.repo文件,添加一个新的节来配置第三方软件仓库,要添加EPEL仓库,可以在文件中添加以下内容:
[epel] name=Extra Packages for Enterprise Linux $releasever $basearch baseurl=https://dl.fedoraproject.org/pub/epel/$releasever/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYEPEL7
保存文件后,可以使用yum makecache命令重新生成软件仓库的缓存,然后就可以安装EPEL仓库中的软件包了。
Q2:如何备份和恢复centosbase.repo文件?
A2:备份centosbase.repo文件可以使用以下命令:
sudo cp /etc/yum.repos.d/centosbase.repo /etc/yum.repos.d/centosbase.repo.bak
恢复centosbase.repo文件可以使用以下命令:
sudo mv /etc/yum.repos.d/centosbase.repo.bak /etc/yum.repos.d/centosbase.repo
