Linux LVM(逻辑卷管理器)

2023-10-27

目录

一、LVM

1.1、安装lvm工具

1.2、创建逻辑卷:

1.2.1、环境准备

1.2.2、创建pv(Physical volume物理卷)

1.2.3、创建VG(Volume group 卷组)

1.2.4、创建LV(Logical volume逻辑卷)

1.2.5、格式化LV,创建文件系统

1.2.6、挂载lv

1.3、扩容逻辑卷

1.3.1、假如VG还有足够空间可分配时,直接分配即可

1.3.2、如果VG没有足够空间可分配,则先创建PV,扩容卷组(VG)后再扩容逻辑卷(LV)

1.4、缩小逻辑卷

1.4.1、迁移数据

1.4.2、缩小逻辑卷

1.5、删除逻辑卷

1.5.1、取消逻辑卷与目录的挂载关联,删除配置文件中永久生效的设备参数。

1.5.2、删除逻辑卷设备

1.5.3、删除卷组,此处只写卷组名称即可,不需要设备的绝对路径

1.5.4、删除物理卷设备

1.6、逻辑卷快照

1.6.1、使用-s 参数生成一个快照卷,使用-L 参数指定切割的大小。另外,还需要在命令后面写上是针对哪个逻辑卷执行的快照操作

1.6.2、在逻辑卷所挂载的目录中创建一个 100MB 的垃圾文件,然后再查看快照卷的状态。可以发现存储空间占的用量上升了

1.6.3、为了校验 kuaizhao 快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载掉逻辑卷设备与目录的挂载

1.6.4、快照卷会被自动删除掉,并且刚刚在逻辑卷设备被执行快照操作后再创建出来的 100MB 的垃圾文件也被清除了。


 

 

传统分区的问题:

  1. 如果分区空间用满了,只能重新分区。
  2. 解决方案:加一个逻辑(软件)中间层。

 

以下有三个解决方案(逻辑层):

  1. LVM,老牌的,很成熟,可以实现在线动态扩展(不能实现高可用)。
  2. stratis,使用精简文件系统来解决空间浪费问题。

3、vdo

一、LVM

  1. fs (file system文件系统)
  2. lv (logical volume 逻辑卷):每个卷组中可以定义一个或多个逻辑卷,逻辑卷是位于物理分区上的信息集合。
  3. vg (volume group 卷组):卷组是可用物理硬盘的集合,可以逻辑地看成一块大硬盘,一个卷组由一个或多个物理卷组成。
  4. pv (physical volume物理卷):物理卷是底层真正提供容量,一个物理卷可以是整个磁盘、或磁盘上的分区。
  5. PE  (Physical Extend),我们的LVM磁盘管理中PE的默认大小是4M大小(可以指定大小),其实PE就是我们逻辑卷管理的最基本单位(一旦确定将不能改变)。比如说我有一个400M的硬盘,那么在将其格式化成PV的时候,其实际就是将这块物理硬盘划分成了100个的PE,因为PE默认的大小就是4M。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_20,color_FFFFFF,t_70,g_se,x_16

    dm: device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块;

       /dev/dm-#

1.1、安装lvm工具

# yum install lvm2

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_20,color_FFFFFF,t_70,g_se,x_16

 

常用的 LVM 部署命令

功能/命令      物理卷管理     卷组管理        逻辑卷管理

扫描            pvscan          vgscan          lvscan

建立            pvcreate        vgcreate       lvcreate

显示            pvdisplay       vgdisplay      lvdisplay

删除            pvremove        vgremove         lvremove

扩展            vgextend        lvextend

缩小            vgreduce        lvreduce

 

 

1.2、创建逻辑卷:

1.2.1、环境准备

  1. 使用一块硬盘的两个分区 /dev/sdb2 /dev/sdb3
  2. 或者两个硬盘/dev/sdb 、 /dev/sdc

1.2.2、创建pv(Physical volume物理卷)

在分区或磁盘内写入一段元数据(标识当前分区或磁盘是一个pv)

# pvcreate /dev/sdb2 /dev/sdb3

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_20,color_FFFFFF,t_70,g_se,x_16

