Linuxシステムのブートプロセスとサービス管理

博文结构
启动5个阶段
Linux关机
什么是daemon与服务(service)
通过systemctl管理服务
Systemctl针对service类型的配置文件

5つの段階を開始します。

Linuxシステムのブートプロセスとサービス管理

カーネルのブート。
INITを実行します。
システムの初期化。
端末の設立。
ユーザーのログインシステム。

1. POST
ブートサーバーホストの後に、CPU、メモリ、ビデオカード、キーボードや他の機器予備試験のためのマザーボードのBIOSの設定に基づいて行われます、テストが成功したプリセットの起動シーケンスに従ったシステムの制御を手渡してきた、ほとんどの時間はに降伏されますハードドライブ;

2.MBRブート
ローカルハードドライブシステムからのブートが、まず、ハードディスクMBR(マスターブートレコード)の最初のセクタに応じて提供される場合、システムは、オペレーティングシステムパーティションに制御を渡すブートファイルが含まれている、または直接MBRスタートメニューコール(例えば、GRUB)に記録されたナビゲーション情報。

3.GRUBメニュー
Linuxオペレーティングシステムのため、GRUB(統一ブートローダー)が最も広く使用されているマルチシステムのブートプログラムです。GRUBへの転送システム制御の後、ブートメニューが選択したユーザーに表示され、オプション(またはデフォルト値)に依存することになるのカーネルへのシステム制御、その後、Linuxカーネルファイルをロードします。。なお、CentOSに7つの用途GRUB2ブートローダー。

4.ロードLinuxカーネルの
1つの中のLinuxには、さまざまなハードウェアリソースとリソースの割り当てとスケジューリングを担当するシステムプログラム、間の特別なコンパイル済みのバイナリファイルです。カーネルがシステムの制御を取った後、完全にLinuxオペレーティングシステムを実行しているのプロセス全体を把握します。CentOSにシステムでは、デフォルトのカーネルファイルは、「/boot/vmlinuz-3.10.0-514.el7.x86_64」です。

5.initの初期化プロセス
、システムのブートプロセスを促進するために、Linuxカーネルの最初のロードシステム「/ sbin / init」プログラムメモリに実行するために、初期化プロセスは、システム初期化する一連の処理の完了を担当し、最終的にログオンするユーザーを待っています。

.INITプログラムの二つのタイプ:

