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.
本文要点 清单文件就是一列 哈希 + 两个空格 + 路径,sha256sum -c 逐行比对;只要有一行对不上就返回 1,脚本里可以直接用它当判断条件 sha256sum -c 只能发现「清单里列过的文件被改了」,新增文件它一个字都不会提——要抓新增得再拿 comm 对比清单与现状 dpkg -V 的清单用的是不带前导斜杠的相对路径(bin/ls),所以 dpkg -S /usr/bin/ls..
本文要点 stat 一次给出四个时间戳:Access(atime)、Modify(mtime)、Change(ctime)、Birth(创建时间 btime)。实测新建文件时四者完全相同,但它们的用途和可信度完全不同 touch -d 能把 mtime 改成 2020-01-01,ctime 却留在当下:ctime 是「inode...
本文要点 free 里的 free 列几乎没用:本文实测机器只剩 72Mi 空闲,available 却有 1.6Gi——Linux 把闲置内存全拿去做了页缓存,需要时随时回收 手动 dropcaches 释放 1.3Gi 缓存后,available 从 1.6Gi 到 1.6Gi 一点没变——这证明缓存本来就计入可用内存,生产上随手清缓存除了让磁盘重新读一遍,没有任何收益 ps 按 RSS...
本文要点 乱码的本质是「字节没变、解读方式变了」:同一个「编」字,UTF-8 存成 e7 bc 96 三个字节,GBK 存成 b1 e0 两个字节——用错的编码去读,自然是一屏莫名其妙的中文 file -i 会把 GBK 文件误判成 iso-8859-1(本文实测),不能盲信:它是靠启发式猜的,判断真实编码要结合文件来源、字节数和 hexdump iconv -f GBK -t UTF-8...
本文要点 nice 值范围 -20(最高)到 19(最低),内核按权重而非「优先级数字」分配 CPU:nice 0 权重 1024,nice 19 权重仅 15,理论差距约 68 倍;只有 root 能设负值 实测(1 核机器、两个死循环抢 8 秒):nice 0 的进程拿到 98.5% CPU、累计 00:00:07,nice 19 的只拿到 1.5%、累计 00:00:00——实测比值...
本文要点 setuid 的「全有或全无」问题:被攻破的程序直接等于 root。现代发行版已经在用更细的文件能力(capabilities)替代它——实测本机 /usr/bin/ping 是普通 755 权限 + capnetraw=ep 能力位,而 /bin/su 仍是 -rwsr-xr-x 的 setuid 程序 能力 = 内核里的细粒度权限位:绑定 1024 以下端口只需要...
本文要点 chroot 把进程看到的根目录 / 换成另一个目录:进程从此「看不见」主机文件系统,只能看到沙盒里放进去的东西——实测进入沙盒后 ls / 只剩自己放进去的 bin,ls /root 直接报 No such file or directory 零依赖搭沙盒:一个静态编译的 busybox(实测 2.1MB 单文件,本机系统自带;没有的话 apt-get install...
本文要点 内核模块是按需加载进内核的功能单元(驱动、协议、文件系统等),Ubuntu 6.8 内核上可加载模块多达 6474 个,实际只加载了 122 个 lsmod 查看已加载模块与引用关系(Used by 列是依赖链),uname -r 确认内核版本 modinfo 查看模块元数据:(builtin) 表示编译进内核无法卸载,modinfo -p 列出可调模块参数 modprobe...
本文要点 LUKS 是磁盘/分区级的加密标准:它把整个块设备(整块盘、分区、云盘、镜像文件)变成密文,与 gpg、openssl 那种「只加密单个文件」的方式互补——文件本身的文件名、大小、目录结构也被一起藏起来 cryptsetup luksFormat 完成初始化,设备会被识别为 cryptoLUKS;解锁用 cryptsetup open,通过内核 dm-crypt 映射出...