自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (3)
  • 收藏
  • 关注

原创 virsh 快速复制一个虚拟机

对 hc2.xml 做修改,主要修改名称、uuid、新磁盘路径、网络(这部分不是绝对,根据需求增删改)由于环境中的 ip 是需要重新修改,我这里要对新虚拟机网络做以下调整(针对同一台主机修改网络配置)复制一份镜像文件,复制一份虚拟机 xml,等新虚拟机去使用。在很多测试环境中,想快速复制一个虚拟机,如何实现?假如环境中已有一个虚拟机,查看虚拟机磁盘信息。

2024-03-05 11:27:48 437

原创 rpmrebuild 重新制作 rpm

4、find / -name aaa (一般在/root/.tmp/rpmrebuild.xxx)2、此时我们得到一个交互shell,重新制作 rpm 有两种方式。5、尽情发挥吧,完了退出。

2024-02-28 17:22:28 473

原创 解决 win11 vmware 中centos 网络不能访问外网

总结:主机配置的网卡网络和虚拟机的网络保持一致即可。

2023-11-07 17:30:00 909

原创 structure needs cleaning结构需要清理

如果是在系统盘出现这个问题,那么一定要重启服务器进入单用户模式(安全模式)了,重启之前你要清楚故障的分区是哪一个,可以通过lsblk查看当前/根目录对应的分区,我这里是/dev/sda4。开机启动菜单选项按e,找到ro,将ro替换为rw init=/sysroot/bin/sh,并按ctrl+x进入。这么操作是没有问题的,那么问题来了,我这里是属于/根目录无法删除的问题,根怎么umount卸载修复呢?在网上搜索一下,你会发现千篇一律的卸载磁盘挂载,然后进行挂载修复。

2023-11-07 11:28:10 2632 1

原创 块存储、文件存储、对象存储关系

参考:https://zhuanlan.zhihu.com/p/610322172。

2023-11-06 14:00:12 151

原创 dracut添加指定固件

存放在,固件来自kernel 仓库更多的固件可以参考git仓库,https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain想要获取固件,无论是从仓库或者浏览器中下载你所需要的固件,支持多种系统固件,可以参考,https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git。

2023-10-30 17:10:07 298

原创 linux 开机开启emergency mode

按下 ↓ 按键,并找到以单词 linux 开头的一行代码,并在其结尾处添加下面的一行代码。为到达其结尾处,只需要按下 Ctrl + e 组合键,或使用你键盘上的 END 按键或 ←/→ 按键。

2023-10-25 15:29:20 157

原创 docker基本用法

镜像方式1方式2docker方式一 (推荐)方式二将宿主机文件到容器中添加,基于容器创建镜像,保存历史合并新层,基于容器创建(创建新镜像)查看docker的导出镜像到一个文件,不带历史,基于容器创建(迁移容器)导出镜像到指定文件(分享镜像)就是说如果用export指令导出,镜像历史提交记录就没了;但是用save,历史提交记录还在导入指定文件为镜像可以依据具体使用场景来选择命令若是只想备份images,使用save、load即可。

2023-10-09 11:34:46 155

原创 centos 下 Makefile 独立模块编译ko

公钥、私钥、签名、证书

2023-09-12 10:49:40 457

原创 公钥、私钥、签名、证书-一文全解释

CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。为了生成这样的密钥,需要一个至少四位的密码。CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。crt是CA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证。

2023-08-31 15:08:21 940

原创 emergency mode 处理

本节操作适用于Linux操作系统emergency mode(紧急模式)问题处理。操作步骤涉及修复文件系统操作,修复文件系统存在丢失数据风险,请先备份数据后进行修复操作。

2023-08-22 10:49:07 1212

原创 虚拟机不能使用 console 的问题

解决 KVM 虚拟机不能使用 console 的问题:

2023-08-07 14:40:20 271

原创 linux 系统 最详细 启动流程

