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

day018-磁盘管理-案例

文章目录

  • 1. 磁盘分区
    • 1.1 手动磁盘分区
    • 1.2 重装系统,保留分区
      • 1.2.1 选择从光盘启动
      • 1.2.2 保留系统盘分区
      • 1.2.3 挂载数据盘
  • 2. 物理服务器使用流程
  • 3. swap
    • 3.1 增加swap
    • 3.2 关闭swap
  • 4. 故障案例(红帽类系统)
    • 4.1 root密码忘记,重新设置密码
      • 4.1.1 进入编辑模式
      • 4.1.2 编辑配置
      • 4.1.3 取消root密码
    • 4.2 从U盘/光盘启动进入救援模式
      • 4.2.1 用光盘进入救援模式
      • 4.2.2 补充:制作系统启动U盘
      • 4.2.3 用U盘进入救援模式
  • 5. no space left on device 磁盘空间不足
    • 5.1 inode耗尽
      • 5.1.1 故障复现
      • 5.1.2 排查(找出系统中大目录)
      • 5.1.3 xargs参数转换
    • 5.2 文件未彻底删除
      • 5.2.1 故障复现
      • 5.2.2 排查
  • 6. 踩坑记录
    • **1. dd 创建的文件为什么能当作分区?**
  • 7. 思维导图

1. 磁盘分区

常见分区说明大小
/boot引导分区,引导系统启动;存放Linux内核文件1g/2g
/根分区存放软件包、安装服务20g起步
swap交换分区(虚拟内存分区),特殊文件系统,没有挂载点。
特殊环境中数据库、存储服务、k8s环境;
推荐关闭swap,除非特殊需求(比如java)配置swap。
建议最多8g
/data独立数据分区,名字和路径可以自己定义剩余所有空间

1.1 手动磁盘分区

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 安装系统后,在数据盘添加些文件。

在这里插入图片描述

1.2 重装系统,保留分区

  • 模拟系统故障后,无法进入系统,需要恢复之前的数据。
  • 需要从CD启动系统

1.2.1 选择从光盘启动

  • 挂载系统盘
  • 开机时摁下Esc键,进入系统启动选择菜单,选择光盘启动

在这里插入图片描述

  • 在系统log界面按Esc,多试几次
  • ctrl+alt+insert是虚拟机重启快捷键

在这里插入图片描述

  • 选择安装系统

在这里插入图片描述

1.2.2 保留系统盘分区

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 数据盘不要变
  • 其他和重新安装系统一样

1.2.3 挂载数据盘

在这里插入图片描述

  • 数据盘是最后剩余容量的分区,所以是扩展分区,而使用扩展分区必须划分逻辑分区,所以编号从5开始
  • 而且从该分区的容量可以推断sda5是数据盘
  • 接下来直接挂载就行了

在这里插入图片描述

  • 最后查看下数据盘的文件,发现没有丢失。

2. 物理服务器使用流程

  1. 拆开包装,上电,进行配置;机架式服务器
  2. 配置远程控制卡:物理设备卡,不用去机房现场操作
  3. 配置raid:8块硬盘,2个raid1,6个raid5
  4. 安装系统:自定义分区,/boot、/、swap、/data
  5. 连接,基础优化配置:命令行配置、下载软件包、sshd等
  6. 配置/部署服务(可选):根据需求部署服务、配置
  7. 服务器上架:服务器放在机柜中。IDC数据中心机房

3. swap

  • swap是交换分区,也叫虚拟内存
  • 查看swap命令:free -h、top、htop

3.1 增加swap

# 创建1g的分区,用dd命令比较方便
[root@oldboy99-Kylin /data]# dd if=/dev/zero of=./1g bs=1M count=1024
记录了1024+0 的读入
记录了1024+0 的写出
1073741824字节(1.1 GB,1.0 GiB)已复制,11.2178 s,95.7 MB/s
[root@oldboy99-Kylin /data]# ll
总用量 1048576
-rw-r--r-- 1 root root 1073741824  520 19:42 1g
# 将分区格式化成swap
[root@oldboy99-Kylin /data]# mkswap ./1g 
mkswap: ./1g:不安全的权限 0644,建议使用 0600。
正在设置交换空间版本 1,大小 = 1024 MiB (1073737728  个字节)
无标签,UUID=98ff0575-589a-43cf-9c5d-6043db9ccfb5
# 修改权限
[root@oldboy99-Kylin /data]# chmod 600 1g 
# 开启swap分区
[root@oldboy99-Kylin /data]# swapon 1g
# 查看虚拟内存
[root@oldboy99-Kylin /data]# free -htotal        used        free      shared  buff/cache   available
Mem:          948Mi       203Mi       104Mi       2.0Mi       639Mi       598Mi
Swap:         3.1Gi       5.0Mi       3.1Gi
  • 上面是临时配置swap,永久配置需要修改fstab文件
