当前位置: 首页 > news >正文

【Linux】ext4和xfs扩大,缩小lv后,无法识别如何操作

虚拟机系统异常,挂载到其他环境如何修复系统盘

1、环境

UOS 1060E x86环境

模拟异常环境:

1060e系统,使用lvm缩小磁盘后,出现异常,将异常磁盘挂载到其他服务器中,但存在问题发现有uuid相同的问题。

为了模拟uuid相同的环境,将1060e克隆一台作为后续用到正常服务器,用来修复缩小lvm的磁盘。

2、扩大磁盘容量

分为ext2/3/4和xfs格式介绍

2.1ext2/3/4 文件系统扩大容量

2.1.1 格式化/dev/mapper/uos-home分区为ext4
[root@localhost ~]# mkfs.ext4 /dev/mapper/uos-home 
mke2fs 1.45.6 (20-Mar-2020)/dev/mapper/uos-home 有一个 xfs 文件系统
Proceed anyway? (y,N) y      
丢弃设备块: 完成                            
创建含有 3940352 个块(每块 4k)和 985424 个inode的文件系统
文件系统UUID:963b5b45-e155-45a9-ac6f-7db7cc01a7f5
超级块的备份存储于下列块: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成 

查看分区是否格式化完成

[root@localhost ~]#[root@localhost ~]# lsblk -f
NAME         FSTYPE      FSVER            LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINT
sda                                                                                                   
├─sda1       xfs                                e4356284-de10-45e9-9ae4-f90c5878e6c3      764M    25% /boot
└─sda2       LVM2_member LVM2 001               MxbhcK-JuR6-LtGk-Rsef-65Yk-vpKP-5XcTFq                ├─uos-root xfs                                34947cbf-6e30-48d1-98ff-c5386125c459     60.3G    14% /├─uos-swap swap        1                      006999f3-9198-49d8-9a46-ecf42065b671                  [SWAP]└─uos-home ext4        1.0                    963b5b45-e155-45a9-ac6f-7db7cc01a7f5                  
sr0          iso9660     Joliet Extension UOS   2023-06-06-20-28-34-00                       0   100% /media/root/UOS

可以使用上述的命令看到uos-home 已经为ext4格式了

2.1.2 扩容uos-home分区

查看初始大小

[root@localhost ~]# lvdisplay  /dev/uos/home --- Logical volume ---LV Path                /dev/uos/homeLV Name                homeVG Name                uosLV UUID                BBuhBP-Lcbc-DR0W-GsJx-u3iU-n1hu-oePjnbLV Write Access        read/writeLV Creation host, time localhost.localdomain, 2023-08-01 15:14:01 +0800LV Status              available# open                 0LV Size                15.03 GiBCurrent LE             3848Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:2

初始大小为15G,扩容到20G

[root@localhost ~]# lvextend -L +5G /dev/uos/homeSize of logical volume uos/home changed from 15.03 GiB (3848 extents) to 20.03 GiB (5128 extents).Logical volume uos/home successfully resized.

正常情况是更新完继续执行resize2fs命令,但为了看到具体效果,先挂载后执行,更明显。

[root@localhost ~]# mount /dev/uos/home /home/
[root@localhost ~]# df -h
文件系统              容量  已用  可用 已用% 挂载点
devtmpfs              1.7G     0  1.7G    0% /dev
tmpfs                 1.7G   12K  1.7G    1% /dev/shm
tmpfs                 1.7G   18M  1.7G    1% /run
tmpfs                 1.7G     0  1.7G    0% /sys/fs/cgroup
/dev/mapper/uos-root   70G  9.8G   61G   14% /
tmpfs                 1.7G   44K  1.7G    1% /tmp
/dev/sda1            1014M  251M  764M   25% /boot
tmpfs                 342M   28K  342M    1% /run/user/0
/dev/sr0              7.8G  7.8G     0  100% /media/root/UOS
/dev/mapper/uos-home   15G   24K   14G    1% /home
[root@localhost ~]# lvs /dev/uos/home LV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Converthome uos -wi-ao---- 20.03g  