Linux在完成核内引导(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式来启动其他用户级的进程或服务.所以,init始终是第一个进程,其PID始终为1(ps -aux | less),它是系统所有进程的父进程.内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init.如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败.

2023-06-29 14:39:41 1426

原创 rpm 包版本号含义

2023-06-16 15:50:20 106

原创 Linux gdb调试无法显示详细堆栈信息

命令:dnf debuginfo-install xxx(包名称)要安装详细的 debug 相关包。

2023-06-16 10:22:55 412

原创 如何进入到 initramfs 小系统中

如何进入initramfs shell?在GRUB引导菜单上按e,进入编辑模式。跳转到linux开头的行,把UUID=后面的任一字母数字改错。按F10启动,等一段时间,initramfs就会找不到根文件系统,于是就会陷入initramfs shell。该shell具有root权限。如果显示了发行版Logo,通常只要按esc就能取消Logo显示日志有什么用可以获得root shell,不需要密码和sudo。在该shell内手动挂载根文件系统就可以对系统进行修改。如何挂载根文件系统。

2023-06-12 18:16:10 1388

原创 initramfs 最全解释与制作

我们都知道 initramfs 是系统启动时加载,其中的 lib/modules 中包含必要的设备驱动(磁盘、网卡、文件系统等)及运行环境C库/动态库链接器等, 先启动一个临时系统,然后会再 switchroot 时加载,用的是initramfs 相关驱动,在 switchroot 后,用的是硬盘上的非必须驱动,有些 ko 虽然放到 initramfs 中,但是 switchroot 前不加载的话,用的还是硬盘上的,关键看 ko 加载时机。1、initrd 和 initramfs 有什么区别?

2023-06-12 16:31:39 3037

原创 制作 initramfs 后,缺少部分驱动,可能导致系统无法启动

通过 mkinitrd 制作出来的 initrd.img 镜像,替换到 ISO 中,系统无法正常启动,从日志上看 mount ‘iso9668’ 失败,怀疑是小系统中缺少 isofs 驱动导致。因为使用 mkinitrd /boot/initramfs.img $(uname -r) 时没有指定加载的内核模块,需要重新制作 initrd.img,添加一些参数 --whth=isofs。注:这种方式也适用于自己添加了新驱动,当没有打入 initramfs 可以去指定模块。

2023-06-12 14:52:51 543

原创 代理技术原理,tinyproxy 搭建和使用

代理技术原理:本机搭建代理:

2023-05-19 14:48:34 340

原创 iptables 开放 nfs 端口

*原理:**默认情况下,各种NFS服务(lockd、statd、mountd等)将从portmapper (portmap)请求随机端口分配,这意味着大多数管理员需要在他们的防火墙规则库中开放一系列端口以使NFS工作,我们可以固定使用的端口,方便 iptables 开放限制。**使用条件:**iptables 限制端口后,无法成功 mount nfs,需要开启 nfs 使用的端口。固定nfs 端口:vim /etc/sysconfig/nfs。创建共享目录:/data/nfs_share。

2023-03-14 17:06:25 1048

原创 麒麟 docker 自启动失败

2、对比centos /lib/system/systemd/ 配置发现有TimeoutSec=0,可以通过修改/lib/system/systemd/docker.service 方式,使超时时间无穷大。在/etc/systemd/system下面创建docker.service.d目录,在这个目录里面新建任何以.conf结尾的文件,然后写入我们自己的配置。在/etc/systemd/system目录下创建docker.service文件,里面写上我们自己的配置。自启动时出现超时问题。

2023-01-05 15:11:48 1014

原创 libvirt 使用UEFI 设置 edk2-ovmf

英特尔EFI开发工具包II (edk2)的子项目,所以在edk2 源码中也能找到 ovmf 部分,ovmf 使UEFI支持Ia32和X64虚拟机。2、OVMF_CODE 是 bootloader 镜像文件,而 OVMF_VARS 是保存OVMF_CODE 中变量的文件;2、UEFI:虚拟机XML 会使用OVMF_CODE.secboot.fd 和 OVMF_VARS.fd 文件去启动。1、UEFI:虚拟机XML 会使用OVMF_CODE.fd 和 OVMF_VARS.fd 文件去启动。

2022-11-15 18:50:31 1727

原创 kickstart 报错

为什么hs 打包没有这个错误,对比 hs和 kylin 两个 ksvalidator 版本区别。提示说 新版本用 timesource --ntp-disable 来取代 --nontp。在麒麟环境下打包,使用 ksvalidator 检测 kickstart 文件时报错。kylin pykickstart 版本更高。

2022-10-25 20:21:38 299

原创 linux kernel主要文件-图文讲解

内核在线阅读:https://elixir.bootlin.com/linux/latest/source内核官网:https://www.kernel.org/内核编译:make安装内核和模块:make module_install install其他:make mrprobe(每次配置,并重新编译内核前,先执行"make mrproper",清理源代码树,包括清理过去的内核配置文件".config",);make dep(生成内核直接的依赖关系,为编译做好准备)config。

2022-09-04 13:54:50 930

原创 编译gcc源码报错

lib/cpp fails sanity check的解决。

2022-09-02 17:15:33 732

原创 is filtered out by modular filtering

[root@c libvirt-build]# dnf install -y gcc-c++Last metadata expiration check: 0:00:14 ago on Tue 23 Aug 2022 05:03:23 AM CST.Detection of Platform Module failed: No valid Platform ID detectedAll matches were filtered out by modular filtering for argumen

2022-08-23 13:37:00 2263

原创 python 基础学习-知识汇总

这种命名方式里面,后面的loggers是前面logger的子 logger,自动继承父loggers的log信息,正因为此,没有必要把一个应用的所有 logger都配置一遍,只要把顶层的logger配置好了,然后子logger根据需要继承就行了。但执行yield语句,返回的是一个生成器对象,而且这个生成器对象的当前值,就是yield语句后面跟的表达式的值。当对象被创建时, 就创建了一个引用计数, 当这个对象不再需要时, 也就是说, 这个对象的引用计数变为0 时, 它被垃圾回收。相比print,具备。

2022-08-21 13:53:10 401

原创 清华教授的操作系统-----课程笔记

操作系统基础知识:什么是操作系统,操作系统的组成,MMU内存管理,线程,进程

2022-08-20 00:33:54 1064

原创 warning: user mockbuild does not exist - using root

安装src.rpm出现报错。

2022-08-14 22:11:16 4198

原创 xshell7 登录脚本 设置跳板机

在实际开发或生产环境,经常会出现跳板机,手动执行比较麻烦,故进行如下两步设置即可:第一步在中将跳板机的 IP 填入到连接中,我实验的跳板机是 ,需要跳转到的服务器为第二步

2022-08-06 16:11:37 606

原创 CentOS 8 系统时间显示问题

时间显示问题时区确认timedatectl 先确认当前时区为亚洲/上海的时区[cookie@192 ~]$ timedatectl Local time: Sat 2022-03-19 09:35:40 CST Universal time: Sat 2022-03-19 01:35:40 UTC RTC time: Sat 2022-03-19 01:35:40 Time zo

2022-03-19 09:56:20 510

原创 gdb调试大全

文章目录GDB调试gdb基本命令汇总调试可执行文件调试core文件gdb断点调试GDB调试gdb基本命令汇总commandfile <文件名>加载被调试的可执行程序文件run单步执行,运行程序,停在第一执行语句如果可执行程序需要传参,可写在run后面list查看源代码,简写lset设置变量的值next单步调试(不进入的单步执行,函数直接执行),简写nstep单步调试(跳入自定义函数内部执行,使用finish退出该函数的调用函数)

2022-03-10 18:03:16 749

原创 keepalive心跳包

static int setup_ip_heartbeat(int fd){ int ret = -1; // open keepalive on fd int alive = 1; ret = setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &alive, sizeof(alive)); if(ret < 0) { perror("setsockopt:"); return -1;

2021-03-19 10:45:59 183

原创 编译源码pkg-config报错问题(configure\pkg-config\PKG_CONFIG_PATH关系)

编译源码pkg-config报错问题:…d libraries… yeschecking dynamic linker characteristics… (cached) GNU/Linux ld.sochecking how to hardcode library paths into programs… immediatechecking for pkg-config… /usr/bin/pkg-configchecking pkg-config is at least version 0.

2021-01-31 13:37:54 5836

原创 小米嵌入式工程师面试-心得

小米Linux嵌入式C工程师面试-心得前言:今年有幸参加小米的面试和笔试,大学刚毕业那一会儿,特别想进小米,但是投的简历都打水漂了,估计网申没过把。想进小米,主要因为个人原因,我的第一部智能手机就是小米2,后来用小米4、小米5,可以说这是最初的梦想吧。面试流程:网上投简历,通过网申,安排线下面试,项目提问,基础知识掌握程度,笔试面试地点:小米科技园项目问答部分:1、问的很详细,每一个项目都会逐一问答,不过这些都可以说流畅的讲出项目的架构和原理,不过具体太深的地方就有点力不从心了,面试官会一直往

2020-12-09 23:04:41 5161 2

原创 usb描述符打印实现

usb描述符打印实现通过libusb实现系统lsusb -v的功能使用场景:在一些平台没有lsusb -v的功能,通过自己实现的lsusb -v可以在这些平台查询device的描述符信息废话不多说,直接上代码#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <pthread.h>#include <lib

2020-11-29 12:57:16 270

原创 Socket网络编程keepalive(探测包)

Socket网络编程的心跳(探测包)什么是keepAlive设置keepAlive有什么用如何设置keepAlive1).什么是keepALive:keepalive是soket中的心跳包,用来判断当前socket是否是联通的状态,keepalive默认是关闭的,因为虽然流量很小,但毕竟也是网络开销,因此需要用户手动开启2).设置keepalive有什么用:优点判断当前socket是否处于连接状态,socket设置有两种模式,一般只有在把socket设置为非阻塞模式才会去设置心跳包,因为