/data/1g                none                    swap    defaults        0       0

3.2 关闭swap

  • 临时关闭:swapoff /data/1g
  • 临时关闭所有swap:swapoff -a
[root@oldboy99-Kylin ~]# swapoff -a
[root@oldboy99-Kylin ~]# free -htotal        used        free      shared  buff/cache   available
Mem:          948Mi       206Mi       546Mi       7.0Mi       194Mi       592Mi
Swap:            0B          0B          0B
  • 永久关闭:注释掉/etc/fstab中有关swap的行

ubuntu系统中,除了上面两个步骤还要执行:

systemctl mask swap.target(永久禁用 swap)

4. 故障案例(红帽类系统)

4.1 root密码忘记,重新设置密码

  • 这个案例适用于Linux无法启动、误修改/etc配置导致的无法启动
  • Linux自带救援模式,系统故障不严重时进入该模式即可
  • 比较严重时使用U盘/关盘进入救援模式

4.1.1 进入编辑模式

  • 在系统选择界面按e进入编辑模式

在这里插入图片描述

  • 需要输出编辑模式的用户和密码,不是root的密码

在这里插入图片描述

4.1.2 编辑配置

  • 找到 linux的行,修改ro为rw,表示读写权限
  • 在该行最后添加:init=/bin/bash

在这里插入图片描述

  • ctrl+x,启动系统,进入救援模式

4.1.3 取消root密码

  • vim /etc/passwd
  • 将root用户的密码标志取消

在这里插入图片描述

  • 重启系统,无root密码也可以进入了

4.2 从U盘/光盘启动进入救援模式

  • 针对系统故障严重,无法进入grub菜单的情况

4.2.1 用光盘进入救援模式

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 选择救援模式

在这里插入图片描述

  • 这些是光盘中的文件系统,需要挂载本地的root文件系统

在这里插入图片描述

在这里插入图片描述

  • 挂载root文件系统后,进入该目录下,可以修改原主机的配置文件了

4.2.2 补充:制作系统启动U盘

  • https://www.ventoy.net/cn/,下载软件
  • 选择一个U盘,确保里面没有需要的文件

在这里插入图片描述

  • 复制需要的镜像到U盘内

4.2.3 用U盘进入救援模式

  • 打开主机磁盘管理,查看U盘编号

    在这里插入图片描述

  • 将U盘连接到虚拟机

在这里插入图片描述

  • U盘编号是5,选择编号5的硬盘

在这里插入图片描述

在这里插入图片描述

  • 添加成功后的是硬盘4

在这里插入图片描述

  • 开启需要选择从硬盘4启动系统,所以需要调整BIOS中系统的启动顺序
  • 选择进入固件,直接进入BIOS

在这里插入图片描述

  • 将第四块硬盘移到最上面(+)

在这里插入图片描述

在这里插入图片描述

  • 保存配置,重启系统,选择硬盘启动系统

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5. no space left on device 磁盘空间不足

常见原因排查如何解决
经典原因:磁盘空间不足(block不足);有大文件df/du定位到目录或文件,确定之后操作
inode耗尽找出系统中的大目录(1M)清理这个目录
文件未彻底删除,日积月累导致磁盘空间不足lsof命令检查delete标记定位到具体进程,重启服务即可

5.1 inode耗尽

  • inode存放文件属性信息,inode数量格式化后就固定了
  • 正常使用情况下,block使用的多一些
  • 但是也有一些原因导致有大量小文件出现,占用inode

5.1.1 故障复现

# 创建小分区
[root@oldboy99-Kylin /data]# dd if=/dev/zero of=./20m bs=1M count=20
记录了20+0 的读入
记录了20+0 的写出
20971520字节(21 MB,20 MiB)已复制,0.00808378 s,2.6 GB/s
[root@oldboy99-Kylin /data]# ll 20m 
-rw-r--r-- 1 root root 20971520  520 21:32 20m
# 格式化分区
[root@oldboy99-Kylin /data]# mkfs.xfs 20m 
meta-data=20m                    isize=512    agcount=1, agsize=5120 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1
data     =                       bsize=4096   blocks=5120, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=1368, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# 挂载分区并查看
[root@oldboy99-Kylin /data]# mount ./20m /inode/
[root@oldboy99-Kylin /data]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 453M     0  453M    0% /dev
tmpfs                    475M     0  475M    0% /dev/shm
tmpfs                    475M  6.9M  468M    2% /run
tmpfs                    475M     0  475M    0% /sys/fs/cgroup
/dev/mapper/klas-root     66G  9.8G   56G   15% /
tmpfs                    475M     0  475M    0% /tmp
/dev/sda1               1014M  202M  813M   20% /boot
/dev/sdc1               1017M   40M  978M    4% /app/data
/dev/mapper/klas-backup   32G  260M   32G    1% /backup
tmpfs                     95M     0   95M    0% /run/user/0
/dev/loop0                15M  1.2M   14M    9% /inode
  • 查看测试分区的inode数量
