- 博客(162)
- 资源 (43)
- 收藏
- 关注
原创 教你如何装黑客之遍历文件夹
我是十六帧录制的效果有点差 实际效果很好 而且可以开多个cmd窗体 假装自己是黑客。win+r键打开cmd窗体。输入命令dir /s。
2024-01-05 17:38:51 337
原创 简单的Makefile编写
CC = gcctarget = udp_simple_serverobj = udp_server.oDIR = ($shell pwd)QUIET_CC = @printf ' %b %b\n' CC $@ 1>&2;QUIET_LD = @printf ' %b %b\n' LD $@ 1>&2;%.o: %.c $(QUIET_CC)$(CC) -c $< -o $@$(target): $(obj) $(QUIET_LD).
2022-02-20 12:19:21 1043
原创 linux内核numa简单的bitmap操作
nodemask_t存放的是有关节点的配置信息。定义如下typedef struct { DECLARE_BITMAP(bits, MAX_NUMNODES); } nodemask_t;DECLARE_BITMAP定义如下#define DECLARE_BITMAP(name,bits) \ unsigned long name[BITS_TO_LONGS(bits)]-----------------------------------------------------...
2021-11-25 16:57:51 529
原创 Linux启动时的页表映射
内核启动时进行内存映射,map_mem()->create_mapping()内核支持4级映射(PGD->PUD->PMD->PTE) ,支持的level由宏CONFIG_PGTABLE_LEVELS定义,目前为3级映射,也即PGD->PMD->PTE从下图可以知道,每级页表分别使用虚拟地址的9位作为索引,也即每级页表大小为512. 虚拟地址最后12bit作为页内索引.从而表示一个具体的物理地址页表,虚拟地址,物理地址关系一、前..
2021-10-20 17:32:42 587
原创 C语言编程插入、删除数组元素
1.删除操作#include <stdio.h>int main(){ int arr[5]={1,3,5,7,9}; int arr_new[sizeof(arr)/sizeof(int) -1 ]; int index=2; for(int i=0;i<5;i++) { if(i< index) { arr_new[i] = arr
2021-10-20 14:07:18 1805
原创 centos8忘记密码解决方法(非救援模式)
1.重启centos8,在这个界面按上下键选中第一行2.按’e’键,进入如下界面,移动向下方向键至“linux16”开头的行。然后按向右的方向键移动,找到“ro”并将其修改为“rw init=/sysroot/bin/bash”。(rw后边有空格,\是系统自己添加的)------------------------------------------------------------------------------------------------------------------
2021-10-20 12:08:13 667 1
原创 深入理解linux内存管理之 页表管理
页表是内存管理系统中的数据结构,用于向每个进程提供一致的虚拟地址空间,每个页表项保存的是虚拟地址到物理地址的映射以及一些管理标志。应用进程只能访问虚拟地址,内核必须借助页表和硬件把虚拟地址翻译为对物理地址的访问。页表作用在使用虚拟地址空间的linux操作系统上,每一个进程都工作在一个4G的地址空间上,其中0~3G是应用进程可以访问的user地址空间,是这个进程独有的,其他进程看不到也无法操作这个地址空间;3G~4G是kernel地址空间,所有进程共享这部分地址空间。由于每个进程都有3G的私有进程
2021-10-19 16:56:08 1054
原创 内存管理源码分析-内核页表的创建以及索引方式(基于ARM64以及4级页表)
页表的主要作用是完成虚拟地址到物理地址的转换,更详细的介绍可以参考这个优秀的博客,很好地介绍了页表的理论。Linux如何实现这个页表理论呢?以及如何进行寻址呢?本文将会结合代码,从代码出发,基于ARM64的架构,分析Linux从源码上如何实现页表理论。从一个页的地址说起对于ARM64的架构,一个虚拟地址的大小是64bit。但是实际上并不是全部64bit都是用来寻址的,其中一部分bit会基于架构的不同有一样的作用,但是一个最基本的应用是区分当前地址是用户态和内核态的地址。内核可以通过宏CONFIG_A
2021-10-19 16:51:15 542
原创 build centos 8.2 kernel and download some packages
http://rpmfind.net/linux/centos/8-stream/PowerTools/aarch64/os/Packages/dwarves-1.19-1.el8.aarch64.rpmhttps://vault.centos.org/8.2.2004/BaseOS/Source/SPackages/elfutils-0.178-7.el8.src.rpmhttps://vault.centos.org/8.2.2004/BaseOS/Source/SPackages/libbpf-0
2021-01-23 16:04:38 295
原创 build open vn for docker
当前环境,全新的Centos7.4系统,配置好yum源1、安装docker 1 2 3 4 5 yum install yum-utils device-mapper-persistent-data lvm2 wget -O /etc/yum.repos.d/docker-ce.repo https://downlo...
2021-01-23 16:03:35 363 1
原创 CentOS SRPMS link
https://vault.centos.org/8.2.2004/AppStream/Source/SPackages/
2021-01-18 19:16:12 98
原创 服务器登录出现Host key verification failed
ssh root@192.168.23.103@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY...
2021-01-18 19:15:13 129
原创 CentOS 8.2 Ererything aarcch64 开机启动后图形界面显示不正常(花屏)
安装时候注意要配置好网络,提供第三台机器登录到这台服务器root登录后,vi vim编辑软件编辑 /etc/gdm/custom.conf找到 #WaylandEnable=false 改为WaylandEnable=false 保存重启即可# GDM configuration storage[daemon]# Uncoment the line below to force the login screen to use XorgWaylandEnable=fal...
2021-01-18 19:12:56 762 1
原创 DevExpress chartControl 控件 缩放设置
DevExpress chartControl 控件 缩放设置 diagram.ZoomingOptions.UseMouseWheel = true; diagram.ZoomingOptions.ZoomInMouseAction.ModifierKeys = ChartModifierKeys.None; diagram.EnableAxisXZooming = true; .
2021-01-06 16:08:20 1907
原创 Linux内核编译及CentOS系统安装
1、程序包的编译安装命令:./configure, make, make install(1)./configure:检查编译环境的依赖关系,并设置编译参数;(2)make:编译过程,make不是编译工具,而是项目构建工具,其调用各所需的编译工具执行编译操作;(3)make install:把编译好的文件(文件包括:二进制文件、库文件、帮助文档、配置文件)复制到编译时指定目录下。前提:准备好开发环境(开发工具,开发库),安装后的头文件放置在/usr/include。开源软件提供的是软件的源代码
2021-01-05 19:01:17 202
原创 arm编译器__packed 与gcc packed
#include <stdio.h>#include <linux/tcp.h>#include <linux/ip.h>#include <linux/ipv6.h>#include <linux/if_ether.h>/* ipv4 test vector */static struct { struct ethhdr eth; struct iphdr iph; struct t.
2021-01-03 19:30:59 576
转载 build your own linux os kernel
https://wiki.centos.org/zh/HowTos/BuildingKernelModules 本教学文档以 CentOS-5 作为样例操作系统。在某些情况下你也许会需要更改或创建一个新的内核模块。也许你要加入某个功能,或者只是做一个修正。在这件教学文档内,我们会尝试将一个错误修正加进现有的模块内,然后安装它。这里假设你已经安装了整个内核的源代码。如果你是按照「我需要内核的源代码」的第 2 部份,它会位於 ~/rpmbuild/BUILD/kernel-3.10.0/li..
2021-01-03 19:22:10 1077
原创 RPM包rpmbuild SPEC文件深度说明
RPM包rpmbuild SPEC文件深度说明 关键字spec脚本包括很多关键字,主要有:引用Name: 软件包的名称,后面可使用%{name}的方式引用Summary: 软件包的内容概要Version: 软件的实际版本号,例如:1.0.1等,后面可使用%{version}引用Release: 发布序列号,例如:1linuxing等,标明第几次打包,后面可使用%{release}引用Group: 软件分组,建议使用标准分组License: 软件授权方式,通常就是GPLSour.
2021-01-03 17:23:00 2350
原创 Linux——SRPM的使用:rpmbuild
Linux——SRPM的使用:rpmbuild1、利用默认值安装SRPM文件(--rebuild/--recompile)关于rpmbuild选项与参数--rebuild 这个选项会将后面的 SRPM 进行『编译』与『打包』的动作,最后会产生 RPM 的文件,但是产生的 RPM 文件并没有安装到系统上。当你使用 --rebuild 的时候,最后通常会发现一行字体: Wrote: /root/rpmbuild/RPMS/x86_64/pkgname.x86_64.rpm.
2021-01-03 17:04:58 315
原创 rpmbuild 错误:发现已安装(但未打包的)文件
rpmbuild 错误:发现已安装(但未打包的)文件:首先就是正面解决,把未打包的文件给打包了如果确实不需要打包,那么就可以按照如下方式修改。修改spec文件在%install下面添加%define _unpackaged_files_terminate_build 0...
2021-01-03 16:57:39 2632
原创 git日常操作
1.拉取远程分之git clone http://xxxxxx.git2.删除远程分之在开发过程中,大家在远程创建了许多分支,有些是无用的,该如何删除呢,可以参考下面的方法。如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放稳定代码的地方),可以用这个非常无厘头的语法来删除它:git push[远程名] :[分支名]。如果想在服务器上删除 serverfix 分支,运行下面的命令: git push origi...
2020-09-20 14:53:32 75
原创 ubuntu or ubuntu like to solve error: QtQml/QQmlApplicationEngine: No such file or directory
error: QtQml/QQmlApplicationEngine: No such file or directoryon ubuntuapt install -y qtdeclarative5-dev
2020-09-12 22:33:57 547
原创 CMake中添加Qt模块的合理方法
用CMake来组织的工程中要用Qt首先要设置、找到Qt相关模块。主要是通过find_package这个CMake命令。但网上很多教程都过时了,或者不够清晰灵活。因为这部分很常用,所以特别用一篇文章把我们目前在生产环境中使用的方法给大家介绍下。设置Qt库路径Qt版本很多,我们的开发机上一般也装有多个不同版本的Qt。个人尝试性的项目一般用最新版的Qt,而真正发布的产品一般用的是LTS版本Qt(LTS:Long Term Support,长期支持版本,目前最新的LTS是5.9)。我们的方法是在系统中添
2020-09-10 23:47:59 12378 1
原创 kylin(ubuntu like) 桥接模式连接网络
sudo apt install brctl-utilssudo /etc/init.d/networing stopbrctl addbr br0vim /etc/networkinterfaceauto br0iface br0 inet staticaddress 192.168.32.46netmask 255.255.255.0gateway 192.168.32.1brctl_ports enps0 #您的网卡名bridge_stp onbr...
2020-09-08 18:07:06 412
原创 使用 psql 列出 PostgreSQL 数据库和表
修改PostgreSQL数据库默认用户postgres的密码PostgreSQL数据库创建一个postgres用户作为数据库的管理员,密码随机,所以需要修改密码,方式如下:步骤一:登录PostgreSQL 1 sudo-u postgres psql 步骤二:修改登录PostgreSQL密码 1 ALTER USER postgres WITH PASSWORD'postgres'; postgre查询所有用..
2020-09-01 12:55:26 7382
原创 linux find 查找删除文件
find./-name *.log |xargsrm-rf删除在当前目录下及子目录中找到的所有log日志删除find搜索到的文件Linux find 命令在指定目录下查找文件。删除目录下所有通配符搜索到的文件find . -name 'zui-副本.*' -type f -print -exec rm -rf {} \;' . ' : 从当前目录及改目录下所有子目录;' -type f ' : 搜索文件类型为文件;如-type-d 表示目录类型;' -print...
2020-08-28 11:43:44 1041
原创 批量转换libosinfo ubuntu db xml为ubuntukylin db xml
#!/bin/bashfor xml in ./*.xml.indo echo rename $xml to ubuntukylin-${xml##*-} mv $xml ubuntukylin-${xml##*-}done#!/bin/bashfor xml in ./*.xml.indo echo $xml sed -i '9s/Canonical Ltd/kylinos Ltd/' $xml sed -i 's/ubuntu/ubuntuky.
2020-08-23 13:18:57 106
原创 解决“警告:检测到时钟错误。您的创建可能是不完整的”问题的一种办法
1.使用touch命令在编译时会看到和make: Warning: File `shttpd/include/shttpd.h' has modification time 3e+07 s in the future类似的警告,直接执行touch 文件名来修正文件时间,尝试过后确实有用,但是只适用于报错文件不多的情况下,报错文件一多工作量就太大了;而且有时还会出现找不到这个报错文件的情况。看到还有一种更新整个项目时间的方法,运行:touch *但是尝试过后好像并没有作用2..
2020-08-11 16:19:44 1470
原创 批量反编译dtb文件
#!/bin/shfor dtbfiles in ./*.dtbdo echo $dtbfiles to convert ${dtbfiles%.*}.dts sudo dtc -I dtb -o ${dtbfiles%.*}.dts $dtbfilesdone
2020-08-08 10:43:31 219
原创 Linux统计代码行数
wc -l *.c *.h 就可以知道当前目录下的所有c 和 h 文件的行数的详细信息。很不错如果要递归,可以配合其他命令一起使用当前目录及子目录:find . -name *.c |xargs wc -lfind . -name *.cpp | xargs wc -lfind . -name *.h |xargs wc -l想一下子 ,或许简单的可以 使用重定向技术 使用find -name "*.c">/tmp/file.list ;find -name "*.h" >
2020-07-16 15:13:04 3161
原创 Understanding Docker Container Exit Codes
The most common exit codes, what they mean, and what causes themSandeep MadamanchiFollowOct 21, 2019·4min readDocker container exit code — how to use them for troubleshooting?It’s one of the most common question that I come ...
2020-05-25 20:24:52 533
原创 编译linux overlayfs模块
当我们需要使用一个内核模块的时候,在当前使用版本内核编译的时候又没有加进去,在不改变内核版本的时候,再编译整个内核,可能会覆盖原来的内核,导致系统无法启动现在我们能够单独选择需要的模块,然后加载进内核准备工作首先进入你当前使用的系统查看当前的使用内核版本,在这里是 2.3.39下载对应内核源码包 linux-2.6.39.tar.bz2 将源码包放入 /usr/src/ 下解压...
2020-04-12 21:09:37 1439 2
原创 OpenStack Stein删除所有网络
#!/bin/bash#delete vmfor vim in `nova list |awk '{if( NR > 2 ) {print $2}}'`;do nova delete $vim &done#Unbundling routerfor port in `openstack port list |awk '{if( NR > 2 ) ...
2019-10-21 09:47:26 295
原创 packstack多节点自动部署
1.关闭selinuxsed -i "s/"selinux=enforcing"/"selinux=disabled"/g" /etc/selinux/config2.编辑 /etc/hostseg.192.168.1.12 controller1....192.168.1.45 compute1....3.所有节点执行firewall-cmd --se...
2019-10-10 10:31:15 1076
原创 vim8.0 无法使用右键复制粘贴问题
今天为了测试安装youcompleteme 插件,源码./configure安装了vim 8.0,安装后进入vim后鼠标右键无法复制粘贴,解决办法:vim /usr/local/share/vim/vim80/defaults.vim将if has('mouse') set mouse-=aendif注释掉后,重新登陆解决!...
2019-08-20 15:26:49 1113
原创 RedHat CentOS系列桌面系统添加图表到桌面、开始菜单
图标加到桌面实际上就是编写一个.Desktop的配置文件使gnome-session等程序读取以Eclipse 为例桌面[Desktop Entry]Name=EclipseComment=Use the code lineTryExec=gnome-terminalExec=/opt/eclipse/eclipse/eclipseIcon=/opt/eclipse/ecl...
2019-07-30 15:30:28 1318
原创 virtsh 新建虚拟机并且给虚拟机安装操作系统
必要软件1.qemu2.virt-manager3.virt-client创建 guest 所需的磁盘qemu-img 主要用来创建 guest 所需的磁盘, create 表示创建,-f qcow2 表示创建一个格式为 qcow2 的磁盘, /var/lib/libvirt/images/centos7.3.qcow2 表示创建的磁盘名称及磁盘文件,100G 表示该磁盘...
2019-07-22 14:27:28 556
原创 CentOS批量干掉旧版内核
step 1rpm -e|grep kernelstep 2#!/bin/bashtarget=(kernel-3.10.0-957.12.2.el7.x86_64 kernel-3.10.0-957.10.1.el7.x86_64kernel-3.10.0-957.21.2.el7.x86_64)index=0while [ $index -lt ${#targe...
2019-07-02 15:45:47 139
censtos kernel source
2021-01-05
alsa-to-use-guide
2019-04-06
libenchant
2018-08-16
看门狗模式 watch dog
2017-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人