2020-10-31 12:08:58 3493

原创 符号优先级问题

#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <signal.h>#define a (1<<0)#define b (1<<1)#define c (1<<2)#define abc (a|b|c)#define ab (a|b)#define zlink_

2020-07-11 13:35:57 196

原创 iperf基本使用方式

完美运行在安卓的iperf工具&测试带宽工具iper3使用方式编译方式很简单类似下面说的iperf2,源码官网很容易下载到使用步骤:PC端:在pc端放入/out/bin/iperf3设置依赖库iperf-master/out/lib,通过设置环境变量,使可执行文件能够找到依赖库(export LD_LIBRARY_PATH=LD_LIBRARY_PATH:xxx/iperf-tools/out/lib)车机端:在车机端放入/out-arm/bin/iperf3设置依赖库iperf

2020-07-09 23:28:45 2403

原创 linux内核空间:kmalloc、kzalloc、vmalloc的区别?

在平时用户层我们都是使用malloc();这个函数在各种操作系统上的使用是一致的,对应的用户空间内存释放函数是 free()。注意:动态申请的内存使用完后必须要释放,否则会造成内存泄漏,如果内存泄漏发生在内核空间,则会造成系统崩溃。那么,在内核空间中如何申请内存呢?一般我们会用到 kmalloc()、kzalloc()、vmalloc() 等,下面我们介绍一下这些函数的使用以及它们之间的区别。kmalloc()函数原型:void *kmalloc(size_t size, gfp_t flags);

2020-05-28 22:52:50 214

iperf-2.0.8-source.tar.gz

iperf2.0.8工具&测试带宽工具:iper2源代码下载,我博客有使用说明,也有编译好直接使用的工具

2020-07-09

iperf2-tools.zip

完美运行在安卓各种版本的iperf工具&测试带宽工具,测试过高通、MTK、RK、X86等平台,均能完美运行,我博客里详细使用说明

2020-07-09

iperf3-tools带宽测试工具(兼容安卓)

Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。 已在高通、全志、RK、arm或x86下测试完美运行,具体使用方式,请看我博客iperf3使用方式

2020-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除