#Linux
共 121 篇文章
logger -t sshd 的日志没进入 ssh namespace:标签不会改变路由
区分logger标签、unit日志socket视图和journalctl查询范围,验证新调用的实际去向。
rsync 升级后远程路径多了引号,报 change_dir 失败
rsync3.2.4开始保护远端参数,变量内额外引号可能成为真实路径字符。修正路径值与本地引用,审慎评估old-args和受限shell。
hostmetrics CPU 报错
CPU 集合变化后,OTel hostmetrics 的旧历史样本可能持续查找已下线 CPU,反复报 cannot find TimesStat。核对变化时序、临时重启影响与未合入修复。
systemd ExecStartPre 写入 tmpfs,ExecStart 却读不到
TemporaryFileSystem的挂载视图按Exec进程建立。交换运行期数据用明确RuntimeDirectory路径,隔离/etc的动态初始化需同视图包装或受控映射。
Redis 写入报 MISCONF,RDB 保存提示 Permission denied
Redis 写入返回 MISCONF,日志同时显示 RDB 保存 Permission denied。核对实际数据目录、服务进程身份和权限,修正后验证后台保存真正完成,避免把关闭停写保护误当成持久化恢复。
find 把 -exec 末尾改成 + 后报 missing argument:{} 必须紧挨结束符
GNU find 的批量 -exec 要求唯一的 {} 紧挨 +。用 GNU mv -t 调整目标目录位置,或保留逐文件形式,先明确搜索范围与冲突处理。
rsync --append-verify 跳过了大小不变的已修改文件
append-verify仍跳过等长目标,不适用于改写中的磁盘镜像。稳定源后移除追加模式,按普通选择和私有partial-dir恢复,并验收内容与可恢复性。
GNU sed 同时使用 -n 和 -i 后文件变空
GNU sed 的 -n 关闭自动打印,-i 将输出写回原文件;删行脚本没有打印剩余行时会得到空文件。先预览完整输出、保留独立备份,再修正选项。
Docker 使用数组入口后,Ctrl-C 仍无法结束 PID 1 服务
Linux 容器里的 PID 1 未设置相应信号处理时,不能依赖普通进程的默认退出行为。区分前台连接与日志跟随,用 init 验证,并单独检查业务清理和停止信号。
conntrack 写入失败
LXC 内 kube-proxy 无法写 nf_conntrack_max,检查宿主已有上限与新封顶值的差异。宿主管理容量时,以 maxPerCore: 0 跳过这一组调整。
Bash 开启 set -e 后计数一次就退出:((count++)) 返回了什么
Bash set -e 下从零开始的后置自增会返回状态1,解释算术值与命令成功的区别,并按用途改成赋值与检查边界。
grep -f 的模式文件含空行,结果匹配全部输入
GNU grep 从模式文件读到空行时,会用空模式匹配全部输入。区分空行、正常末尾 LF 与空文件,过滤模式输入并保留匹配方式和退出状态约定。
journalctl 找不到上次启动日志:检查 journald 是否只写入 /run
重启后 journalctl 找不到上一轮启动时,排除权限和保留条件,检查 auto 与持久目录关系;保存当前日志,并在计划重启后核对跨启动读取。
Bash local 接收命令输出后,失败状态变成 0
Bash 函数用 local 接收命令替换时,声明成功会覆盖子命令失败状态。分开声明和赋值,立即保存状态,并处理部分输出及调用者的错误传播。
rsync 3.5.0:/dev/stdin 报 ENOENT
3.5.0可能无法打开管道上的/dev/stdin和stdout,3.5.1已修复。清单改用files-from=-,日志要单独核验,退出0不代表采集成功。