如果报错: 

Device /dev/sdb excluded by a filter.

Device /dev/sdc excluded by a filter.

可能是因为此硬盘已经分区,存在分区表

 

查看创建的pv

1、# pvs

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_9,color_FFFFFF,t_70,g_se,x_16

 

2、# pvdisplay

 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_15,color_FFFFFF,t_70,g_se,x_16

 

 

1.2.3、创建VG(Volume group 卷组)

将指定的PV,逻辑上进行组合成一个大的存储池

  1. -s 参数,可指定PE大小,默认为4MB

把两块硬盘设备加入到fantest 卷组中,然后查看卷组的状态

# vgcreate fantest /dev/sdb2 /dev/sdb3

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_13,color_FFFFFF,t_70,g_se,x_16

 

查看创建的VG

  1. # vgs

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_9,color_FFFFFF,t_70,g_se,x_16

 

2、# vgdisplay

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_16,color_FFFFFF,t_70,g_se,x_16

1.2.4、创建LV(Logical volume逻辑卷)

切割出一个约为 150MB 的逻辑卷设备,这里需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位。

  1. -L参数:第一种是以容量为单位,所使用的参数为-L。例如,使用-L 150M 生成一个大小为 150MB 的逻辑卷。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_12,color_FFFFFF,t_70,g_se,x_16

 

  1. -l参数:另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为 4MB。例如,使用-l 37 可以生成一个大小为 37×4MB=148MB 的逻辑卷。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_12,color_FFFFFF,t_70,g_se,x_16

  1. 使用所有空闲空间:lvcreate -n opt -l 100%FREE centos

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_19,color_FFFFFF,t_70,g_se,x_16

 

查看LV:

1、# lvs

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_19,color_FFFFFF,t_70,g_se,x_16

 

2、# lvdisplay

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_16,color_FFFFFF,t_70,g_se,x_16

 

1.2.5、格式化LV,创建文件系统

把生成好的逻辑卷进行格式化,创建文件系统

# mkfs -t xfs /dev/fantest/lv01

或者

# mkfs.ext4 /dev/fantest/lv01

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_18,color_FFFFFF,t_70,g_se,x_16

1.2.6、挂载lv

创建一个目录,用于挂载lv:

# mkdir /home/lv01

# mount /dev/fantest/lv01 /home/lv01

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_14,color_FFFFFF,t_70,g_se,x_16

 

把挂载信息写入到配置文件,使其永久生效

# echo "/dev/fantest/lv01 /home/lv01 xfs defaults 0 0" >> /etc/fstab

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

 

1.3、扩容逻辑卷

1.3.1、假如VG还有足够空间可分配时,直接分配即可

只要卷组(VG)中有足够的资源,就可以一直为逻辑卷(LV)扩容。

 

1.3.1.1、查看VG的资源情况

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_16,color_FFFFFF,t_70,g_se,x_16

 

1.3.1.2、逻辑卷扩容

1.3.1.2.1、-l参数:另外一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为 4MB。例如,使用-l 37 可以生成一个大小为 37×4MB=148MB 的逻辑卷

具体操作与-L参数相似,参考下方办法即可

 

1.3.1.2.2、-L参数:是以容量为单位,所使用的参数为-L。例如,使用-L 150M 生成一个大小为 150MB 的逻辑卷。

 

>> 先查看未扩容前,逻辑卷资源占用情况

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_20,color_FFFFFF,t_70,g_se,x_16

 

执行以下命令,扩容逻辑卷(LV):

# lvextend -L +100M /dev/fantest/lv01

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_20,color_FFFFFF,t_70,g_se,x_16

 

执行以下命令,扩容xfs文件系统 或者在lvextend 命令中加入-r 参数

# xfs_growfs /home/lv01

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_19,color_FFFFFF,t_70,g_se,x_16

 

 

 

1.3.2、如果VG没有足够空间可分配,则先创建PV,扩容卷组(VG)后再扩容逻辑卷(LV)

扩展前查看资源情况

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_15,color_FFFFFF,t_70,g_se,x_16

 

