linux技术文章
-
Linux 策略路由通过 ip rule 的 RPDB 选择自定义路由表。本文以双网卡源地址分流为例,给出建表、加规则、route get 验证、回滚和持久化要点。406 收藏 -
用 nftables 命名集合维护临时封禁地址,配置 timeout、gc-interval 和 size,掌握 add、delete、expires 观察及重启恢复边界。248 收藏 -
通过 journald 的 Storage=persistent 配置让 Linux 日志优先写入 /var/log/journal,并用 journalctl --flush、--list-boots、--disk-usage 检查跨重启读取、权限和空间上限。147 收藏 -
本文用 systemd WatchdogSec、sd_notify 与 Restart=on-watchdog 配置服务心跳,解释超时重启、NotifyAccess、启动限速和排障方法,避免进程存活却业务假死。482 收藏 -
Linux 网络命名空间接入宿主机网桥的核心是创建 veth 对:宿主机端加入 bridge,另一端移入 netns;三层地址配置在网桥和命名空间端口上。本文给出完整命令、核对方法、路由边界与生产加固要点。354 收藏 -
Linux zram 写回不是简单把内存压力转给磁盘。本文用 backing_dev、idle/huge 页面选择、4 KiB 写回预算和 mm_stat/bd_stat 统计,说明如何在内存节省、磁盘 I/O 与闪存寿命之间建立可控边界。373 收藏 -
介绍 Linux Landlock 的文件目录最小权限模型,给出普通进程创建规则集、添加目录规则、限制自身及处理 ABI 与线程边界的完整思路。151 收藏 -
本文用 veritysetup 演示 Linux dm-verity 的数据区、哈希区与可信 root hash 关系,说明如何先校验再创建只读映射,并梳理根文件系统启动、损坏处理和完整性边界。190 收藏 -
本文用一个进程事件示例说明 Linux BPF ring buffer 的内核态写入与用户态消费:定义 map 和事件结构,使用 reserve/submit 或 output,借助 libbpf poll 回调读取,并处理空间不足、长度校验、丢事件与资源释放。348 收藏 -
用 nftables 命名集合承载动态封禁地址,让规则只负责引用集合;本文给出创建、增删、临时超时、状态检查和持久化配置的完整方法。193 收藏 -
io_uring 固定缓冲区适合反复复用少量长期内存的高频 I/O,尤其常与 O_DIRECT 配合。本文说明注册映射、buf_index、内存锁定成本、最小 READ_FIXED 写法,以及和 provided buffer ring 的选择边界。220 收藏 -
Linux PID 会因为进程退出而复用,保存裸 PID 再发送信号存在误操作竞态。本文用 pidfd_open、pidfd_send_signal 和 poll/epoll 说明如何持有稳定的进程句柄,并梳理线程、子进程创建、权限和兼容性边界。227 收藏 -
cgroup v2 的 memory.events 会汇总当前组及后代事件,memory.events.local 只保留当前组计数。本文通过父组与子组的前后快照差值定位 high、max、oom、oom_kill 等事件来源,并说明 memory_localevents 挂载选项和监控误区。180 收藏 -
Linux PSI 支持把 some/full、累计停顿微秒数和时间窗口写入压力文件,再用 poll 等待 POLLPRI 通知。本文从短时抖动漏报现场出发,给出可运行的用户态监听器,并说明权限、限频、文件描述符和 cgroup v2 边界。331 收藏 -
systemd socket 配置 Accept=yes 后,会为每个进入连接启动一个 @.service 实例。本文用一组原创 unit 示例说明命名规则、%i 参数、socket 传递方式和排查清单。386 收藏