[root@oldboy99-Kylin /data]# df -i
文件系统                  Inodes 已用(I)  可用(I) 已用(I)% 挂载点
devtmpfs                  115792     498   115294       1% /dev
tmpfs                     121353       1   121352       1% /dev/shm
tmpfs                     121353     757   120596       1% /run
tmpfs                     121353      18   121335       1% /sys/fs/cgroup
/dev/mapper/klas-root   34134016  130334 34003682       1% /
tmpfs                     121353      14   121339       1% /tmp
/dev/sda1                 524288     345   523943       1% /boot
/dev/sdc1                 523776       3   523773       1% /app/data
/dev/mapper/klas-backup 16664576      16 16664560       1% /backup
tmpfs                     121353       5   121348       1% /run/user/0
/dev/loop0                 10240       3    10237       1% /inode
  • 创建10237+的小文件

在这里插入图片描述

5.1.2 排查(找出系统中大目录)

  • ls -l显示的是目录的block值大小
  • 目录中文件越多该值越大
# 查找根目录下大小大于1M的目录
[root@oldboy99-Kylin ~]# find / -type d -size +1M

5.1.3 xargs参数转换

  • 创建/删除大量文件时需要该命令,与管道配合使用
  • touch {1…10000000},这样的命令会占用大量的内存,不适用
[root@oldboy99-Kylin ~/test]# echo {1..100000}.txt |xargs touch
[root@oldboy99-Kylin ~/test]# ll |wc -l
100001
  • xargs是将管道左侧命令的结果作为右侧命令的参数
  • 如果没有xargs命令,左侧的结果只是一堆字符,右侧命令不能识别
  • 删除也是同样的道理,ls |xargs rm -f

5.2 文件未彻底删除

  • 文件的硬链接数量为0时,文件被彻底删除了
  • 当有其他程序使用文件时,文件不会被彻底删除

5.2.1 故障复现

# 创建大文件
[root@oldboy99-Kylin ~/test]# dd if=/dev/zero of=./big bs=1M count=30000
记录了30000+0 的读入
记录了30000+0 的写出
31457280000字节(31 GB,29 GiB)已复制,414.527 s,75.9 MB/s
# 查看分区大小和目录大小
[root@oldboy99-Kylin ~/test]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 453M     0  453M    0% /dev
tmpfs                    475M     0  475M    0% /dev/shm
tmpfs                    475M  6.9M  468M    2% /run
tmpfs                    475M     0  475M    0% /sys/fs/cgroup
/dev/mapper/klas-root     66G   40G   27G   61% /
tmpfs                    475M     0  475M    0% /tmp
/dev/sda1               1014M  202M  813M   20% /boot
/dev/sdc1               1017M   40M  978M    4% /app/data
/dev/mapper/klas-backup   32G  260M   32G    1% /backup
tmpfs                     95M     0   95M    0% /run/user/0
/dev/loop0                15M  6.6M  8.1M   45% /inode
[root@oldboy99-Kylin ~/test]# du -sh ./
30G	./
  • 用其他程序读取该文件
[root@oldboy99-Kylin ~/test]# tail -f big 
  • 删除该文件,观察空间是否释放
[root@oldboy99-Kylin ~/test]# \rm -f big 
[root@oldboy99-Kylin ~/test]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 453M     0  453M    0% /dev
tmpfs                    475M     0  475M    0% /dev/shm
tmpfs                    475M  6.9M  468M    2% /run
tmpfs                    475M     0  475M    0% /sys/fs/cgroup
/dev/mapper/klas-root     66G   40G   27G   60% /
tmpfs                    475M     0  475M    0% /tmp
/dev/sda1               1014M  202M  813M   20% /boot
/dev/sdc1               1017M   40M  978M    4% /app/data
/dev/mapper/klas-backup   32G  260M   32G    1% /backup
tmpfs                     95M     0   95M    0% /run/user/0
/dev/loop0                15M  6.6M  8.1M   45% /inode
[root@oldboy99-Kylin ~/test]# du -sh ./
0	./
  • 文件系统分区显示空间没有释放
  • 当前目录空间已变成0