SysV: init, CentOS 5之前, 配置文件: /etc/inittab。
Upstart: init,CentOS 6, 配置文件: /etc/inittab, /etc/init/*.conf。
Systemd: systemd, CentOS 7,配置文件: /usr/lib/systemd/system、 /etc/systemd/system。

III。ランレベル

Linuxシステムは、7運用レベル(ランレベル)を持ちます:

运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
在inittab中的以下6行就是定义了6个终端:
1:2345:respawn:/sbin/mingetty tty1 
2:2345:respawn:/sbin/mingetty tty2 
3:2345:respawn:/sbin/mingetty tty3 
4:2345:respawn:/sbin/mingetty tty4 
5:2345:respawn:/sbin/mingetty tty5 
6:2345:respawn:/sbin/mingetty tty6

ユーザーのログインシステム

一般的には、ユーザーは、以下の3つの方法でログインします。

(1)命令行登录
(2)ssh登录
(3)图形界面登录

IV。テキストとグラフィックモード切替マナーモード

Linuxは6つのプリセットコマンドターミナルウィンドウレッツ・ログインを提供します。
デフォルトでは、6つの窓がtty1から、tty2 ... tty6た、あなたがそれらを切り替えるには、Ctrl + Altキー+ F1〜F6を押すことができ、TTY1である私たちのウィンドウ内の最初の兆候です。

Linuxシステムのブートプロセスとサービス管理

sync                          将数据由内存同步到硬盘中
shutdown                 关机指令
shutdown –h now   立马关机
shutdown –h 20:25 系统会在今天20:25关机
shutdown –h +10    是分钟后关机
shutdown –r now    系统立马重启
shutdown –r +10     系统十分钟后重启
reboot                      重启 == shutdown –r now
halt                关闭系统
正确的关机流程为:sync > shutdown > reboot > halt
不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。
关机的命令有 shutdown –h now poweroff 和 init 0 
重启系统的命令有 shutdown –r now reboot init 6
服务的启动、关闭与观察等方式:
启动:/etc/init.d/daemon start 
关闭:/etc/init.d/daemon stop 
重新启动:/etc/init.d/daemon restart 
状态观察:/etc/init.d/daemon status
服务启动的分类: 
服务的相依性问题: 
执行等级的分类: 
制定执行等级默认要启动的服务:
默认要启动: chkconfig daemon on 
默认不启动: chkconfig daemon off 
观察默认为启动否: chkconfig --list daemon 
执行等级的切换行为: init3  init 5(纯切换到图形界面)

V.デーモンサービス(サービス)は何ですか

(1)は次のような利点がsystemdに:

平行处理所有服务,加速开机流程: 
一经要求就回应的 on-demand 启动方式(systemctl) 
服务相依性的自我检查: 
依 daemon 功能分类:unit(服务单位)
将多个 daemons 集合成为一个群组:
向下相容旧有的 init 服务脚本: 

(2)は、どこのディレクトリに設定ファイルをsystemdに

/usr/lib/systemd/system/:每个服务最主要的启动脚本设置,有点类似以前的 /etc/init.d 下面的文件;

/run/systemd/system/:系统执行过程中所产生的服务脚本,这些脚本的优先序要比 /usr/lib/systemd/system/ 高! 

/etc/systemd/system/:管理员依据主机系统的需求所创建的执行脚本,其实这个目录有点像以前 /etc/rc.d/rc5.d/Sxx 之类的功 能!执行优先序又比 /run/systemd/system/ 高 

(3)デーモンサービス(サービス)

Linuxシステムのブートプロセスとサービス管理

systemctl管理サービスにより、(4)

1、active (running):正有一只或多只程序正在系统中执行的意思,举例来说,正在执行中的 vsftpd 就是这种模式。 
2、active (exited):仅执行一次就正常结束的服务,目前并没有任何程序在系统中执行。 举例来说,开机或者是挂载时才会进 行一次的 quotaon 功能,就是这种模式! quotaon 不须一直执行~只须执行一次之后,就交给文件系统去自行处理啰!通常用 bash shell 写的小型服务,大多是属于这种类型 (无须常驻内存)。 
3、active (waiting):正在执行当中,不过还再等待其他的事件才能继续处理。
4、inactive:这个服务目前没有运行的意思。 既然 daemon 目前的状态就有这么多种了,那么 daemon 的默认状态有没有可能除了 
5、enabled:这个 daemon 将在开机时被执行 
6、disabled:这个 daemon 在开机时不会被执行 
7、static:这个 daemon 不可以自己启动 (enable 不可),不过可能会被其他的 enabled 的服务来唤醒 (相依属性的服务) 
8、mask:这个 daemon 无论如何都无法被启动!因为已经被强制注销 (非删除)。可通过 systemctl unmask 方式改回原本状态

イラスト

サービスの強制解約(マスク)

root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl mask firewalld  \\就是把启动的脚本清除
[root@localhost ~]# systemctl status firewalld
● firewalld.service
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead) since 六 2019-11-23 23:05:22 CST; 17s ago
 Main PID: 752 (code=exited, status=0/SUCCESS)

11月 23 23:03:40 localhost.localdomain systemd[1]: Starting firewalld - dynamic fi....
11月 23 23:03:43 localhost.localdomain systemd[1]: Started firewalld - dynamic fir....
11月 23 23:05:22 localhost.localdomain systemd[1]: Stopping firewalld.service...
11月 23 23:05:22 localhost.localdomain systemd[1]: Stopped firewalld.service.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# 

[root@localhost ~]# systemctl unmask firewalld  \\解除mask
[root@localhost ~]# systemctl status firewalld

デフォルトでは、6 .CentOS 7.1、および26ターゲットユニットがあります

以下のいくつかがあります。

graphical.target:就是文字加上图形界面,这个项目已经包含了下面的 multi-user.target 项目! 
multi-user.target:纯文本模式! 
rescue.target:在无法使用 root 登陆的情况下,systemd 在开机时会多加一个额外的暂时系统,与你原本的系统无关。这时你可以取得 root 的权限来维护你的系统。 但是这是额外系统,因此可能需要动到 chroot 的方式来取得你原有的系统
emergency.target:紧急处理系统的错误,还是需要使用 root 登陆的情况,在无法使用 rescue.target 时,可以尝试使用这种模 式! 
5.shutdown.target:就是关机的流程。 
6.getty.target:可以设置你需要几个 tty 之类的,如果想要降低 tty 的项目,可以修改这个东西的配置文件!

ノーマルモードはmulti-user.targetで、モデルの2つのレスキューの側面をgraphical.target主rescue.targetで、より深刻emergency.target。あなたが可能な着陸のttyの数を変更したい場合は、getty.targetプロジェクトを変更します。基本的に、我々は最も一般的に当然のことながら使用されている、マルチユーザおよびグラフィカルであります

[root@localhost ~]# systemctl poweroff  \\系统关机
[root@localhost ~]# systemctl reboot    \\重新开机
[root@localhost ~]# systemctl suspend   \\进入暂停模式
[root@localhost ~]# systemctl hibernate  \\进入休眠模式
[root@localhost ~]# systemctl rescue   \\强制进入救援模式
[root@localhost ~]# systemctl emergency   \\强制进入紧急救援模式

おすすめ

転載: blog.51cto.com/14400213/2452815