TeoSeo v1.3.0:GEO 优化、主题适配检测与自动更新修复
本文要点 TeoSeo v1.3.0 新增 GEO 优化:meta/og:description 清理、BreadcrumbList 结构化数据、文章顶部「本文要点」折叠块保护; 新增 GEO 开关(默认关闭,手动开启)与主题适配检测弹窗(非 Inaline 主题勾选开启时会提示,可前往博客留言请求适配); 新增 Inaline 主题适配补丁(inaline-patch/),解决 details.
本文要点 TeoSeo v1.3.0 新增 GEO 优化:meta/og:description 清理、BreadcrumbList 结构化数据、文章顶部「本文要点」折叠块保护; 新增 GEO 开关(默认关闭,手动开启)与主题适配检测弹窗(非 Inaline 主题勾选开启时会提示,可前往博客留言请求适配); 新增 Inaline 主题适配补丁(inaline-patch/),解决 details.
本文要点 losetup 干的事是把一个普通文件注册成块设备:truncate 造文件 → mkfs.ext4 写文件系统 → losetup -f --show 关联 → mount /dev/loop0。走完这条链,一个文件就获得了分区的一切待遇 镜像长大了内核不会自己知道:实测 truncate -s 96M 之后 blockdev --getsize64 /dev/loop0 仍然报...
本文要点 OverlayFS 用四个目录拼出一个视图:lowerdir(只读底层,可多层)、upperdir(可写层)、workdir(内核内部用的中转目录,必须与 upper 同一个文件系统)、merged(挂载点,用户看到的成品) 读走下层:lower 里的文件原样出现在 merged 里,一个字节都不复制 写要 copy-up:动一个 lower 文件,内核会把它整个复制到 upper...
本文要点 大页解决的是 TLB 查表次数:x86-64 默认页 4KiB,1GiB 工作集就是 26 万个页表项,TLB 装不下;换成 2MiB 大页只剩 512 项 透明大页由三个文件共同决定:enabled(always/madvise/never)、defrag(内核肯不肯为它做内存规整)、shmemenabled(共享内存那一侧)。这台机器是 madvise + madvise +...
本文要点 SysRq 有两条触发路径:控制台键盘上的 Alt+SysRq+<字母>,以及文件 /proc/sysrq-trigger(root 写一个字母进去即可)。后者不需要键盘、不需要控制台,是脚本和本文演示用的方式 /proc/sys/kernel/sysrq 的值是位掩码,不是开关:本文这台机器是 176 = 16(sync) + 32(remount-ro) +...
本文要点 Linux 选路不是「查一张路由表」,而是先查规则、再查表:内核的 RPDB(Routing Policy Database)按优先级依次匹配 ip rule,命中哪条,就去它指定的表里找路由 系统默认只装三条规则:0: local、32766: main、32767: default。平时敲 ip route 看到的是 main 表,换个源地址就可能查到别的表去 加一条 ip...
本文要点 /dev 下的节点不是 udev 建出来的,是内核建的:/dev 是内核挂的 devtmpfs,设备一注册节点就出现,此时的权限是内核的默认值(brw------- root root,0600) udev(systemd-udevd)随后接到内核发来的 uevent,按 /usr/lib/udev/rules.d + /etc/udev/rules.d...
本文要点 同一份 16MiB 的日志语料,四种工具的产物差了 4.5 倍:gzip -9 压到 12.6%、bzip2 -9 6.1%、zstd -19 4.8%、xz -6 2.8%——但耗时也从 gzip 的 0.85 秒一路涨到 zstd -19 的 37 秒、xz -6 的 15 秒 ⚠️ 三个工具的「ratio」列口径完全不同,直接抄进表格会出错:gzip -l...
本文要点 服务能跑起来只是及格线:在 Ubuntu 22.04 上随手写一个 Type=oneshot 单元,systemd-analyze security 给的评分就是 9.6 UNSAFE——和 cron、dbus、dmesg 这些系统自带服务同一个档次...
本文要点 同一个文件,ls -lh 说 512M、du -h 说 0,两个数都是对的:前者读的是 inode 里的逻辑长度,后者数的是真正分配出去的块。差距来自空洞(hole)——稀疏文件的核心概念 两种「造大文件」的手法是反的:truncate -s 512M 只改长度、一个块都不占(实测 stat 的 blocks=0、filefrag 报 0 extents...