CentOS 是一款流行的 Linux 发行版,广泛应用于服务器和计算环境,在 CentOS 中,启动命令是系统管理的重要组成部分,用于控制服务的启动、停止和重启,本文将详细介绍 CentOS 的启动流程、常用的启动命令以及如何配置服务开机自启动。
CentOS 启动流程
1、开机自检(POST):计算机启动时首先进行硬件检测,确保硬件正常运作。
2、BIOS/UEFI 引导:读取并执行存储在主板上的固件程序,找到并加载操作系统引导程序。
3、GRUB 引导:GRUB 是一个引导加载程序,它负责加载内核和初始 RAM 磁盘映像(initramfs),并将控制权交给 Linux 内核。
4、内核初始化:Linux 内核开始执行,初始化硬件设备和系统资源。
5、运行级别与 systemd:在 CentOS 7 及以后版本中,systemd 取代了传统的 SysVinit 作为系统和服务管理器,systemd 使用“targets”而不是传统的运行级别来管理系统状态。
6、启动用户空间服务:根据配置的目标(如 multiuser.target 或 graphical.target),systemd 启动相应的用户空间服务。
常用的 CentOS 启动命令
1. systemctl 命令
systemctl
是 CentOS 7 及以后版本中管理服务的主要工具,它提供了丰富的命令选项来控制系统服务。
启动服务:systemctl start [服务名]
systemctl start httpd.service
这条命令会启动名为httpd
的服务。
停止服务:systemctl stop [服务名]
systemctl stop httpd.service
这条命令会停止名为httpd
的服务。
重启服务:systemctl restart [服务名]
systemctl restart httpd.service
这条命令会先停止再启动名为httpd
的服务。
查看服务状态:systemctl status [服务名]
systemctl status httpd.service
这条命令会显示httpd
服务的当前状态。
启用开机自启动:systemctl enable [服务名]
systemctl enable httpd.service
这条命令会使httpd
服务在系统启动时自动启动。
禁用开机自启动:systemctl disable [服务名]
systemctl disable httpd.service
这条命令会取消httpd
服务的开机自启动设置。
2. service 命令
尽管systemctl
是推荐的现代工具,但service
命令仍然兼容旧版命令,并且可以重定向到新的systemctl
工具。
启动服务:service [服务名] start
service httpd start
这条命令启动httpd
服务。
停止服务:service [服务名] stop
service httpd stop
这条命令停止httpd
服务。
重启服务:service [服务名] restart
service httpd restart
这条命令重启httpd
服务。
查看服务状态:service [服务名] status
service httpd status
这条命令显示httpd
服务的当前状态。
3. chkconfig 命令(适用于 CentOS 7 之前的版本)
chkconfig
是一个传统的工具,用于管理 SysVinit 服务,在 CentOS 7 及以后版本中,建议使用systemctl
替代。
添加服务到 chkconfig 列表:chkconfig add [服务名]
chkconfig add httpd
这条命令将httpd
服务添加到 chkconfig 列表中。
从 chkconfig 列表中删除服务:chkconfig del [服务名]
chkconfig del httpd
这条命令将httpd
服务从 chkconfig 列表中删除。
开启开机自启动:chkconfig [服务名] on
chkconfig httpd on
这条命令使httpd
服务在指定运行级别开机自启动。
关闭开机自启动:chkconfig [服务名] off
chkconfig httpd off
这条命令取消httpd
服务的开机自启动设置。
查看所有服务的 chkconfig 状态:chkconfig list
chkconfig list
这条命令列出所有服务的 chkconfig 状态。
配置服务开机自启动
1. 使用 systemctl 配置开机自启动
如前所述,systemctl enable [服务名]
命令可以使服务在系统启动时自动启动,要使httpd
服务开机自启动,可以使用以下命令:
systemctl enable httpd.service
要检查服务的开机自启动状态,可以使用:
systemctl isenabled httpd.service
如果返回enabled
,则表示该服务已设置为开机自启动。
2. 修改默认启动模式为命令行或图形界面
在某些情况下,可能需要更改系统的默认启动模式,要将默认启动模式设置为命令行模式,可以使用以下命令:
systemctl setdefault multiuser.target
要切换回图形界面模式,可以使用:
systemctl setdefault graphical.target
这些命令会更改系统的默认启动目标,从而影响系统的启动行为。
CentOS 提供了多种工具和服务管理方式,以适应不同的用户需求和系统环境,无论是使用systemctl
、service
还是chkconfig
,管理员都可以方便地控制系统服务的启动、停止和重启,通过简单的配置,还可以实现服务的开机自启动,确保关键服务在系统启动时自动运行,掌握这些基本命令和配置方法,对于任何使用 CentOS 的系统管理员来说都是必不可少的技能。