Linux启动时运行的程序及如何配置 (linux 启动时运行)

Linux作为一款开源的操作系统,拥有着广泛的用户群体和社区。其开放性和自由度高受到广泛的赞誉,也成为了很多人的首选。,也是使用Linux系统的一项基础技能,今天我们就来讲一讲这个话题。

一、Linux启动时运行的程序

Linux启动时会运行一些程序,这些程序主要包括:内核、启动初始化进程systemd或init、系统服务(如网络、文件系统、使用者密码服务等)、系统界面等。

1.内核

对于Linux系统而言,内核是最基础的程序,它负责整个系统的管理和控制。Linux内核是一个开源的并且不断更新的组件。它提供了各种基本功能(如进程调度、虚拟存储管理、设备驱动和网络协议栈等),使操作系统可以更好地运行。

2.初始化进程

Linux系统最常用的启动初始化进程有两种类型,即Systemd和InitV。Systemd是一个新型的进程管理工具,其与传统的InitV相比,具备更多的功能和优势。Systemd支持并行启动服务、动态加载、服务触发式启动等特性,同时还提供了启动失败自救机制,在系统维护中也更为方便。

3.系统服务

Linux系统的服务包括文件系统、网络、用户密码服务等,其中一些是内置的,但很多服务也可作为独立的程序包予以安装使用。这些服务在启动时都是需要运行的。例如,网络服务是用户和互联网进行通信和交流的通道;文件系统服务可以保障数据的可靠性和安全性;用户密码服务可以保障系统的安全性。在Linux系统启动时,所有这些服务都会得到启动。

4.系统界面

在Linux系统中常常使用Webmin作为系统管理的图形化工具,也可使用GNOME、KDE等桌面环境。在Linux启动时,与之对应的图形化界面也需要启动。这些界面都是在起始脚本中配置好的。

二、如何配置Linux的启动

对于不同的Linux发行版而言启动方式可能会有所不同,但是大致流程都是类似的,下面以Ubuntu为例来讲解。

1.编辑/etc/rc.local文件

在该文件中可以编写启动时需要执行的脚本。每个需要执行的脚本在自己的行上。例如:

#!/bin/sh

touch /var/lock/subsys/local

echo “Hello World!” > /dev/console

2.编辑/etc/init.d/文件夹里的脚本

在/etc/init.d/里面存放着要启动/关闭某些服务的所有脚本。在Ubuntu中,如果你想启动某个服务,你就需要在/etc/init.d/下创建一个与服务名相同的shell脚本然后写入相关的启动/关闭命令。

例如,要添加NFS服务,需要创建nfs脚本文件并输入以下内容。

#!/bin/bash

#/etc/init.d/nfs

#启动记录函数

##启动

start()

{

echo `date` >> /var/log/nfs_start.log

/etc/rc.d/init.d/nfs start

}

#关闭记录函数

stop()

{

echo `date` >> /var/log/nfs_stop.log

/etc/rc.d/init.d/nfs stop

}

case “$1” in

start)

start;;

stop)

stop;;

restart)

stop

sleep 3

start

;;

*)

echo使用方法:

echo $0 start/stop/restart

;;

esac

3.管理运行级别

Linux在启动时会加载其中一个运行级别,对于没有登陆的用户而言,这仅仅代表着系统将会启动哪些程序和服务;而对于已登入的用户而言,则表示需要加载的外观和背景。在Linux里共有七个运行级别,除了0运行级别并不是加载级别,其余六个都对应了一定的程序和服务等内容。

4.修改grub.cfg文件

GRUB是Linux的一个多任务引导程序,其通常会用于两个阶段的启动。之一阶段用于加载操作系统的内核,第二阶段用于设置启动选项(如管理员密码)。修改grub.cfg文件可以修改引导选项以及操作系统的启动。

三、

Linux是一个开放的操作系统,也因此有着很高的自由度。配置Linux启动时运行的程序,是掌握Linux系统必要的技能之一,对于提升Linux的使用和运维能力都非常有帮助。在进行配置时不但需要注意安全性和合理性,还需要选择合适的工具和命令进行操作。希望这篇文章能对您的Linux启动配置有所帮助。


数据运维技术 » Linux启动时运行的程序及如何配置 (linux 启动时运行)