通过上述命令看到并没有识别最新扩容的大小
通过resize2fs后,系统可正常识别。

[root@localhost ~]# resize2fs /dev/mapper/uos-home 
resize2fs 1.45.6 (20-Mar-2020)
/dev/mapper/uos-home 上的文件系统已被挂载于 /home;需要进行在线调整大小old_desc_blocks = 2, new_desc_blocks = 3
/dev/mapper/uos-home 上的文件系统现在为 5251072 个块(每块 4k)。

再次查看大小,可看到20G

[root@localhost ~]# df -h
文件系统              容量  已用  可用 已用% 挂载点
devtmpfs              1.7G     0  1.7G    0% /dev
tmpfs                 1.7G   12K  1.7G    1% /dev/shm
tmpfs                 1.7G   18M  1.7G    1% /run
tmpfs                 1.7G     0  1.7G    0% /sys/fs/cgroup
/dev/mapper/uos-root   70G  9.8G   61G   14% /
tmpfs                 1.7G   44K  1.7G    1% /tmp
/dev/sda1            1014M  251M  764M   25% /boot
tmpfs                 342M   28K  342M    1% /run/user/0
/dev/sr0              7.8G  7.8G     0  100% /media/root/UOS
/dev/mapper/uos-home   20G   24K   19G    1% /home

2.2 xfs文件系统扩大容量

2.2.1 格式化为xfs

为了保证测试环境相同,将上述实验文件/dev/mapper/uos-home格式化成xfs

[root@localhost ~]# mkfs.xfs  /dev/mapper/uos-home -f
meta-data=/dev/mapper/uos-home   isize=512    agcount=4, agsize=131072 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1
data     =                       bsize=4096   blocks=524288, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Discarding blocks...Done.

查看大小

[root@localhost ~]# lsblk  -f
NAME         FSTYPE      FSVER            LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINT
sda                                                                                                   
├─sda1       xfs                                e4356284-de10-45e9-9ae4-f90c5878e6c3      764M    25% /boot
└─sda2       LVM2_member LVM2 001               MxbhcK-JuR6-LtGk-Rsef-65Yk-vpKP-5XcTFq                ├─uos-root xfs                                34947cbf-6e30-48d1-98ff-c5386125c459     60.2G    14% /├─uos-swap swap        1                      006999f3-9198-49d8-9a46-ecf42065b671                  [SWAP]└─uos-home xfs                                e59374fe-16cc-4bf0-87ae-d8a755ddf924                  
sr0          iso9660     Joliet Extension UOS   2023-06-06-20-28-34-00                       0   100% /media/root/UOS
[root@localhost ~]# lvsLV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Converthome uos -wi-a-----  2.00g                                                    root uos -wi-ao---- 70.00g                                                    swap uos -wi-ao----  3.96g  
2.2.2 扩容文件
[root@localhost ~]# lvextend -L +8G /dev/uos/homeSize of logical volume uos/home changed from 2.00 GiB (512 extents) to 10.00 GiB (2560 extents).Logical volume uos/home successfully resized.### 识别到10G大小
[root@localhost ~]# lvsLV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Converthome uos -wi-a----- 10.00g                                                    root uos -wi-ao---- 70.00g                                                    swap uos -wi-ao----  3.96g                                                    

执行xfs_growfs 必须挂载后生效

[root@localhost ~]# xfs_growfs /dev/mapper/uos-home 
xfs_growfs: /dev/mapper/uos-home is not a mounted XFS filesystem

挂载后执行xfs_growfs成功

