Linux系统初始化进程及文件(带命令)

news2024/11/15 13:53:38

  • 作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

 前言

一.系统初始化进程及文件

1.init 进程

2.Systemd概述

3.SysVinit机制

 二.服务控制及优化启动过程

1.系统服务控制

2.求换运行级别

(1).查看系统的target

(2).切换系统的target

三.优化启动过程

1.常见的系统服务

2.优化开机自动加载的服务

1)使用 ntsysv 工具

2) 使用systemctl 工具


 前言

本章将会讲解Linux系统初始化进程及文件以及使用的命令。


一.系统初始化进程及文件


 

1.init 进程

Linux操作系统中的进程使用数字进行标记,每个进程的身份标记号称为PID,在引导Linux操作
系统的过程中。“/sbin/init”是内核第一个加载的程序,因此 init进程对应的PD号总是为1.


init进程运行以后将陆续执行系统中的其他程序,不断生成新的进程,这些进程称为init进程的子进程,反过来说,init进程是这些进程的父进程,当然,这些子进程也可以进一步生成各自的子进程,依次不断繁衍下去,最终构成一棵枝繁叶茂的进程树,共同为用户提供服务.


init进程正是维持整个Linux操作系统运行的所有进程的“始祖”,因此init进程是不允许被轻易终止的,需要切换不同的系统运行状态时,可以向lnit进程发送正确的执行参数,由init自身来完成相关操作。


2.Systemd概述


Systemd是Linux操作系统的一种init软件,CentOS 7系统中采用了全新的Systernd启动方式,取代了传统的SysVinit,Systemd启动方式使系统初始化时诸多服务并行启动,大大提高了开机效率。


CentOS 7系统中 “/sbin/init” 是 “/lib/systemd/systemd” 的链接文件。换言之,CentOS 7系统中
运行的第一个 init 进程是“/lib/systemd/systemd”,systernd 守护进程负责Linux 的系统和服务,
systemctl用于控制Systerd管理的系统和服务状态。


Systemd将其管理的资源组织成各种类型的单元(Unit)

 Linux系统服务是指:运行在后台并提供特定功能的应用程序,如网站服务,FTP服务等。

Linx通过将不同的系统服务进行搭配组合来协同满足不同的功能需求。不同的服务组合其实现的功能也各不相同,就好比不同的药方能医治不同的病症一样。


3.SysVinit机制

早期Linux操作系统中的SysVinit机制,默认包括七种不同的服务搭配方式,其中每一种搭配方
式称为运行级别,类似于Windows系统中的正常启动,安全模式,不带网络连接的安全模式等,这些运行级别分别使用数字0.1.….6来表示。为了向下兼容SysVinit 系统,Systemd使用了相应的
tiarget(目标)模拟了SysVinit 的运行级别。


 二.服务控制及优化启动过程

在Linux操作系统完成引导以后,如何控制系统服务的运行状态?如何在不同的运行级别之间进
行切换?如何优化启动过程,减少系统占用的资源?


1.系统服务控制

在CentOS系统中.各种系统服务的控制脚本默认放在  /ur/lib/systemd 目录下,通过systemctl
命令工具可以实现对指定系统服务的控制,语法格式如下

ayatemctl 控制类型 服务名称

对于大多数系统服务来说,常见的几种控制类型如下所述

  1. stert(启动),运行指定的系统服务程序,实现服务功能。
  2. stop(停止),终止指定的系统服务程序,关闭相应的功能,
  3. restart(重启),先退出,再重新运行指定的系统服务程序。
  4. reload(重载):不退出服务程序,只是刷新配置,在某些服务中与restart的操作相同。
  5. statu(查看状态),查看指定的系统服务的运行状态及相关信息,

例如,执行如下的systemctl start postfix.service操作可以启动尚未运行的postfix服务。

[root8localhont -]#aystemctl start postfix.service

若要查看指定postfix服务的运行状态,只需将上述命令中的“start”改为“status”即可。若要
停止postfix服务,只需将start”改为“stop”即可,具体命令如下;

  1. [rootllocalhost -]#systemotl status postfix.service
  2. Active: active (running) since 三 2017-04-65 19:46:09 CST: ls ago
  3. Ixootflocalhoat -]# systemctl stop postfix.service  //终止postfix服务
  4. [rootllocalhost ~]# systemctl status postfix.service
  5. Actlve: Inactive (dead) since 三 2017-04-05 19:48:55 CST; 31s ago