5.2.2 排查

  1. df -h显示分区满了
  2. du -sh显示目录没有满
  3. 怀疑是文件未彻底删除导致的
  4. 通过 lsof |grep deleted定位到具体的进程、服务
  • lsof(List Open Files)用于 列出当前系统打开的文件
  • lsof | grep deleted 用于查找 已被删除但仍被进程占用的文件

在这里插入图片描述

  • 停止或重启服务即可
[root@oldboy99-Kylin ~/test]# kill 1967
[root@oldboy99-Kylin ~/test]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 453M     0  453M    0% /dev
tmpfs                    475M     0  475M    0% /dev/shm
tmpfs                    475M  6.9M  468M    2% /run
tmpfs                    475M     0  475M    0% /sys/fs/cgroup
/dev/mapper/klas-root     66G  9.8G   56G   15% /
tmpfs                    475M     0  475M    0% /tmp
/dev/sda1               1014M  202M  813M   20% /boot
/dev/sdc1               1017M   40M  978M    4% /app/data
/dev/mapper/klas-backup   32G  260M   32G    1% /backup
tmpfs                     95M     0   95M    0% /run/user/0
/dev/loop0                15M  6.6M  8.1M   45% /inode
[root@oldboy99-Kylin ~/test]# du -sh ./
0	./

6. 踩坑记录

1. dd 创建的文件为什么能当作分区?

dd 命令可以生成一个 全零填充的二进制文件;

这个文件本质上是一个 未格式化的空白磁盘镜像,可以被操作系统识别为“虚拟磁盘”。

7. 思维导图

【金山文档】 思维导图 https://www.kdocs.cn/l/co3I7PtpTYQX

相关文章:

day018-磁盘管理-案例

文章目录 1. 磁盘分区1.1 手动磁盘分区1.2 重装系统,保留分区1.2.1 选择从光盘启动1.2.2 保留系统盘分区1.2.3 挂载数据盘 2. 物理服务器使用流程3. swap3.1 增加swap3.2 关闭swap 4. 故障案例(红帽类系统)4.1 root密码忘记,重新设…...

spark调度系统核心组件SparkContext、DAGSchedul、TaskScheduler介绍