[root@localhost ~]# mount /dev/mapper/uos-home /home
[root@localhost ~]# xfs_growfs /dev/mapper/uos-home 
meta-data=/dev/mapper/uos-home   isize=512    agcount=4, agsize=131072 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1
data     =                       bsize=4096   blocks=524288, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 524288 to 2621440
[root@localhost ~]# df -h
文件系统              容量  已用  可用 已用% 挂载点
devtmpfs              1.7G     0  1.7G    0% /dev
tmpfs                 1.7G   12K  1.7G    1% /dev/shm
tmpfs                 1.7G   18M  1.7G    1% /run
tmpfs                 1.7G     0  1.7G    0% /sys/fs/cgroup
/dev/mapper/uos-root   70G  9.8G   61G   14% /
tmpfs                 1.7G   44K  1.7G    1% /tmp
/dev/sda1            1014M  251M  764M   25% /boot
tmpfs                 342M   24K  342M    1% /run/user/0
/dev/sr0              7.8G  7.8G     0  100% /media/root/UOS
/dev/mapper/uos-home   10G  105M  9.9G    2% /home

3、缩小磁盘容量

也是区分ext2/3/4和xfs两种做法

注意: xfs文件系统中,缩小系统后,分区会异常,只能通过mkfs命令格式化后使用。

3.1 ext2/3/4 缩减容量

3.1.1 查看磁盘分区大小
[root@localhost ~]# lvs /dev/uos/home LV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Converthome uos -wi-ao---- 20.03g                                                    
[root@localhost ~]# df -hT
文件系统             类型      容量  已用  可用 已用% 挂载点
devtmpfs             devtmpfs  1.7G     0  1.7G    0% /dev
tmpfs                tmpfs     1.7G   12K  1.7G    1% /dev/shm
tmpfs                tmpfs     1.7G   18M  1.7G    1% /run
tmpfs                tmpfs     1.7G     0  1.7G    0% /sys/fs/cgroup
/dev/mapper/uos-root xfs        70G  9.8G   61G   14% /
tmpfs                tmpfs     1.7G   44K  1.7G    1% /tmp
/dev/sda1            xfs      1014M  251M  764M   25% /boot
tmpfs                tmpfs     342M   28K  342M    1% /run/user/0
/dev/sr0             iso9660   7.8G  7.8G     0  100% /media/root/UOS
/dev/mapper/uos-home ext4       20G   24K   19G    1% /home
3.2.1 检查分区是否有坏块
[root@localhost ~]# e2fsck -f /dev/mapper/uos-home
e2fsck 1.45.6 (20-Mar-2020)1 步:检查inode、块和大小
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
/dev/mapper/uos-home:11/979200 文件(0.0% 为非连续的), 104484/3932160 块
3.1.3 重新分配大小
[root@localhost ~]# resize2fs /dev/mapper/uos-home 5G         ###后面添加的5G是后续缩小之后的大小,也就是将磁盘缩小到5G大小
resize2fs 1.45.6 (20-Mar-2020)
将 /dev/mapper/uos-home 上的文件系统调整为 1310720 个块(每块 4k)。
/dev/mapper/uos-home 上的文件系统现在为 1310720 个块(每块 4k)
3.1.4 缩小lv
[root@localhost ~]# lvreduce -L 5G /dev/uos/homeWARNING: Reducing active logical volume to 5.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce uos/home? [y/n]: ySize of logical volume uos/home changed from 15.00 GiB (3840 extents) to 5.00 GiB (1280 extents).Logical volume uos/home successfully resized.

检查是否缩小成功