控制类型restart”用在需要释放旧的资源全部从头开始的情况,它会先关闭相应的服务程序,
然后重新运行.

例如,当在网卡的配置文件中设置了新的P地址以后,为了激活新的P地址,可以

重新启动名称为network的系统服务,命令如下:

[root8localhost -]# systemotl restart netxork.service

 对于在实际生产环境中运行的服务器,不要轻易执行stop或restart操作,以免造成客户端访问
中断,带来不必要的损失,若只是要为系统服务启用新的配置,可以采用相对温和一些的"relcad”
参数重新加载配置,而不是生硬地执行restart.例如,对正在为用户提供Web访问的httpd服务。

当需要应用新的配置时,建议执行'systerctl reload httpd.service”命令来重新载入配置.

[rootflocalhost -]# systemotl reload httpd.service


2.求换运行级别

(1).查看系统的target

明确当前系统所在的target将有助于管理员排除一些应用故障,若未能确知当前所处的目标。
可以直接执行“runlevel”命令进行查询,显示结果中的两个字符分别表示切换前的目标,当前的目
标。若之前尚未切换过运行级别,则第1列将显示“N”,命令如下

[root@localhost ~]# runlevel

N5

 若用户想查看系统启动时默认运行的target,可以执行“systemctl get-default命令以显示系统
默认的target,命令如下,

[root@localhoat -]# ayatemctl get-default
graphical.target    //图形模式


(2).切换系统的target

当用户需要将系统转换为其他的target时,可以通过传统的init程序进行,只要使用与运行级别
相对应的数字(0-6)作为命令参数即可,或者使用systerctl命令进行目标切换,例如,为了节省
系统资源,将系统运行的target由图形模式(5)切换为字符模式(3).可以执行“init 3”“systemctl
solate multi-user,target”命令,命令如下

[root@localhost -]# init 3
[root@localhost -]# runlevel
5 3

或者

[root@localhoat -]# aystemotl isolate multi-user, target

将系统切换到字符模式以后,图形桌面环境不再可用,这时按Alt+F7组合键也无法恢复图形桌
营环境,需要再次使用图形桌面时,可以执行“init 5”或者“systernctl isolate graphical.target命
令切换回去。
通过切换target的操作,还可以实现两个特殊的功能,那就是关机和重启,运行级别0.6分别
对应关机.重启这两个特殊模式,因此只要执行“init0”与“init6”命令就可以实现相应的关机.
重启操作了,命令如下

[root@localhont -]# init 0   /关闭当前系统

[root@localhoat -]# init 6   /重启当前系统

而运行级别0.6 又分别对应着systemd 的‘powerolf.target”和“reboot.target”目标.因此执行“systemctl poweroft”与“systerctl reboot”命令也可以实现相应的关机.重启操作,命令如下;

[root@localhoat -]# systemctl poweroff   //关闭当前系统

[root@localhost -]# systemctl reboot     //重启当前系统


三.优化启动过程

Lirux操作系统中包含了大量的服务程序,这些服务程序在切换运行级别时根据预设的状态进行
启动或终止,其中有不少系统服务可能并不是用户需要的,但是默认也运行了。
那么,

  1. 在Linux操作系统中默认包括哪些系统服务?
  2. 各自的作用是什么?
  3. 如何控制开机后自动运行的系统服务,以减少资源占用、提高系统运行效率呢?

1.常见的系统服务

在CentOS系统中,默认安装的系统服务多达100余种,这些系统服务为用户提供了丰富的应用服务。只有了解各个系统服务的用途,才能有选择地进行优化操作,实现按需启用Linux服务。

表1-3中列出了CentOS中常见的一些系统服务,包括服务的作用,建议启动的状态,以供优化系统服务时参考。(根据主机的实际功能需求)


2.优化开机自动加载的服务

Linux操作系统在每次开机后会进入默认的ysterd运行目标(如字符模式或图形模式),并运行
该目标中默认设为启动的各种系统服务,若要禁止某些系统服务自动运行,可以使用ntsysv或者
systemctl 工具进行优化 。

1)使用 ntsysv 工具

ntsysv 工具可以在字符模式中运行,为用户提供一个仿图形的交互式操作界面,专门用于集中配置各种系统服务的启动状态,当需要同时设置多个服务的启动状态时,使用ntsywv工具会非常方便。

