linux技术文章
-
本文用 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 收藏 -
DynamicUser=yes 可让 systemd 在服务启动时分配临时 UID/GID、停止时回收身份。本文通过完整单元示例讲清 User= 命名、四类托管目录、UID 复用风险、隐含安全限制与静态账号取舍。261 收藏 -
Linux OOM 被触发后,不能只按 RSS 猜受害者。本文用内核日志、oom_score、cgroup 限制和 memory.events 还原选择范围,并给出可持续的证据采集方法。233 收藏 -
Linux 文件系统在线扩容要先确认设备链路,再分别使用 resize2fs 或 xfs_growfs,并在扩容前后核对容量、挂载关系与文件系统信息。179 收藏 -
文章 · linux | 1个月前 | 容器 · Linux · 容器隔离 mount namespace PID namespace linux namespace network namespace
Linux namespace 通过不同资源视图构成容器隔离。本文对比 PID、network 与 mount namespace,结合 /proc、unshare、ip netns 和 veth 示例,说明如何观察边界、验证隔离并区分 cgroup 与安全控制。268 收藏 -
日志轮转后进程仍写旧文件,通常不是 logrotate 没生效,而是进程持有旧文件描述符。本文用 inode、rename、copytruncate 和 postrotate 解释现象,并给出可复用的排查与修复清单。490 收藏 -
SSH 关闭密码登录只是起点。本文从账号白名单、root 入口、转发与隧道、认证窗口、有效配置检查和安全加载六个方面,给出一套可逐项落地且便于回滚的 OpenSSH 服务边界收紧方法。297 收藏 -
Linux 负载高并不等于 CPU 已满。本文用 /proc/loadavg、vmstat、iostat、pidstat、ps 和锁统计,把 I/O 等待与锁等待拆成可复核的排查证据。398 收藏