先创建pv

# pvcreate /dev/sdb4

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_11,color_FFFFFF,t_70,g_se,x_16

 

扩容VG

# vgextend fantest /dev/sdb4

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_11,color_FFFFFF,t_70,g_se,x_16

 

 

1.4、缩小逻辑卷

相较于扩容逻辑卷,在对逻辑卷进行缩容操作时,其丢失数据的风险更大。所以在生产

环境中执行相应操作时,一定要提前备份好数据。另外 Linux 系统规定,在对 LVM 逻辑卷进行缩容操作之前,要先检查文件系统的完整性(当然这也是为了保证我们的数据安全)。在执行缩容操作前记得先把文件系统卸载掉。

tips:缩小逻辑卷时,剩余的空间大小必须为一个PV的大小以上

 

1.4.1、迁移数据

这里拿/home 测试,先将/home下内容备份删除,并卸载/home

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_14,color_FFFFFF,t_70,g_se,x_16

注意:如果出现以下情况,可用此命令查看目录占用情况fuser -mv /home

 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_10,color_FFFFFF,t_70,g_se,x_16

1.4.2、缩小逻辑卷

1.4.2.1、ext文件系统

将逻辑卷大小调整为10G

# resize2fs /dev/centos/home 10G

resize2fs命令是用来增大或者收缩未加载的“ext2/ext3/ext4”文件系统的大小

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_19,color_FFFFFF,t_70,g_se,x_16

 

1.4.2.2、xfs文件系统

缩小home 逻辑卷的大小为3G

# lvreduce -L 3G /dev/centos/home

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_20,color_FFFFFF,t_70,g_se,x_16

 

把生成好的逻辑卷进行格式化,创建文件系统

# mkfs.xfs -f  /dev/centos/home

 

 

 

 

 

1.5、删除逻辑卷

当生产环境中想要重新部署 LVM 或者不再需要使用 LVM 时,则需要执行 LVM 的删除

操作。为此,需要提前备份好重要的数据信息,然后依次删除逻辑卷、卷组、物理卷设备,这个顺序不可颠倒。

1.5.1、取消逻辑卷与目录的挂载关联,删除配置文件中永久生效的设备参数。

# umount /home/lv01

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_14,color_FFFFFF,t_70,g_se,x_16

 

# vi /etc/fstab

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

1.5.2、删除逻辑卷设备

# lvremove /dev/fantest/lv01

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_20,color_FFFFFF,t_70,g_se,x_16

1.5.3、删除卷组,此处只写卷组名称即可,不需要设备的绝对路径

# vgremove fantest

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_20,color_FFFFFF,t_70,g_se,x_16

 

1.5.4、删除物理卷设备

# pvremove /dev/sdb3 /dev/sdb

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Yqq5Yqb5a2m5Lmg56C05aSp6I2S,size_13,color_FFFFFF,t_70,g_se,x_16

 

 

1.6、逻辑卷快照

LVM 的快照卷功能有两个特点:

➢ 快照卷的容量必须等同于逻辑卷的容量;

➢ 快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。

 

1.6.1、使用-s 参数生成一个快照卷,使用-L 参数指定切割的大小。另外,还需要在命令后面写上是针对哪个逻辑卷执行的快照操作

 

# lvcreate -L 100M -s -n kuaizhao /dev/fantest/fan

 

1.6.2、在逻辑卷所挂载的目录中创建一个 100MB 的垃圾文件,然后再查看快照卷的状态。可以发现存储空间占的用量上升了

 

#dd if=/dev/zero of=/home/lvm_test/test.txt count=1 bs=100M

 

 

1.6.3、为了校验 kuaizhao 快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载掉逻辑卷设备与目录的挂载

#umount /home/lvm_test

如果报错:

umount: /home/lvm_test: target is busy.

        (In some cases useful info about processes that use

         the device is found by lsof(8) or fuser(1))

 

可能是有用户正在占用目录

#lvconvert --merge /dev/fantest/kuaizhao

 