单独执行“ntsysv”命令时仅用于管理当前运行目标中的服务:通过“--level”选项可以对指定运行目标(级别)中的服务进行管理。例如,执行“ntsysv--level 35’命令可以打开 ntsytv管理程序,如图1.11所示,同时对运行目标3.5中的各种系统服务的默认启动状态进行调整。

 操作时按↑↓方向键来选择不同的系统服务,按Space(空格)键设置服务的默认启动状态(“[*]”
表示启动,"[]"表示关闭).如果要查看所选定服务的说明信息、按F1键可以获取帮助。


2) 使用systemctl 工具

systernctl 工具与ntsysv的功能类似,但是systemctl不提供交互式的操作界面,它用于查询或设置系统服务的默认启动状态,当需要设置某一个服务在当前运行目标中的默认启动状态时,使用
aystermctl工具会更有效率,使用systemctl 工具控制服务开机启停的命令格式如下

systemctl 控制选项 服务名称

 常用的选项有三种:

  1. enable;开机自动启动。
  2. disable:开机自动关闭。
  3. is-enabile:查看开机启动状态。

例如,执行以下操作即可配置apoche服务开机自动启动或关闭,并查看开机启动状态,当apache
服务设置为开机自动启动时,在/etc/aystemd/system/multi-user,target.warts/目录下面会出现一个文件名为htpd,service的软连接文件。当 apache 服务设置为开机自动关闭时,在

/etc/systemd/aystem/multi-user.target,wants/目录下面的httpd.service软连接文件就会被删除。

[root@localhost -]# systemctl enable httpd.service    //apache 服务设置为开机启动
Createdaymlinkfrom /etc/aystemd/ayatem/multi-nner.target.vants/httpd,aervice
to /uar/lib/ayatend/syaten/httpd.service.
[root@localhost -]# systemctl is-enabled httpd.service
enabled
[roor@localhoat -]# systemctl disable httpd.service   //apache 服务设置为开机关闭

Removed symlink /etc/ayatend/syatam/multi-user.target.wanto/httpd.service.
[root@localhost -]# syatemctl is-enabled httpd.service
disabled


在当前系统下执行 “systemctl list-urits—typeuservioe°命令可以查看当前系统中所有已激活的系统服务,命令如下

[root@localhost ~]# systemctl list-units --type=service  //查看所有已经激活的系统服务


  创作不易,求关注,点赞,收藏,谢谢~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/133348.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java语言】— 循环结构 :for循环

循环结构:for循环 1.for循环 控制一段代码反复执行很多次。 for循环的格式如下: for (初始化语句;循环条件;迭代语句){循环体语句(重复执行的代码);}下面我们通过案例:输出3次HelloWorld感受一下。 //需求:输出3次HelloWorld…

OpenOCD 不同仿真器使用操作总结记录

针对不同的仿真器使用 OpenOCD 时候的设置操作总结 ...... 矜辰所致目录前言一、OpenOCD 环境搭建二、OpenOCD 基本测试三、Makefile 中仿真器配置3.1 ST-link3.2 Jlink3.2 CMSIS-DAP(待更新)结语前言 在使用 GCC 环境开发 ARM 系列芯片的时候&#x…

ArcGIS基础实验操作100例--实验35等高线生成DEM

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验35 等高线生成DEM 目录 一、实验背景 二、实验数据 三、实验步骤 方法一 &#xff…

4.5、静态路由配置及其可能产生的路由环路问题

静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表\color{red}人工配置路由表人工配置路由表。 这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化。\color{red}但不能及时适应网络状态&#xff08…

我的世界Bukkit服务器插件开发教程(十三)资源包与玩家资料

十三、资源包与玩家资料 1.资源包(Resource Pack) 早期的 Minecraft 并没有资源包一说,而是被叫做材质包。有些服务器为了让玩家拥有更好的游戏体验,一般会在自己特制的客户端中存放一些资源包供玩家加载。 显然,使用…

自动梯度计算

神经网络的参数主要通过梯度下降来进行优化. 当确定了风险函数以及网络结构后, 我们就可以手动用链式法则来计算风险函数对每个参数的梯度, 并用代码进行实现. 但是手动求导并转换为计算机程序的过程非常琐碎并容易出错&#xff0…

二叉树的基础oj题(单值二叉树、相同的树、对称二叉树、二叉树的前序、中序、后序遍历、另一棵树的子树、二叉树的构建和遍历、翻转二叉树)

