EFI、UEFI、MBR、GPT的区别

CSM

CSM(兼容性支持模块)是BIOS上Boot选项里的一个下拉子项目(一些老的主板上没有此选项),与Secure Boot(安全启动)是并列项。 CSM开启使得可以支持UEFI启动和非UEFI启动。 若是需要启动传统MBR设备,则需开启CSM。 关闭CSM则变成纯UEFI启动,且完全支持安全启动。

UEFI

UEFI属于主板类名词,其作用类似于BIOS。

分区类型

简介

GPT、MBR则属于硬盘类名词,它们的作用类似一艘航母的骨架,有了这个骨架,我们才可以进行细致到诸如C、D、E等盘符的分区。

一块硬盘接驳主机之后,它的首要任务建立分区列表,分区列表有MBR和GPT两种,其中MBR分区列表支持最大2TB硬盘,GPT分区列表支持最大128PB(1PB=1024TB)。

GPT分区列表

GPT(GUID Partition Table):即全局唯一标识分区列表,是一个物理硬盘的分区结构。它用来替代BIOS中的主引导记录分区表(MBR)。

Read More

ipv6详解

简介

1
2
3
4
5
6
fe80开头就像169.254.x.x,是这个网段里没人给你分ip,自动协商的地址,其地址不能在网络上路由,也就是说,通常无法用于上网
现在各大运营商用的ipv6
电信是240e开头的(240e::/20)
移动是2409开头的(2409:8000::/20)
联通是2408开头的(2408:8000::/20)
其他一些标记有teredo也不是原生ipv6

python拉取elk的数据

使用python中的elasticsearch模块拉取数据,注意elasticsearch模块的版本要与ekl的版本一致(大版本上)

获取elk的服务信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@Fish ~]# curl 192.168.3.111:9200
{
"name" : "elk-masterX",
"cluster_name" : "XXX",
"cluster_uuid" : "XXX",
"version" : {
"number" : "7.5.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "e9ccaed468e2fac2275a3761849",
"build_date" : "2021-11-26T01:06:52.518XXXX",
"build_snapshot" : false,
"lucene_version" : "8.3.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}

如果elk使用https证书认证

使用如下方法获取elk信息

Read More

systemctl,Systemd 入门教程

简介

Systemd 入门教程:命令篇

systemctl命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
systemctl list-units            ##列出当前系统服务的状态

systemctl list-unit-files ##列出服务的开机状态

systemctl status sshd ##查看指定服务的状态

systemctl stop sshd ##关闭指定服务

systemctl start sshd ##开启指定服务

systemctl restart sshd ##从新启动服务

systemctl enable sshd ##设定指定服务开机开启

systemctl disable sshd ##设定指定服务开机关闭

systemctl reload sshd ##使指定服务从新加载配置

systemctl list-dependencies sshd ##查看指定服务的倚赖关系

systemctl mask sshd ##冻结指定服务

systemctl unmask sshd ##启用服务

systemctl set-default multi-user.target ##开机不开启图形

systemctl set-default graphical.target ##开机启动图形

服务状态

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
loaded             ##系统服务已经初始化完成,加载过配置

active(running) ##正有一个或多个程序正在系统中执行, vsftpd就是这种模式

atcive(exited) ##僅執行一次就正常結束的服務, 目前並沒有任何程序在系統中執行

atcive(waiting) ##正在執行當中,不過還再等待其他的事件才能继续处理

inactive ##服务关闭

enbaled ##服务开机启动

disabled ##服务开机不自启

static ##服务开机启动项不可被管理

failed ##系统配置错误

shell并发操作

普通多进程

原理

shell中实现并发,就是把循环体的命令用&符号放入后台运行,1000个任务就会并发1000个线程,运行时间2s左右,比起方案一的1000s,已经非常快了。

例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
# bam to bed

date # 脚本开始时间

for ((i=1;i<=1000;i++))
do
{
sleep 1 #sleep 1用以模仿执行一条命令需要花费的时间(可以用真实命令来代替)
echo 'success'$i;
}& #用{}把循环体括起来,后加一个&符号,代表每次循环都把命令放入后台运行
#一旦放入后台,就意味着{}里面的命令交给操作系统的一个线程处理了
#循环了1000次,就有1000个&将任务放入后台,操作系统会并发1000个线程来处理
done
wait #wait命令表示。等待上面的命令(放入后台的任务)都执行完毕了再往下执行

date # 脚本结束时间

使用FIFO实现“多进程”

可以控制每次并发的数量

原理

先新建一个FIFO,写入一些字符。一个进程开始前会先从这个FIFO中读走一个字符,执行完之后再写回一个字符。如果FIFO中没有字符,该线程就会等待,fifo就成了一个锁。

Read More