
Linux
文章平均质量分 66
linux
Li-Yongjun
这个作者很懒,什么都没留下…
展开
-
内核命令行参数
内核命令行参数是在 Linux 内核启动时传递给内核的一组配置选项。原创 2025-05-16 02:18:51 · 915 阅读 · 0 评论 -
Linux 内核参数
内核参数是Linux系统中用于控制和调整内核行为的可配置选项,影响系统性能、安全性和功能特性。主要参数种类包括应用程序二进制接口、内核调试、设备驱动、文件系统、通用内核行为、网络协议栈、NFS/RPC、用户空间限制和虚拟内存管理。配置内核参数的方式有四种:编译内核时通过修改.config文件或源码;内核启动时通过GRUB命令行参数;内核运行时通过/proc/sys/或/sys/目录下的文件动态调整;加载内核模块时通过配置文件或命令行参数传递。每种方式有其特定的生效时间和持久性,适用于不同的场景,如深度定制内原创 2025-05-12 22:30:00 · 973 阅读 · 0 评论 -
fastboot
fastboot 是一种主要用于 Android 设备的通信协议。原创 2025-03-30 20:00:00 · 770 阅读 · 0 评论 -
USB 数据接收机制
所有数据传输均由主机(Host) 发起,设备(Device) 被动响应。原创 2025-03-04 00:31:35 · 994 阅读 · 0 评论 -
内核崩溃分析
------------[ cut here ]------------ 是一个标记,用于指示内核崩溃的起始点。原创 2025-02-18 22:43:14 · 946 阅读 · 0 评论 -
efivarfs 实现原理
efivarfs 是一种特殊的文件系统,用于挂载和访问 EFI 变量。原创 2025-02-12 02:20:15 · 1033 阅读 · 0 评论 -
Linux 内核信号 SIGIO 使用实例讲解
内核主动向用户空间发送信息的方式有哪些呢?除了 Netlink,信号(Signal)也是一种。原创 2025-01-22 00:56:04 · 1195 阅读 · 0 评论 -
四种编译方式(make、cmake、configure、autogen.sh)
最终都是 make 方式原创 2025-01-09 23:04:17 · 687 阅读 · 0 评论 -
ssh 远程执行命令
查看 ssh 用法时,发现 ssh 最后可以跟个 command 命令。原创 2024-12-18 02:50:28 · 1297 阅读 · 0 评论 -
Ubuntu 下 r8168 网卡问题排查与解决
lspci 显示网卡型号是 RTL8111/8168/8411,而 Ubuntu 自动安装的驱动是 r8169,问题在这。原创 2024-12-11 02:55:31 · 620 阅读 · 0 评论 -
PHY 寄存器读写工具(mii-tool、phytool、mdio-tool、phyreg)
PHY 寄存器读取工具原创 2024-12-04 01:08:23 · 3118 阅读 · 0 评论 -
内核模块签名验证
内核模块签名验证受 CONFIG_MODULE_SIG 内核编译选项控制原创 2024-11-27 23:26:13 · 658 阅读 · 0 评论 -
制作 Ubuntu 平台下的串口助手
重复、低效的事情,交给计算机(程序)去做。原创 2024-11-25 08:45:00 · 725 阅读 · 0 评论 -
Linux mountpoint 命令详解
在脚本中挂载设备后,通常需要验证挂载是否成功。这时可以使用 mountpoint 命令原创 2024-11-17 23:15:00 · 728 阅读 · 0 评论 -
OpenGL
OpenGL 是一个跨语言、跨平台的编程接口,它主要用于渲染 2D、3D 图像原创 2024-11-07 08:45:00 · 1321 阅读 · 0 评论 -
EXPORT_SYMBOL 底层原理
编译器会将这些信息放在模块的 .o 文件的 __ksymtab 和 __ksymtab_strings 段中。当内核加载这个模块时,它会处理 __ksymtab 和 __ksymtab_strings 段,将符号注册到全局符号表中。原创 2024-10-28 22:15:00 · 1199 阅读 · 0 评论 -
systemctl --user
/usr/lib/systemd/user/ 目录用于存放用户级别的 systemd 服务单元文件。原创 2024-10-24 01:11:41 · 1423 阅读 · 0 评论 -
从 init 到 systemd:Linux 系统管理的演变
systemd 支持许多高级功能,如服务的依赖管理、并行启动、系统状态检查等。原创 2024-10-22 01:45:46 · 752 阅读 · 0 评论 -
/dev/log 文件详解
/dev/log 是一个 Unix 域套接字,专门用于系统日志的传递。syslog() 函数将错误消息发送到 /dev/log,然后系统日志守护进程接收并处理该消息。原创 2024-09-23 08:45:00 · 1081 阅读 · 0 评论 -
/dev/kmsg, /proc/kmsg 和 dmesg
rsyslogd 可以替代 syslogd 和 klogd,提供统一的日志处理功能。原创 2024-09-05 08:30:00 · 2600 阅读 · 0 评论 -
使用 journalctl 管理系统日志
在现代 Linux 系统中,journalctl 是管理和查看系统日志的强大工具。它是 systemd 日志系统的一部分,提供了一种统一的方式来查看所有系统日志,包括**内核日志**、**服务日志**和**用户空间应用程序日志**。原创 2024-09-02 09:00:00 · 1700 阅读 · 0 评论 -
cpio 命令
cpio 是一个命令行工具,用于创建或提取归档文件。原创 2024-08-08 01:17:57 · 896 阅读 · 0 评论 -
dd 命令:数据管理的瑞士军刀
dd 是一个灵活而强大的工具,广泛应用于数据备份、恢复、克隆和销毁等操作。通过掌握 dd 的基本用法和高级选项,用户可以在各种场景下高效地管理数据。尽管功能强大,但使用 dd 时需特别小心,以避免意外的数据丢失。原创 2024-08-01 01:22:10 · 1272 阅读 · 0 评论 -
UPX:究极打包利器
UPX 的主要优点在于,它不仅可以大幅度减少文件体积,还能保持可执行文件的运行速度,几乎不影响程序的启动时间。原创 2024-07-30 00:59:51 · 5658 阅读 · 0 评论 -
使用 gzexe 压缩和执行 shell 脚本
gzexe 是一个可以压缩 shell 脚本的工具。它通过使用 gzip 将脚本压缩成一个更小的文件,同时保留脚本的可执行性。压缩后的脚本在执行时,会自动解压缩并运行原始脚本内容。原创 2024-07-23 23:23:35 · 1136 阅读 · 0 评论 -
syslogd: 系统日志守护进程
将某个进程的日志写入特定的 log 文件原创 2024-07-16 23:48:34 · 1300 阅读 · 0 评论 -
pstore 存储内核崩溃日志
pstore(Persistent Storage)是 Linux 内核提供的一种机制,最初是用于系统发生oops 或 panic 时,自动保存内核 log buffer 中的日志。不过在当前内核版本中,其已经支持了更多的功能,如保存 console 日志、ftrace 消息和用户空间日志。同时,它还支持将这些消息保存在不同的存储设备中,如内存、块设备或 mtd 设备。原创 2024-07-11 08:45:00 · 1098 阅读 · 0 评论 -
使用 /proc/sysrq-trigger 进行系统调试和故障排除
/proc/sysrq-trigger 是 Linux 内核提供的一个接口,它允许用户通过写入特定命令来触发系统请求(SysRq)功能。原创 2024-07-03 22:41:56 · 1816 阅读 · 0 评论 -
/proc/config.gz
有时候,我们想知道一个运行着的内核都打开了哪些编译选项,当然,查看编译环境的 .config 文件是一个不错的选择,除此之外,还有没有别的办法呢?当然有,那就是 /proc/config.gz。原创 2024-07-01 23:04:59 · 630 阅读 · 0 评论 -
您的计算机时间有误
SSL 证书具有一定的有效期限,一旦证书过期,它就不再被认为是可信的。所以,如果计算机的时间和服务器的时间不同步,可能会导致认为证书已过期,从而拒绝提供服务。原创 2024-06-11 21:45:00 · 492 阅读 · 0 评论 -
netplan
netplan 是 ubuntu 17.10 版本中引入的一种全新的命令行网络配置程序,用于在ubuntu系统中轻松管理和配置网络设置。原创 2024-05-27 01:02:28 · 1400 阅读 · 0 评论 -
AppImage 创建快捷方式
在桌面右击,点击允许启动后,图标就显示正常了,双击图标,就可以正常运行了原创 2024-05-10 01:52:09 · 1072 阅读 · 0 评论 -
ASAN
ASAN 是 Address Sanitizer 的简称,是 GCC 自带的内存问题检查工具,比较轻量级,非常适合单元测试时检查内存问题。使用也比较简单,只需要在编译时加上 `-fsanitize=address` 选项即可。原创 2024-04-25 22:15:00 · 1143 阅读 · 0 评论 -
Linux kernel 墙上时间
果然,Linux 系统时间不走了。原创 2024-04-14 23:15:00 · 753 阅读 · 0 评论 -
性能优化——避免使用除法
ARM 硬件上不支持除法指令。编译器是通过调用 C 库函数来实现除法运算的,要花费 20~100 个周期。如果不能避免除法运算,那么就尽量使除数和被除数是无符号的整数。原创 2024-03-31 19:54:15 · 744 阅读 · 0 评论 -
gdb 调试记录
持续更新。。。原创 2024-03-05 22:34:49 · 855 阅读 · 0 评论 -
内核打印应用程序出错信息,DEBUG_USER
当用户程序由于异常而崩溃时,内核可以打印一条简短的消息来说明问题所在。这有时对调试很有帮助,但对生产系统没有任何作用。大多数人应该在这里说 N。此外,你需要在内核命令行上传递 user_debug=N 来启用此特性。原创 2024-02-29 22:32:54 · 1005 阅读 · 0 评论 -
ASLR 和 PIE
ASLR 不负责代码段以及数据段的随机化工作,这项工作由 PIE 负责。但是只有在开启 ASLR 之后,PIE 才会生效。无论是 ASLR 还是 PIE,由于颗粒度问题,被随机化的都只是某个对象的起始地址,而在该对象的内部依然保持原来的结构,也就是说相对偏移是不会变的。原创 2024-02-26 21:43:45 · 1044 阅读 · 0 评论 -
watchpoint
内存被踩,通过 watchpoint 找到真凶。原创 2024-02-22 21:57:10 · 545 阅读 · 0 评论 -
Kernel 地图
看内核代码,先看 Makefile 和 Kconfig。原创 2024-02-19 22:03:57 · 1086 阅读 · 0 评论