[root@localhost ~]# lvsLV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Converthome uos -wi-a-----  5.00g                                                    root uos -wi-ao---- 70.00g                                                    swap uos -wi-ao----  3.96g                                                    
[root@localhost ~]# lsblk  -f
NAME         FSTYPE      FSVER            LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINT
sda                                                                                                   
├─sda1       xfs                                e4356284-de10-45e9-9ae4-f90c5878e6c3      764M    25% /boot
└─sda2       LVM2_member LVM2 001               MxbhcK-JuR6-LtGk-Rsef-65Yk-vpKP-5XcTFq                ├─uos-root xfs                                34947cbf-6e30-48d1-98ff-c5386125c459     60.2G    14% /├─uos-swap swap        1                      006999f3-9198-49d8-9a46-ecf42065b671                  [SWAP]└─uos-home ext4        1.0                    ffd35347-260e-47c6-8462-c3a95488f600                  
sr0          iso9660     Joliet Extension UOS   2023-06-06-20-28-34-00                       0   100% /media/root/UOS
[root@localhost ~]# mount /dev/mapper/uos-home /home/
[root@localhost ~]# df -h
文件系统              容量  已用  可用 已用% 挂载点
devtmpfs              1.7G     0  1.7G    0% /dev
tmpfs                 1.7G   12K  1.7G    1% /dev/shm
tmpfs                 1.7G   18M  1.7G    1% /run
tmpfs                 1.7G     0  1.7G    0% /sys/fs/cgroup
/dev/mapper/uos-root   70G  9.8G   61G   14% /
tmpfs                 1.7G   44K  1.7G    1% /tmp
/dev/sda1            1014M  251M  764M   25% /boot
tmpfs                 342M   24K  342M    1% /run/user/0
/dev/sr0              7.8G  7.8G     0  100% /media/root/UOS
/dev/mapper/uos-home  4.8G   24K  4.5G    1% /home

注意:ext4扩大/缩小分区的顺序不同

  • 扩大是lvextend->e2fsck -f -> resize2fs
  • 缩小是e2fsck -f -> resize2fs -> lvreduce

缩小的顺序如果错误,mount的时候,会提示如下内容

[root@localhost ~]# lvreduce -L 2G /dev/uos/homeWARNING: Reducing active logical volume to 2.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce uos/home? [y/n]: ySize of logical volume uos/home changed from 5.00 GiB (1280 extents) to 2.00 GiB (512 extents).Logical volume uos/home successfully resized.
[root@localhost ~]# resize2fs /dev/mapper/uos-home 
resize2fs 1.45.6 (20-Mar-2020)
请先运行“e2fsck -f /dev/mapper/uos-home”。[root@localhost ~]# e2fsck -f /dev/mapper/uos-home 
e2fsck 1.45.6 (20-Mar-2020)
根据超级块,文件系统的大小应为 1310720 块s
但设备的实际大小是 524288 块s
超级块或分区表可能已经损坏!
中断<y>? 是
[root@localhost ~]# mount /dev/mapper/uos-home /home/
mount: /home: 文件系统类型错误、选项错误、/dev/mapper/uos-home 上有坏超级块、缺少代码页或帮助程序或其他错误.

顺序错了,会有不必要风险,所以建议缩小文件前,务必备份完整数据

3.2 xfs缩减容量

可以看出xfs_growfs 无法识别缩小后的分区。

[root@localhost ~]# xfs_growfs /dev/mapper/uos-home
xfs_growfs: /dev/mapper/uos-home is not a mounted XFS filesystem
[root@localhost ~]# lvreduce -L 5G /dev/uos/homeWARNING: Reducing active logical volume to 5.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce uos/home? [y/n]: ySize of logical volume uos/home changed from 10.00 GiB (2560 extents) to 5.00 GiB (1280 extents).Logical volume uos/home successfully resized.
[root@localhost ~]# xfs_growfs /dev/mapper/uos-home
xfs_growfs: /dev/mapper/uos-home is not a mounted XFS filesystem
[root@localhost ~]# mount /dev/mapper/uos-home /home
mount: /home: 无法读取 /dev/mapper/uos-home 上的超级块

如果需要缩减容量,可以按照下面的方法操作:

3.2.1 备份数据
### 这里备份的是/home下的文件,以实际情况为准
cp -r /home/* /backup/home_backup/
3.2.2 缩小磁盘空间
[root@localhost ~]# lvreduce -L 5G /dev/uos/homeWARNING: Reducing active logical volume to 5.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce uos/home? [y/n]: ySize of logical volume uos/home changed from 15.00 GiB (3840 extents) to 5.00 GiB (1280 extents).Logical volume uos/home successfully resized.
3.2.3 识别缩小空间
[root@localhost ~]# xfs_growfs /dev/mapper/uos-home 
xfs_growfs: /dev/mapper/uos-home is not a mounted XFS filesystem[root@localhost ~]# mount /dev/mapper/uos-home /home/
mount: /home: 无法读取 /dev/mapper/uos-home 上的超级块.

通过其他命令确认lvm中已经缩小空间了,但是没有命令可以识别到

[root@localhost ~]# lvsLV   VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Converthome uos -wi-a-----  5.00g                                                    root uos -wi-ao---- 70.00g                                                    swap uos -wi-ao----  3.96g                                                    
[root@localhost ~]# lsblk 
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda            8:0    0  100G  0 disk 
├─sda1         8:1    0    1G  0 part /boot
└─sda2         8:2    0   99G  0 part ├─uos-root 253:0    0   70G  0 lvm  /├─uos-swap 253:1    0    4G  0 lvm  [SWAP]└─uos-home 253:2    0    5G  0 lvm  
sr0           11:0    1  7.8G  0 rom  /media/root/UOS
[root@localhost ~]# lsblk -f
NAME         FSTYPE      FSVER            LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINT
sda                                                                                                   
├─sda1       xfs                                e4356284-de10-45e9-9ae4-f90c5878e6c3      764M    25% /boot
└─sda2       LVM2_member LVM2 001               MxbhcK-JuR6-LtGk-Rsef-65Yk-vpKP-5XcTFq                ├─uos-root xfs                                34947cbf-6e30-48d1-98ff-c5386125c459     60.2G    14% /├─uos-swap swap        1                      006999f3-9198-49d8-9a46-ecf42065b671                  [SWAP]└─uos-home xfs                                7bdde991-098c-4592-b7a4-b5f78aefc27c                  
sr0          iso9660     Joliet Extension UOS   2023-06-06-20-28-34-00                       0   100% /media/root/UOS

这时,如果有备份的话,就可以搞了

[root@localhost ~]# mkfs.xfs /dev/mapper/uos-home -f
meta-data=/dev/mapper/uos-home   isize=512    agcount=4, agsize=327680 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1
data     =                       bsize=4096   blocks=1310720, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Discarding blocks...Done.
[root@localhost ~]# mount /dev/mapper/uos-home  /home
[root@localhost ~]# df -h
文件系统              容量  已用  可用 已用% 挂载点
devtmpfs              1.7G     0  1.7G    0% /dev
tmpfs                 1.7G   12K  1.7G    1% /dev/shm
tmpfs                 1.7G   18M  1.7G    1% /run
tmpfs                 1.7G     0  1.7G    0% /sys/fs/cgroup
/dev/mapper/uos-root   70G  9.8G   61G   14% /
tmpfs                 1.7G   44K  1.7G    1% /tmp
/dev/sda1            1014M  251M  764M   25% /boot
tmpfs                 342M   24K  342M    1% /run/user/0
/dev/sr0              7.8G  7.8G     0  100% /media/root/UOS
/dev/mapper/uos-home  5.0G   68M  5.0G    2% /home

重新格式化之后,分区可以正常识别,而且大小为缩小后的大小

3.2.4 重新将数据导回
cp /backup/home_backup /home

相关文章:

【Linux】ext4和xfs扩大,缩小lv后,无法识别如何操作

虚拟机系统异常&#xff0c;挂载到其他环境如何修复系统盘 1、环境 UOS 1060E x86环境 模拟异常环境&#xff1a; 1060e系统&#xff0c;使用lvm缩小磁盘后&#xff0c;出现异常&#xff0c;将异常磁盘挂载到其他服务器中&#xff0c;但存在问题发现有uuid相同的问题。 为…...

基于HarmonyOS ArkUI实现音乐列表功能

本节将演示如何在基于HarmonyOS ArkUI的List组件来实现音乐列表功能。 本文涉及的所有源码&#xff0c;均可以在文末链接中找到。 活动主页 华为开发者论坛 规则要求具体要求如下&#xff1a; 第1步&#xff1a;观看<HarmonyOS第一课>“营”在暑期•系列直播&#x…...

Android系统启动流程 源码解析

Android系统启动流程 本文链接&#xff1a;https://blog.csdn.net/feather_wch/article/details/132518105 有道云脑图&#xff1a;https://note.youdao.com/s/GZ9d8vzO 1、整体流程 Boot RoomBootLoaderidle kthreadinit init ServiceManagerzygote zygote SystemServerap…...

【头歌】构建哈夫曼树及编码

构建哈夫曼树及编码 第1关:构建哈夫曼树 任务描述 本关任务:构建哈夫曼树,从键盘读入字符个数n及这n个字符出现的频率即权值,构造带权路径最短的最优二叉树(哈夫曼树)。 相关知识 哈夫曼树的定义 设二叉树具有n个带权值的叶子结点{w1,w2,...,wn},从根结点到每个叶…...

创建本地镜像

通过前面文章的阅读&#xff0c;读者已经了解到所谓的容器实际上是在父镜像的基础上创建了一个可读写的文件层级&#xff0c;所有的修改操作都在这个文件层级上进行&#xff0c;而父镜像并未受影响&#xff0c;如果读者需要根据这种修改创建一个新的本地镜像&#xff0c;有两种…...

网络编程套接字(2): 简单的UDP网络程序

文章目录 网络编程套接字(2): 简单的UDP网络程序3. 简单的UDP网络程序3.1 服务端创建(1) 创建套接字(2) 绑定端口号(3) sockaddr_in结构体(4) 数据的接收与发送接收发送 3.2 客户端创建3.3 代码编写(1) v1_简单发送消息(2) v2_小写转大写(3) v3_模拟命令行解释器(4) v4_多线程版…...

Android Mvvm设计模式的详解与实战教程

一、介绍 在开发设计模式中&#xff0c;模式经历了多次迭代&#xff0c;从MVC到MVP&#xff0c;再到如今的MVVM。发现的过程其实很简单&#xff0c;就是为了项目更好的管理。 设计模式严格来说属于软件工程的范畴&#xff0c;但是如今在各大面试中或者开发中&#xff0c;设计模…...

软考A计划-系统集成项目管理工程师-小抄手册(共25章节)-下

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…...

渗透测试是什么?怎么做?

渗透测试报告 一、什么是渗透测试&#xff1f; 渗透测试是可以帮助用户对目前自己的网络、系统、应用的缺陷有相对直观的认识和了解。渗透测试尽可能地以黑客视角对用户网络安全性进行检查&#xff0c;对目标网络、系统和应用的安全性作深入的探测&#xff0c;发现系统最脆弱的…...

【软件安装】Python安装详细教程(附安装包)

软件简介 Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计&#xff0c;作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构&#xff0c;还能简单有效地面向对象编程。Python语法和动态类型&#xff0c;以及解释型语言的本质&#xff0c…...

微信小程序的form表单提交

获取input有两种方法&#xff1a; 第一&#xff1a;bindsubmit方法 注意&#xff1a; 1.使用form里面定义bindsubmit事件 2.bindsubmit事件需要配合button里面定义的formType“submit” 操作 3.设置input的name值来获取对应的数据 <form bindsubmit"formSubmit"…...

WOFOST模型与PCSE模型应用

实现作物产量的准确估算对于农田生态系统响应全球变化、可持续发展、科学粮食政策制定、粮食安全维护都至关重要。传统的经验模型、光能利用率模型等估产模型原理简单&#xff0c;数据容易获取&#xff0c;但是作物生长发育非常复杂&#xff0c;中间涉及众多生理生化过程&#…...

5-W806-RC522-SPI

main.c #include <stdio.h> #include "wm_hal.h" #include "rc522.h"int main(void) {SystemClock_Config(CPU_CLK_160M);printf("enter main\r\n");HAL_Init();RC522_Init();PcdReset();M500PcdConfigISOType ( A );//设置工作方式IC_te…...

Python实现自动登录+获取数据

前言 Dy这个东西想必大家都用过&#xff0c;而且还经常刷&#xff0c;今天就来用代码&#xff0c;获取它的视频数据 环境使用 Python 3.8 Pycharm 模块使用 requests selenium json re 一. 数据来源分析 1. 明确需求 明确采集网站以及数据内容 网址: https://www.dy.co…...

yolov8热力图可视化

安装pytorch_grad_cam pip install grad-cam自动化生成不同层的bash脚本 # 循环10次&#xff0c;将i的值从0到9 for i in $(seq 0 13) doecho "Running iteration $i";python yolov8_heatmap.py $i; done热力图生成python代码 import warnings warnings.filterwarn…...

【SpringBoot】第一篇:redis使用

背景&#xff1a; 本文是教初学者如何正确使用和接入redis。 一、引入依赖 <!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><depen…...

Springboot profile多环境配置

1. 前言 profile用于多环境的激活和配置&#xff0c;用来切换生产&#xff0c;测试&#xff0c;本地等多套不通环境的配置。如果每次去更改配置就非常麻烦&#xff0c;profile就是用来切换多环境配置的。 2. 配置方法 三种方式。 2.1 多profile文件方式 在resource目录下新…...

(1)进程与线程区别

1.什么是线程、进程 进程&#xff1a;操作系统资源分配的基本单位线程&#xff1a;处理器任务调度和执行的基本单位。 一个进程至少有一个线程&#xff0c;线程是进程的一部分&#xff0c;所以线程也被称为轻权进程或者轻量级进程。 2.并行与并发 一个基本的事实前提&#x…...

学习JAVA打卡第四十天

对象的字符串表示 在此类中我们讲过&#xff0c;所有的类都默认是java.lang包中object类的子类或间接子类。 Object类有一个public String toString&#xff08;&#xff09;方法,一个对象通过调用该方法可以获得该对象的字符串表示。一个对象调用toString法&#xff08;&…...

【跟小嘉学 Rust 编程】十四、关于 Cargo 和 Crates.io

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...

yaml读取写入常见错误 (‘cannot represent an object‘, 117)

错误一&#xff1a;yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因&#xff0c;后面把yaml.safe_dump直接替换成yaml.dump&#xff0c;确实能保存&#xff0c;但出现乱码&#xff1a; 放弃yaml.dump&#xff0c;又切…...

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...

CMS内容管理系统的设计与实现:多站点模式的实现

在一套内容管理系统中&#xff0c;其实有很多站点&#xff0c;比如企业门户网站&#xff0c;产品手册&#xff0c;知识帮助手册等&#xff0c;因此会需要多个站点&#xff0c;甚至PC、mobile、ipad各有一个站点。 每个站点关联的有站点所在目录及所属的域名。 一、站点表设计…...

SFTrack:面向警务无人机的自适应多目标跟踪算法——突破小尺度高速运动目标的追踪瓶颈

【导读】 本文针对无人机&#xff08;UAV&#xff09;视频中目标尺寸小、运动快导致的多目标跟踪难题&#xff0c;提出一种更简单高效的方法。核心创新在于从低置信度检测启动跟踪&#xff08;贴合无人机场景特性&#xff09;&#xff0c;并改进传统外观匹配算法以关联此类检测…...

SDU棋界精灵——硬件程序ESP32实现opus编码

一、 ​​音频处理框架​ 该项目基于Espressif的音频处理框架构建,核心组件包括 ESP-ADF 和 ESP-SR,以下是完整的音频处理框架实现细节: 1.核心组件 (1) 音频前端处理 (AFE - Audio Front-End) ​​main/components/audio_pipeline/afe_processor.c​​功能​​: 声学回声…...