- 博客(31)
- 收藏
- 关注
原创 gcc8.3.1 rpm包离线升级
离线下载地址:https://archive.kernel.org/centos-vault/altarch/7.6.1810/sclo/aarch64/rh/devtoolset-8/
2024-11-15 16:03:05
432
原创 thrift静态编译
下载地址:https://github.com/apache/thrift/releases。下载地址:https://www.boost.org/users/history/注意:编译结果在”/root/BBin/openssl1.1.1“注意:编译结果在”/root/BBin/libevent“下载版本:libevent-2.0.22-stable。下载地址:https://libevent.org/注意:编译结果在”/root/BBin/boost“下载版本:boost 1.72.0。
2024-11-15 16:00:55
224
原创 cppcheck源码编译
下载地址(由于github访问不了,使用gitee中找):https://gitee.com/kuletco/cppcheck/tree/1.72/参考之前的打包机器,使用1.72版本。
2024-11-15 16:00:08
223
原创 麒麟服务器工作站SP1 arm环境qt5.6.3源码编译
以上对获取最新版本都可以获取到,但qt5.6.3已不再维护,所以以上渠道一般无法获取。
2024-11-11 20:00:33
1030
原创 centos7 arm版本编译qt5.6.3详细说明
编译必须使用源码下载,拷贝的QT源码文件可能存在包括如: (1)代码中含有中间编译结果; (2)含有中间生成Makefile; (3)复制过程导致代码格式异常(脚本换行符之类的系统差异异常); (4)压缩解压过的文件存在执行权限丢失可能等。编译必须编译所有, 只编译部分可能导致拿去用的时候发现程序运行OK,但呈现出的效果不符合预期,如界面组件文件缺失,窗口显示怪异等。
2024-11-11 19:57:38
858
原创 arm编译qt LLIntAssembly.h问题解决:llint/LowLevelInterpreter.cpp:414:35: fatal error: LLIntAssembly.h: No
具体操作步骤,如下两步骤,在当前目录下生成对应头文件,然后重新make即可成功。参考链接说明,这是一个bug。
2024-11-05 11:30:19
211
原创 指定用户开启自启vncserver
以上两种实际启动的桌面环境有差异,如pkexec提权窗口是否是UI还是命令行会有差异。普通用户ssh后,直接vncserver :1。#手动启动 指定用户。
2024-11-01 11:53:08
798
1
原创 qt事件循环
windows上,qt application中实现的postevent(异步事件通知)是通过自定义的系统事件实现,实现是通过postmessage丢一个自定义事件到消息队列尾部,在窗口事件回调中和processEvents中都会处理。linux上,是在事件循环中基于真实时间搞的,用一个链表维护所有定时器,包括其中事件循环的select都会关心定时器的超时时间,超时设置不会超过定时器超时时间,在时间循环中会检测和执行事件循环。linux上,事件循环中每次都会先调用一次刷新执行所有异步事件。
2024-11-01 11:48:58
438
原创 linux桌面通知
notify-send -t 0 -i ‘/home/myb/桌面/testmodle/TaskPNG.png’ -a ‘Agssss’ ‘summary’ ‘body of message’
2024-11-01 11:46:36
371
原创 linux图形化X窗口
装饰器(基本的窗口最大化,最小化,移动,边框,标题栏,主体样式,焦点,布局),窗口管理器提供所有窗口的管理操作(统一的风格样式和统一的窗口功能),窗口管理器和普通UI一样也是一个X客户端。展示为x11代表桌面环境后端图形系统是x11系统,如果是tty则是非图形化(比如麒麟服务器vncserver远程后之前提权弹窗问题就是由于窗口的环境变量不标准,在图形化环境种xdg指定为了tty,而非x11),.desktop桌面程序菜单展示的标准即出自该标准,窗口任务栏,系统托盘标准也都是在XDG标准约定。
2024-11-01 11:45:18
952
原创 linux内核open阶段hook lsm接口校验文件崩溃分析
虚拟机中,挂载了virtualBox的文件系统vboxfs,在open文件中注入基于file指针访问文件检查文件是否是脚本(source执行脚本方式),直接使用原open传递的file指针访问文件无法访问。即使脚本放在宿主机也是同理。
2024-07-03 17:55:00
367
原创 Linux内核中断分析
CPU执行速度比其他外设(如磁盘、网卡等)快几个数量级。如果采用轮询check的方式并发能力和性能会非常差,当然在不考虑这些的情况有些实现会专门改为轮询方式(如防火墙网闸等采用的dpdk技术:其接管网卡,独占CPU,用户态轮询式驱动等方式优化网卡IO速率,这种情况CPU持续100%,哪怕没有数据也是空转)。在正常99%场景下linux内核都要保证一个平稳并发各方面能力都表现可以,而不是只某一方面非常好,而其他方面不可用。所以中断是非常必要的。
2024-07-03 13:44:38
312
原创 内核临界保护分析
屏蔽中断是为了防止当前CPU执行关键代码时被切换出去,所以目的不是为了屏蔽中断,而是为了达到防止CPU发生任务切换的调度。如果为了防止CPU发生切换调度,为什么不使用preempt_disable。local_irq_save 和 preempt_disable 区别?前者关闭硬中断,自己不切换释放下,则任务不会被调度出去,从而间接实现防止调度。后者关闭抢占,直接关闭调度,直接达到防止任务切换出CPU。
2024-06-28 10:56:50
808
原创 安全U盘结合终端管控产品的应用
安全u盘本身作为独立产品提供以上安全u盘在不考虑主机卫士下,根据加密方案可能它需要专用软件去写入,也可能不需要专业软件写入。所以写入是否只能专业软件写这实际是根据安全u盘自身的实现决定。专业软件一般提供密码,保护设置,格式化,文件操作等能力。
2024-06-28 10:53:07
158
原创 linux程序关闭syslog输出
程序作为服务被运行时,其标准输出被journald服务接管,其内部分发给syslog,从而记录到系统syslog日志文件。存在问题是:一般程序标准输出用来调试使用,所以不控制标准输出,这样会导致调试信息最终全部写到了syslog文件,从而引起磁盘打爆。
2024-06-24 09:59:40
796
原创 linux配置系统syslog文件大小策略
(1)修改文件 /etc/logrotate.d/rsyslog,如下主要新增size,限制文件的最大大小为1G,一般实际根据系统设置,根目录剩余30G以上,size设置1G,rotate都设置为3,这个可以根据实际情况设置。(2)确保配置了logrotate的定时任务,一般系统都已经存在,如下麒麟系统看到的/etc/cron.daily/logrotate。
2024-06-24 09:55:35
1388
原创 RASP理解?
基本RASP是运行时应用自保护。相当于应用程序内部融合的waf功能。传统waf是部署在边界、RASP是部署在web容器等客户程序的内部。
2024-05-12 15:55:57
406
2
原创 Linux如何解释程序虚拟内存很大
终端产品给客户部署时,客户提出程序占用内存非常大,担心安装部署后对终端自身性能有较大的影响!具体查看后实际是虚拟内存占用比较大。实际中如何解释这一现象。
2024-05-01 22:19:18
880
原创 linux自动升级实现及关闭自动升级
其中的 apt-daily.timer 和 apt-daily-upgrade.timer 是两个触发器,分别在每天指定的时间触发 apt-daily.service 和 apt-daily-upgrade.service。apt-daily-upgrade.service 为脚本传入参数 “install”,其功能为安装更新并删除缓存在本地的更新包。apt-daily.service 为脚本传入参数 “update”,其功能为检查系统的更新并下载对应的更新包。备注:除以上,也可桌面系统设置。
2024-04-28 17:54:46
1320
1
原创 ubuntu修改默认启动内核
注意这里/etc/default/grub是系统给出的grub参数配置,但配置后是无法直接生效的,需要通过update-grub命令去生效,然后重启,完了就OK。主要修改GRUB_DEFAULT参数指定启动内核,指定的内容为grub菜单的条目描述。首先查看当前grub的菜单配置 cat /boot/grub/grub.cfg。修改文件:/etc/default/grub。【获取启动内核的菜单描述方法】
2024-04-28 17:48:54
1537
原创 linux基于pam的多因子登录实现
可以看到密码框中提示了PIN。PIN密码是:123 输入后才会提示passwd输入正常的用户密码。注意加在第一行,要在pam_unix.so验证之前。否则目前 看没有输入PIN的时机。login命令:如下。
2024-04-28 16:55:01
354
原创 ebpf理解
简单记录下ebpf的个人理解。结构ebpf分为两部分。一部分是ebpf字节码代码,另外一部分是加载ebpf字节码的用户态程序。ebpf字节码字节码是只能使用bpf helper函数编写的代码。这个代码运行于内核中。基于现有的tracing系统注入ebpf字节码,比如tracepoint,kprobe,raw_tracepoint等。这些根据注入点的不通这块将bpf程序进行对应的分类。每种类型有点差异,比如tracepoint类型的ebpf代码,获取函数参数按照指定的结构获取。而raw_tracep
2022-08-05 20:35:32
611
原创 centos设置切换默认内核
查看当前默认启动内核[root@centOS7 client]# grub2-editenv listsaved_entry=CentOS Linux (3.10.0-1160.36.2.el7.x86_64) 7 (Core)[root@centOS7 client]#罗列所有内核[root@centOS7 client]# cat /boot/grub2/grub.cfg | grep menuentryif [ x${feature_menuentry_id} = xy ]; then..
2022-08-01 22:59:47
1095
原创 linux应用程序如何自己控制coredump生成
coredump文件使用系统配置使用部分程序控制,部分系统配置完全程序控制,coredumper实践系统配置core生成开启core产生ulimit -c unlimited配置core路径默认进程的工作目录下,通过chdir可以更改。配置路径 /proc/sys/kernel/core_pattern缺陷,应用程序是否产生core完全依赖系统配置。部分程序控制,部分系统配置使用setrlimit函数设置进程产生的core文件大小使用chdir控制进程的工作目录,用以在默
2022-08-01 22:57:28
537
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人