1.6.4、快照卷会被自动删除掉,并且刚刚在逻辑卷设备被执行快照操作后再创建出来的 100MB 的垃圾文件也被清除了。

#mount  /dev/fantest/fan /home/lvm_test

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux LVM(逻辑卷管理器) 的相关文章

  • 如何制作和应用SVN补丁?

    我想制作一个SVN类型的补丁文件httpd conf这样我就可以轻松地将其应用到其他主机上 If I do cd root diff Naur etc httpd conf httpd conf original etc httpd con
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • 在Linux上编译C# + WPF以便在Windows上运行

    我有一个 C 应用程序 其中某些部分是使用 WPF 编写的 Mono 不支持 可以在 Linux 上编译这个应用程序吗 最终 该应用程序将在 Windows 上运行 但它是更大框架的一部分 并且我们的整个构建过程在 Linux 上运行 因此
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • Linux中的CONFIG_OF是什么?

    我看到它在很多地方被广泛使用 但不明白在什么场景下我需要使用它 What is 配置 OF OF 的全名是什么 打开固件 这是很久以前发明的 当时苹果公司正在生产基于 PowerPC CPU 的笔记本电脑 而 Sun Microsystem
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • 从 Python 调用 PARI/GP

    我想打电话PARI GP http pari math u bordeaux fr dochtml gpman html仅从Python计算函数nextprime n 对于不同的n是我定义的 不幸的是我无法得到帕里蟒蛇 http code
  • Android 时钟滴答数 [赫兹]

    关于 proc pid stat 中应用程序的总 CPU 使用率 https stackoverflow com questions 16726779 total cpu usage of an application from proc
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 如何在 Linux shell 中将十六进制转换为 ASCII 字符?

    假设我有一个字符串5a 这是 ASCII 字母的十六进制表示Z 我需要找到一个 Linux shell 命令 它将接受一个十六进制字符串并输出该十六进制字符串代表的 ASCII 字符 所以如果我这样做 echo 5a command im

