CentOS,作为基于Red Hat Enterprise Linux(RHEL)源代码编译的社区发行版,以其无与伦比的稳定性、安全性和长期支持,成为服务器领域最受欢迎的操作系统之一,对于系统管理员和开发者而言,掌握CentOS的基础操作是迈向专业领域的关键一步,本文将系统性地介绍CentOS的核心基础知识,帮助初学者快速上手。
系统安装与初始配置
一切始于安装,需要从CentOS官方网站下载对应版本的ISO镜像文件,推荐使用DVD-1版本,它包含了大部分常用软件包,下载完成后,使用Rufus或dd命令等工具将其制作成可启动的U盘或刻录成DVD光盘。
安装过程相对直观,主要通过图形化界面完成,关键步骤包括:
- 语言选择:建议选择English(国际通用,可避免部分中文编码问题)。
- 时区设置:选择Asia/Shanghai。
- 磁盘分区:对于新手,可以选择自动分区,对于有经验的用户,推荐手动分区,至少创建
/boot
(引导分区,约1GB)、swap
(交换分区,大小为内存的1-2倍)和(根分区,分配剩余所有空间)。 - 网络配置:可在此处配置网络,确保安装过程中能连接到互联网,以便安装额外的软件包。
- 设置Root密码:为超级管理员root设置一个强密码,这是系统的最高权限账户。
安装完成并首次启动后,首要任务是进行系统更新,打开终端,执行以下命令,将所有已安装的软件包升级到最新版本,以确保系统安全和稳定。
sudo yum update -y
核心命令与软件管理
CentOS作为Linux发行版,其核心操作离不开命令行,掌握一些基础命令是高效管理系统的前提。
常用文件与目录操作命令:
ls
:列出目录内容。cd
:切换目录。pwd
:显示当前工作目录的完整路径。mkdir
:创建新目录。rm
:删除文件或目录(-r
参数用于递归删除目录)。cp
:复制文件或目录。mv
:移动或重命名文件/目录。
软件包管理(YUM/DNF):
CentOS使用YUM(Yellowdog Updater Modified)作为其软件包管理器(在CentOS 8及以后版本中被DNF取代,但命令兼容),YUM可以自动处理软件包的依赖关系,极大简化了软件的安装与维护。
命令 | 功能 |
---|---|
sudo yum install <package_name> | 安装指定的软件包 |
sudo yum search <keyword> | 搜索包含关键字的软件包 |
sudo yum update | 更新所有已安装的软件包 |
sudo yum remove <package_name> | 卸载指定的软件包 |
sudo yum list installed | 列出所有已安装的软件包 |
安装一个Web服务器Apache(httpd),只需执行:sudo yum install httpd -y
服务管理(Systemd):
Systemd是现代Linux系统(包括CentOS 7+)的初始化系统和服务管理器,通过systemctl
命令可以轻松管理系统服务。
命令 | 功能 |
---|---|
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> | 禁止服务开机自启 |
启动Apache服务并设置其开机自启:sudo systemctl start httpd
sudo systemctl enable httpd
网络与防火墙基础
服务器离不开网络,在CentOS中,网络配置文件通常位于/etc/sysconfig/network-scripts/
目录下,文件名格式为ifcfg-<接口名>
(如ifcfg-ens33
),虽然可以手动编辑这些文件,但更推荐使用nmcli
命令行工具进行配置,它更加直观且不易出错。
防火墙是保障服务器安全的第一道防线,CentOS 7及以上版本默认使用firewalld
作为防火墙管理工具,它基于“区域”概念,可以针对不同网络环境(如公共、家庭、工作)应用不同的规则。
常用防火墙命令:
sudo firewall-cmd --state
:查看防火墙状态。sudo firewall-cmd --list-all
:查看当前区域的详细规则。sudo firewall-cmd --add-service=http --permanent
:永久允许HTTP服务(80端口)通过。sudo firewall-cmd --add-port=8080/tcp --permanent
:永久开放TCP协议的8080端口。sudo firewall-cmd --reload
:重新加载防火墙配置,使新规则生效。
用户与权限管理
为了系统安全,日常操作应避免直接使用root用户,创建普通用户并赋予其必要的权限是最佳实践。
- 创建用户:
sudo useradd <username>
- 设置密码:
sudo passwd <username>
- 切换用户:
su - <username>
或su <username>
- sudo权限:为了能让普通用户执行管理员命令,需要将其加入
wheel
组,执行sudo usermod -aG wheel <username>
即可,之后,该用户就可以通过sudo <command>
的方式执行特权命令。
Linux的权限体系基于用户、用户组和其他人,对文件和目录进行读(r)、写(w)、执行(x)控制,使用ls -l
命令可以查看详细的权限信息,并通过chmod
命令进行修改。
相关问答FAQs
Q1: CentOS 7 和 CentOS 8 有什么主要区别?我应该选择哪个?
A1: CentOS 7和CentOS 8的主要区别在于内核版本、软件栈和默认工具,CentOS 8使用了更新的内核,提供了更多现代软件包(如Python 3作为默认),并将软件包管理器从YUM升级到了DNF(尽管保留了yum兼容性),CentOS 8已于2021年底结束生命周期,而CentOS 7则支持至2025年6月,对于新项目,如果追求稳定性和长期支持,CentOS 7仍是可靠选择,但更推荐考虑CentOS Stream(RHEL的上游开发版)或其下游替代品如Rocky Linux、AlmaLinux,它们能提供更接近RHEL的体验和持续的支持。
Q2: 如何通过SSH远程连接到我的CentOS服务器?
A2: SSH(Secure Shell)是远程管理Linux服务器的标准协议,确保CentOS服务器上已安装并运行了SSH服务(OpenSSH),通常它是默认安装的,可以使用 sudo systemctl status sshd
检查其状态,如果未运行,则执行 sudo systemctl start sshd
并 sudo systemctl enable sshd
设置开机自启,在你的本地计算机(Windows、macOS或Linux)上打开终端或SSH客户端(如PuTTY),使用以下命令进行连接:ssh <username>@<server_ip_address>
将<username>
替换为你的服务器用户名(如root或你创建的普通用户),将<server_ip_address>
替换为CentOS服务器的IP地址,首次连接时会提示接受服务器的公钥指纹,输入yes
即可,然后输入密码即可成功登录。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复