目录 1. SparkContext2.DAGScheduler3. TaskScheduler4. 协作关系Spark调度系统的核心组件主要有SparkContext、DAGScheduler和TaskScheduler SparkContext介绍 1. SparkContext 1、资源申请: SparkContext是Spark应用程序与集群管理器(如Standalone模式下的Master、Yarn模…...

python数据可视化第三章数值计算基础

numpy库 数组创建 import numpy as np #创建n维数组array a np.array([1, 2, 3]) b np.array([4, 5, 6]) #可以直接运算 print(a 1) # [2 3 4] print(ab) # [5 7 9] #数组的维度:ndim print(a.ndim) #1 #数组的形状:shape print(a.shape) #(3,) 一维…...

std::chrono类的简单使用实例及分析

author: hjjdebug date: 2025年 05月 20日 星期二 14:36:17 CST descrip: std::chrono类的简单使用实例及分析 文章目录 1.实例代码:2. 代码分析:2.1 auto t1 std::chrono::high_resolution_clock::now();2.1.1 什么是 system_clock2.1.2 什么是 chrono::time_point?2.1.3 什…...

MongoDB 学习(三)Redis 与 MongoDB 的区别

目录 一、NoSQL 数据库与关系型数据库的优缺点二、Redis 与 MongoDB 的区别 MongoDB 和 Redis 都是 NoSQL 数据库,采用 结构型数据存储,而非 MySQL、Oracle 等则属于传统的 关系型数据库。 一、NoSQL 数据库与关系型数据库的优缺点 关系型数据库&#…...

Java双指针法:原地移除数组元素

Java双指针法&#xff1a;原地移除数组元素 代码解析关键点示例特点 代码解析 class Solution {public int removeElement(int[] nums, int val) {int cur 0; // 初始化一个指针 cur&#xff0c;表示新数组的当前写入位置for (int i 0; i < nums.length; i) { // 遍历原数…...

第二届帕鲁杯时空交织的密语

题目描述&#xff1a; 我们在暗网服务器中发现了一个神秘文件&#xff0c;据说是某个黑客组织的「时空密钥」&#xff0c;文件内容似乎由大量时间戳构成。情报显示&#xff0c;只有将时间维度与二进制低语结合才能解开秘密。线索隐藏在时空的起点与终点之间。 解压得到timestr…...

【神经网络与深度学习】扩散模型之原理解释

引言&#xff1a; 在人工智能的生成领域&#xff0c;扩散模型&#xff08;Diffusion Model&#xff09;是一项极具突破性的技术。它不仅能够生成高质量的图像&#xff0c;还可以应用于音频、3D建模等领域。扩散模型的核心思想来源于物理扩散现象&#xff0c;其工作方式类似于从…...

Map更简洁的编码构建

Map的链式构建需求 jdk1.8&#xff0c;编码时需要手动构建一个Map 传统Map构建方式 - 声明列表&#xff0c;依次添加元素&#xff1b; - 利用匿名内部类 实例初始化块&#xff0c;比较简洁声明并添加元素 //1 先声明创建 Map<String, Object> createMap new HashMap&…...

深挖navigator.webdriver浏览器自动化检测的底层分析

本文将带你深入探索并实践如何从底层层面破解浏览器 navigator.webdriver 检测&#xff0c;结合爬虫代理等策略伪装、多线程加速等技术&#xff0c;在豆瓣图书搜索页面上批量采集图书评分、简介、作者等信息。文章面向初学者&#xff0c;采用分步教程型结构&#xff0c;并增设「…...

业务流程和数据结构之间如何对应

业务流程和数据结构之间存在着紧密的对应关系&#xff0c;它们相互依赖、相互影响。以下是它们之间的对应关系以及如何进行对应&#xff1a; 1. 业务流程中的步骤与数据结构的记录 业务流程&#xff1a;业务流程是由一系列的步骤组成的&#xff0c;每个步骤都有明确的任务和目…...

浜掕仈缃戝ぇ鍘傞潰璇曪細璋㈤鏈虹殑鐖嗙瑧姹傝亴涔嬫梾

浜掕仈缃戝ぇ鍘傞潰璇曪細璋㈤鏈虹殑鐖嗙瑧姹傝亴涔嬫梾 绗竴杞細鍩虹鐭ヨ瘑杞扮偢 闈㈣瘯瀹&#xfffd;锛氭垜浠厛鑱婅亰Java鐨勫熀纭&#xfffd;鐭ヨ瘑锛岃阿椋炴満锛屼綘鑳借В閲婁竴涓婮ava涓殑HashMap鏄浣曞伐浣滅殑锛焅n 璋㈤鏈&#xfffd;锛氬摝…...

关于Linux服务器数字取证一

本次讲解apachemysql类型的基本类型 仿真 导入我们的检材 默认是仅主机模式&#xff0c;改成nat模式 查看ip地址 ip addr 修改虚拟机网卡配置 连通性测试 查找根目录 现在我们可以通过ip访问网站&#xff0c;但是网站处于关闭状态 接下来我们去查找配置文件&#xff0c;去…...

电商运营数据分析指南之流量指标

本文电商运营数据分析指南之流量指标主要面向电商行业新人&#xff0c;针对数据分析师/运营人员日常监控中的常见困惑提供解决方案。适合刚接触电商数据监控缺乏思路&#xff0c;或对电商数据指标感兴趣希望系统学习的读者。 电商数据分析如同航海指南针&#xff0c;精准的数据…...

C++初阶-迭代器失效和vector::insert函数的最终实现

目录 1.vector::insert函数 1.1问题分析 1.2vector::insert函数的最终实现 1.3vector::insert函数的分析 2.第二种迭代器失效 3.第三种迭代器失效 4.迭代器失效deepseek的回答 1. 迭代器失效的原因 2. 不同容器的迭代器失效情况 &#xff08;1&#xff09;std::vecto…...

DeepSeek的走红,会不会带动芯片市场新一轮增长?

在大模型竞赛如火如荼的今天&#xff0c;国产AI大模型DeepSeek的迅速走红&#xff0c;无疑为中国AI行业注入了新的活力。从技术突破到商业落地&#xff0c;DeepSeek不仅在技术圈引发了广泛关注&#xff0c;也让“AI大模型”这一关键词再次登上产业链的风口浪尖。但一个更值得深…...

小土堆pytorch--神经网路-卷积层池化层

神经网路-卷积层&池化层 一级目录二级目录三级目录 1. 神经网路-卷积层2. 神经网路最大池化的应用 一级目录 二级目录 三级目录 1. 神经网路-卷积层 在PyTorch中&#xff0c;torch.nn.Conv2d函数定义了一个二维卷积层&#xff0c;其常用参数包括&#xff1a; in_channel…...

什么叫生成式人工智能?职业技能的范式转移与能力重构

当人们谈论人工智能时&#xff0c;常常混淆其不同类型与功能。生成式人工智能作为AI领域的重要分支&#xff0c;其本质不在于分析或分类已有数据&#xff0c;而在于创造新的内容——无论是文本、图像、音乐还是代码。理解这一技术的内涵&#xff0c;不仅关乎技术认知&#xff0…...

集星獭 | 重塑集成体验:新版编排重构仿真电商订单数据入库

概要介绍 新版服务编排以可视化模式驱动电商订单入库流程升级&#xff0c;实现订单、客户、库存、发票、发货等环节的自动化处理。流程中通过循环节点、判断逻辑与数据查询的编排&#xff0c;完成了低代码构建业务逻辑&#xff0c;极大提升订单处理效率与业务响应速度。 背景…...

小白成长之路-Linux磁盘管理(一)

文章目录 前言一、磁盘介绍1、磁盘的物理结构1.1硬盘结构1.2磁头数、磁道、柱面、扇区 2.CHS编号2.1磁道编号规则2.3扇区编号规则2.3通过CHS计算硬盘容量 3、磁盘存储划分3.1第一个扇区存储的数据3.2硬盘分区 4.开机流程5、要点6、磁盘存储数据的形式 二、Linux文件系统1、根文…...

【Linux】第二十四章 管理网络安全

1. 防火墙在 Linux 系统安全中有哪些重要的作用&#xff1f; 防止未经授权的访问 网络流量过滤&#xff0c;常见过滤方式包括&#xff1a;基于 IP 地址、端口、协议类型&#xff08;如 TCP、UDP&#xff09;、源和目标地址等。限制流量速率、阻止来自单个IP或多个IP的高频请求保…...

【解决】SSH 远程失败之路由配置问题

开发平台&#xff1a;RedHat 8   一、问题描述 使用 WindTerm SSH 远程连接 192.168.88.211 虚拟主机&#xff0c;无法连接。   二、问题追溯 VMWare 虚拟机配置 虚拟网卡IPVMNet 模式应用网卡1&#xff08;eth0&#xff09;192.168.88.11/24VMNet 8服务网卡2&#xff08;…...

中级网络工程师知识点9

1.在Linux中&#xff0c;负责配置DNS的文件是/etc/resolv.conf&#xff0c;包含了主机的域名搜索顺序和DNS服务器的地址 2.主域名服务器在接收到域名请求后&#xff0c;首先查询的是本地缓存 3.自动专用地址&#xff1a;169.254.X.X/16 4.FTP默认20端口&#xff0c;传输文件…...

网页前端开发(基础)

前端开发三件客&#xff1a;HTML&#xff0c;CSS&#xff0c;JavaScript。 web标准&#xff0c;也称网页标准&#xff0c;由3个组成部分。1.HTML,管理页面的元素和内容。2.CSS&#xff0c;负责网页的表现&#xff08;页面元素的外观&#xff0c;位置等页面样式。如&#xff1a;…...

Git命令使用全攻略:从创建分支到合并的完整流程

Git命令使用全攻略&#xff1a;从创建分支到合并的完整流程 引言一、初始化项目与基础配置1.1 克隆远程仓库1.2 查看当前分支状态 二、创建与管理分支2.1 从main分支创建新功能分支2.2 查看分支列表2.3 提交代码到新分支2.4 推送分支到GitHub 三、版本发布与标签管理3.1 创建轻…...

边缘智能与量子计算双轮驱动:IVX 开启实时 AI 开发新维度

一、技术跃迁&#xff1a;量子化组件架构如何颠覆传统 AI 开发流程 在传统 AI 开发范式中&#xff0c;将 GPT-4o、Mediapipe 等模型集成到业务系统需要经历 "模型训练 - API 对接 - 前端适配" 的三重技术壁垒。开发团队需同时掌握 TensorFlow、Flask、React 等技术栈…...

对冲策略加仓止损盈思路

外汇交易中的对冲策略&#xff0c;重点在于加仓和盈利出局的策略。该策略通过多种方法来管理头寸&#xff0c;旨在最大化盈利并控制风险。 加仓策略 金字塔加仓法 金字塔加仓法是一种逐步增加头寸的方法。在初始头寸盈利后&#xff0c;以较小的手数逐步增加头寸。这种方法可以在…...

ERP生产环境索引重建:高风险操作还是性能良药?何时动手,如何操刀?

ERP系统是企业运营的核心,其数据库性能至关重要。索引作为提升查询效率的关键,其维护(尤其是重建)操作却常常让DBA和运维工程师们如履薄冰。本文将深入探讨在生产ERP环境中重建索引的潜在风险、必要性评估、最佳实践以及不同数据库的注意事项,旨在帮助技术人员做出明智决策…...

PyTorch 之 torch.distributions.Categorical 详解

PyTorch 之 torch.distributions.Categorical 详解 PyTorch 之 torch.distributions.Categorical 详解一、创建分类分布&#xff08;一&#xff09;基本语法&#xff08;二&#xff09;示例 二、采样&#xff08;一&#xff09;方法&#xff08;二&#xff09;示例 三、计算概率…...

杰发科技AC7840——如何把结构体数据写到Dflash中

1. 结构体数据被存放在Pflash中 正常情况下&#xff0c;可以看到全局变量的结构体数据被存放在Pflash中 数字部分存在RAM中 2. 最小编程单位 8字节编程&#xff0c;因此如果结构体存放在Dfalsh中&#xff0c;进行写操作&#xff0c;需要写8字节的倍数 第一种办法&#xff1a;…...

vue路由小案例

vue路由小案例 案例需求案例实现小结 案例需求 创建二级路由&#xff0c;掌握嵌套路由点击内容&#xff0c;根据不同id实现页面的跳转&#xff0c;掌握传参方式利用routerlink标签封装的类&#xff0c;实现高亮实现重定向&#xff0c;自动跳转到二级页面 案例实现 &#xff…...

链表面试题9之环形链表进阶

那么上一题我们已经知道了双指针的变法以及拓展的用法&#xff0c;那么这里我们直接难度升级。 想回去复习的这里放个链接&#xff1a;链表的面试题8之环形链表-CSDN博客 题目链接&#xff1a;142. 环形链表 II - 力扣&#xff08;LeetCode&#xff09; 我们来看这道题目主要…...

CentOS 7上BIND9配置DNS服务器指南

详细说明如何在 CentOS 7 上配置 BIND9 扮演这四种不同的 DNS 角色&#xff0c;包括配置文件示例和注意事项。 BIND9 可以扮演 DNS 体系中的多种角色&#xff1a; 权威DNS服务器 (Authoritative DNS Server): 存储特定域名&#xff08;例如 example.com&#xff09;的官方DNS记…...

Pytorch针对不同电脑配置详细讲解+安装(CPU)

一、前言 安装pytorch前&#xff0c;应按照我前边的博文中&#xff0c;安装完anaconda和pycharm&#xff0c;并且配置完环境变量以后哈。 Pytorch是什么&#xff1f; 它是一个库,是一个开源的机器学习框架&#xff0c;专注于深度学习任务&#xff0c;由Facebook的人工智能研…...

知识体系_数据分析挖掘_基尼系数

1 概述 基尼系数(gini coefficient)表示在全部居民收入中,用于进行不平均分配的那部分收入占总收入的百分比。社会中每个人的收入都一样、收入分配绝对平均时,基尼系数是0;全社会的收入都集中于一个人、收入分配绝对不平均时,基尼系数是1。现实生活中,两种情况都不可能发…...

Fiddler抓包教程->HTTP和HTTPS基础知识

1.简介 有的伙伴可能会好奇&#xff0c;不是讲解和分享抓包工具,怎么这里开始讲解HTTP和HTTPS协议了。这是因为你对HTTP协议越了解&#xff0c;你就能越掌握Fiddler的使用方法&#xff0c;反过来你越使用Fiddler&#xff0c;就越能帮助你了解HTTP协议。 Fiddler无论对开发人员…...

超级维特根斯坦

AI智能体核心指令:语言智慧融合体 - 深度思辨、专业应用与协同创新大师 1. 角色设定 (Persona) 你将扮演一位“语言智慧融合体”AI,一个集大成的、具备卓越情境智能、精妙引导艺术与长时程战略规划能力的语言思想、艺术与应用科学伙伴。你的核心人格与方法论基于以下杰出贡…...

探索付费社群的成功之道:生财与群响的深度解析

随着互联网技术的发展和用户需求的多样化&#xff0c;付费社群作为一种新型商业模式逐渐崭露头角&#xff0c;并迅速成为众多创业者和个人寻求知识、资源以及人脉的重要平台。本文将深入探讨两个成功的付费社群——生财和群响&#xff0c;分析它们如何在各自领域内取得显著成就…...

【b站计算机拓荒者】【2025】微信小程序开发教程 - 3 项目目录结构

3 项目目录结构 3.1 项目目录结构 3.1.1 目录介绍 # 1 项目主配置文件&#xff0c;在项目根路径下&#xff0c;控制整个项目的-app.js # 小程序入口文件&#xff0c;小程序启动&#xff0c;会执行此js-app.json # 小程序全局配置文件&#xff0c;配置小程序导航栏颜色等信息…...

TuyaOpen横空出世!涂鸦智能如何用开源框架重构AIoT开发范式?

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引子:AIoT开发的“不可能三角”被打破 当AI与物理世界深度融合的浪潮席卷全球,开发者们却始终面临一个“不可能三角”——开发效率、技术深度与商业化落地难以兼得。 …...

物联网(IoT)智能项目全景指南:技术构架、实现细节与应用实践

目录 一、物联网项目的核心组成和发展方向 1. 核心组成 2. 发展趋势 二、系统设计的详细流程 1. 需求分析与方案规划 2. 硬件方案深度设计 3. 软件架构设计 4. 方案示意图&#xff08;架构图&#xff09; 三、关键技术深度剖析 1. 传感器及其接口技术 2. 嵌入式MCU选…...

【c# 类型转换中 as 和()】

在 C# 中&#xff0c;as 关键字和强制类型转换&#xff08;()&#xff09;都用于对象类型的转换&#xff0c;但它们在语法、行为和用途上有显著的区别。 1. 语法区别 强制类型转换&#xff08;()&#xff09; 语法&#xff1a;(TargetType)expression用途&#xff1a;将一个…...

Elasticsearch 实战面试题,每个题目都会单独解析

Elasticsearch 在 Java 中最常用的客户端是什么&#xff1f;如何初始化一个 RestHighLevelClient&#xff1f;如何用 Spring Boot 快速集成 Elasticsearch&#xff1f;Spring Data Elasticsearch 如何定义实体类与索引的映射&#xff1f; ES的倒排索引和正排索引的区别及适用场…...

01-通过纯js理解数据驱动图表概念

现有1组一维数组数据&#xff1a; const data [720, 320, 531, 120, 230, 387, 258] 通过forEach循环该data&#xff0c;根据数据值&#xff0c;循环出对应长度的 rect 标签&#xff0c;计算好横纵坐标的位置&#xff0c;并在最后将各个 rect标签 append 到 svg 标签中。如图所…...

Java DTO 深度解析

一、什么是DTO&#xff1f; DTO&#xff08;Data Transfer Object&#xff09; 是一种用于在不同层&#xff08;如Controller层、Service层&#xff09;之间传输数据的对象设计模式。其核心目的是封装数据&#xff0c;减少网络传输开销&#xff0c;同时避免直接暴露领域模型&a…...

Python、Pytorch、TensorFlow、Anconda、PySide、Jupyter

一、Python Python是一种高级、通用、解释型的开源编程语言,由Guido van Rossum于1990年代初设计。它具有以下显著特点: 1‌.语言特性‌ (1) 语法简洁易读,接近自然语言(如print(“Hello World!”)) (2) 采用强制缩进而非大括号定义代码块 (3) 支持面向对象、函数式和过…...

视频监控联网系统GB28181协议中互联结构详解

文章目录 4.1 SIP 监控域互联结构4.1.1 概述4.1.2 区域内联网4.1.3 跨区域联网4.1.4 联网方式4.1.4.1 级联4.1.4.2 互联 4.2 SIP 监控域与非 SIP 监控域互联结构4.2.1 概述4.2.2 控制协议网关4.2.3 媒体网关 智联视频超融合平台介绍 4.1 SIP 监控域互联结构 4.1.1 概述 联网系…...

系统编程的标准IO

标准IO 头文件需求&#xff1a; #include <stdio.h>1.fopen和fclose (1)fopen fopen的函数功能是打开一个文件。 首先看看fopen的函数声明&#xff1a; FILE *fopen(const char *path, const char *mode);第一个参数path是文件地址&#xff0c;传入的是不可变的字符…...

windows安装WS,实测可行

参考链接 1、 wsl -l -v 查看哪些ubuntu环境在运行 2、wsl -t Ubuntu 停止当前的Ubuntu 3、wsl --install -d Ubuntu-22.04 下载ubunt 4、wsl --unregister Ubuntu-22.04 移除ubuntu 5、wsl --export Ubuntu-22.04 F:\Ubuntu-22.04\Ubuntu-22.04.tar 导出 Ubuntu-22.04 为 .ta…...

【蓝桥杯真题精讲】第 16 届 Python A 组(省赛)

文章目录 T1 偏蓝 (5/5)T2 IPv6 (0/5)T3 2025 图形 (10/10)T4 最大数字 (10/10)T5 倒水 (15/15)T6 拼好数 (0/15)T7 登山 (20/20)T8 原料采购 (20/20) 更好的阅读体验 高速访问&#xff1a;https://wiki.dwj601.cn/ds-and-algo/lan-qiao-cup/16th-python-a/永久链接&#xff1…...