今天,我带来二叉树的基础oj题 目录单值二叉树:[链接](https://leetcode.cn/problems/univalued-binary-tree/)相同的树:[链接](https://leetcode.cn/problems/same-tree/)对称二叉树:[链接](https://leetcode.cn/problems/symmetr…

syzkaller 黑盒测试1:环境搭建

syzkaller 黑盒测试1:环境搭建 近期需要使用syzkaller对某Linux发行版系统内核进行测试,但是未提供内核源码,只能在黑盒条件下测试。这是笔者第一次接触syzkaller,对测试流程不太熟悉。另外,网上很少有syzkaller黑盒测…

C语言版扫雷——从0到1实现扫雷小游戏

🐒博客名:平凡的小苏 📚学习格言:有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴。 扫雷思维导图 目录 扫雷思维…

9_2、Java基本语法之常用类日期、时间类的使用

一、JDK 8之前时间日期API jdk8之前的日期时间类 1.System的currentTimeMillis() 2.java.util.Date以及子类java.sql.Date 3.SimpleDateFormat 4.Calender类:日历类 1、获取系统当前时间:System类下的currentTimeMillis(); //返回的是当前时间与1970年…

MySQL--整合Keepalived进行双机热备自动切换(升级版)

原文网址:MySQL--整合Keepalived进行双机热备自动切换(升级版)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍MySQL整合Keepalived进行双机热备自动切换(升级版)。 服务器要考虑高可用问题。nginx、tomcat、缓存、队列、数…

Java开发的古董拍卖系统竞标系统拍卖网

简介 古董展品拍卖网站 用户可以注册成为买家也可以申请开店成为卖家,发布古董展品,设置拍卖起止时间进行展品的拍卖。如果早于拍卖开始时间或者晚于拍卖结束时间,则不可以竞拍。多人竞拍,买家可以根据最高价设置谁中标&#xff…

系分 - 结构化方法【概念】

个人总结,仅供参考,欢迎加好友一起讨论 系分 - (概念)结构化方法 结构化方法贯穿整个软件工程全部,可以单独细分出来作为某个软件工程环节的技术指引 结构化方法,由结构化分析(SA,St…

【C语言进阶】速学,不会用数据库可不能再错过文本与二进制文件操作

目录 ✨前言✨: 🎈一、文本文件与二进制文件🎈: 🎁二、文件读取结束的判定🎁: 1.错误使用 feof 函数: 2.判断文件读取结束: 🎊三、文件缓冲区&#x1f38…

Ubuntu虚拟机图文安装详细教程

Hello, 小伙伴们,大家好!今天教大家一步一步进行ubuntu虚拟机的安装。俗话说的好:“工欲善其事必先利其器”,作为一名嵌入式软件开发人员,我们必须熟悉Linux系统的操作及使用,熟练掌握Linux系统下的开发&am…

java 接口的私有方法

其实java8就已经做下伏笔了 在拥有静态和默认 两种拥有方法体的方法之后 接口出现私有方法也是一种必然 然后我们来创建一个包 包下创建一个接口 subInterface 参考代码如下 public interface subInterface {private void show2() {System.out.println("我是一个私有方…

头条权重在线查询,头条号增加权重的4个妙招

头条号权重可以简单理解为头条号指数,刚开通头条号的时候,会根据头条号的领域、介绍等等给予相应的权重。后期会根据账号使用情况进行调整权重,提高或者降低。 头条权重在线查询方法 打开“站长工具”之后,输入网站网址。…

LeetCodeday04

24. 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head [1,2,3…

JavaScript篇.day08-DOM,节点,事件,定时器,位置及坐标

目录 1.DOM 2.DOM相关操作 (1)获取元素 (2)操作元素 (3)操作元素属性 (4)操作元素类名 (5)操作元素样式 3.节点操作 4.事件 5.事件传播 6.定时器 7.位置及坐标 1.DOM Document Object Model 文档对象模型一整套操作文档流相关内容的属性和方法可以做的操作: 修改样…

前端框架搭建(六)搭建页面框架【vite】

1.安装所需依赖 需要安装 vue-routernaive视图框架 npm npm install vue-router4 yarn yarn add vue-router4npm i -D naive-ui2.搭建naive适配框架 创建文件夹——存放通用组件 在components下创建文件夹common 全局配置常用组件 在之前创建的global.d.ts中添加Window…