随机推荐

  • MongoDB.WebIDE:升级版的Mongodb管理工具

    很早以前收藏了一片文章 强大的MongoDB数据库管理工具 最近刚好要做一些MongoDB方面的工作 于是翻出来温习了一下 用起来也确实挺方便 不过在使用过程中出现了一些个问题 加上更喜欢MongoUVE的操作习惯 于是决定 自己动手 丰衣
  • Java之object和string的理解

    Java之object和string的理解 文章链接http blog csdn net qq 16628781 article details 65036244 知识点 栈区 堆区和方法区 object类clone 和qeuales 方法
  • dubbo之mock模拟

    1 写在前面 考虑这样的场景 当服务提供者还没有开发完毕或者是因为某些原因无法启动时 会导致服务消费者方的停滞 此时为了能够正常的开发测试 可以使用mock功能 在服务消费者端提供一个服务接口的mock实现类 来模拟调用服务提供者正常获取结
  • RCE高危漏洞预警:CVE-2021-40444简要分析

    漏洞影响及其危害 未经身份验证的攻击者可以利用该漏洞在目标系统上执行代码 Microsoft发布了一份关于此漏洞的官方公告 这篇博客文章讨论了该漏洞如何发挥作用 我们已获得多个利用此漏洞的文档样本 文档包中的document xml rel
  • JSONP 教程

    本章节我们将向大家介绍 JSONP 的知识 Jsonp JSON with Padding 是 json 的一种 使用模式 可以让网页从别的域名 网站 那获取资料 即跨域读取数据 为什么我们从不同的域 网站 访问数据需要一个特殊的技术 JS
  • CTFHUBWeb技能树——信息泄露writeup

    web之信息泄露 一 目录遍历 二 PHPINFO 三 备份文件下载 1 网站源码 2 bak文件 3 Vim缓存 4 DS Store 四 Git泄露 1 Log 2 Stash 3 Index 五 SVN泄露 六 HG泄露 一 目录遍历
  • 一口气用Python写了13个小游戏(附源码)

    今天给大家分享13个游戏源码 可以自己复现玩玩 研究下里面的编程逻辑 对学习编程 特别是初学者 应该会有很大帮助 1 吃金币 源码分享 import os import cfg import sys import pygame import
  • 做自媒体创作,这些坑你都踩过吗?快来避雷

    做自媒体以来 我经历过不少误区 走了很多弯路才觉悟出来 这里分享给大家 看看你有没有踩坑 1 不要把涨粉放在第一位 粉丝多少不是关键 20万粉丝的创作者我也有接触 几乎无变现能力 2 标题和封面的重要性 我以前愿意花几个小时写一篇文章 或者
  • nginx脚本

    将wget下载nginx 1 22 0 tar gz包 直接复制到文本中 添加执行权限 chmod 744 脚本名称 脚本名称或sh 脚本名称 执行脚本 bin bash shijian 20220717 xingming zs echo
  • Linux基础笔记

    文章目录 一 Linux目录结构 二 vi 和 vim 1 三种方式 2 基础操作 三 Linux基础命令 1 关机 重启 2 登录 注销 3 用户管理 4 运行级别 5 帮助指令 6 文件目录指令 7 压缩 解压 8 组管理 9 权限管理
  • Python大神给免费分享一个爬取12306火车票例子(附源码)

    上面是以前写的文章的资源 在以前的文章中有对应的资源 有兴趣的可以去查看 作为一种便捷地收集网上信息并从中抽取出可用信息的方式 网络爬虫技术变得越来越有用 使用Python这样的简单编程语言 你可以使用少量编程技能就可以爬取复杂的网站 如果
  • vue中使用video插件vue-video-player

    进入我们的项目文件夹中 并打开命令行窗口 然后进行下面的步骤 1 安装vue video player 输入命令 npm install vue video player S 2 引入插件 在项目的入口文件main js中引入插件 如下 i
  • synopsys-SDC第六章——生成时钟

    synopsys SDC第六章 生成时钟 时钟派生方式 create generated clock edge divide multiply edge shift 多同源时钟 使能组合路径 其他注意事项 之前准备了一段时间的秋招 好久没有
  • java接入apiv3微信小程序支付(以java的eladmin框架为例)

    一 需要准备的资料 1 小程序AppID 如 wx2e56f5 2 商户号 如 1641 3 商户API私钥路径 什么是商户API证书 如何获取商户API证书 获取文件如下图 如 本地路径 E Env eladmin cert c2 api
  • 构造函数属性为protected或者private时

    在c 中 不仅限于c 一个函数被声明为protected或者private时 那也就意味着不能被外部直接调用了 类的成员函数add 是private class cla private int add int a int b return
  • ESP8266常见问题

    转载于 ESP8266常见问题解答 http bbs eeworld com cn thread 506728 1 1 html 出处 电子工程世界 论坛 1 为什么ESP8266 TCP透传过程会丢包 因为没有设置硬件流控 如果需要避免丢
  • matlab极简入门教程(二)

    在matlab中只有一个唯一的数据结构 矩阵 在matlab中 所有设置的变量都是区分大小写的 在matlab中有时输入的算式很长 直接写在一行里的不够美观 matlab提供了续行的符号 可以在下一行继续输入算式 使用时加在行的末尾 例如
  • Python自动化测试工具有哪些?哪一个更适合你呢?

    目录 前言 Web UI test automation Web UI 自动化 Mobile test automation 移动端自动化测试工具 Windows UI test automation Windows的UI测试工具 Unix
  • 2020版本unity无法打开VS居然是因为项目使用中文名?

    unity打不开VS居然是因为使用中文项目名称 时间仓促手机拍照凑合着看 平时大多数时候都使用英文名称 今天偶然想用中文名 捣鼓半天 到创建脚本的时候发现无法正常打开VS 用中文项目名称 双击脚本要么直接没反应 要么卡在Applicatio
  • Linux LVM(逻辑卷管理器)

    目录 一 LVM 1 1 安装lvm工具 1 2 创建逻辑卷 1 2 1 环境准备 1 2 2 创建pv Physical volume物理卷 1 2 3 创建VG Volume group 卷组 1 2 4 创建LV Logical vo