软件领域疑难杂症记录
- 项目目的:
- windsurf能写新项目, deepseek能实时答疑. 但某些常规套路解法靠他们也有些低效(逐token给解法/不可控地给解法)
vps硬盘清理
du -h --max-depth=1 /root | sort -h
:du
(Disk Usage):统计文件和目录的磁盘使用量df
(Disk Filesystem):显示文件系统的磁盘空间使用情况- df没什么用, 因为vps都是单磁盘
apt-get clean
(删除缓存),apt autoremove
(删除无用包)- 没什么用, 实际只清理了几kb
find / -type f -size +100M -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
: 大文件清理- docker下面一堆log, 占据几GB
- ncdu监控工具定期检查:
ncdu /
: 可视化查看根路径下的空间占据情况 - 小结: 1, du/df/ncdu来大致扫描文件夹 2, find这串长指令来扫描大文件 3, 清理docker日志 4, 头疼的是docker容器内的日志清理 ->
docker ps --size
能基础地看下容器空间占用
1 | # 查看各个文件夹占据的磁盘空间 |
容器内连不到外网
- 1, 对alpine的玩转, 用来测试
- 题外话:
vi ~/.local/share/fish/fish_history
: fish的历史输入. 直接history
也行 - 上次解决原因: 配置 iptables 规则 来解决容器无法访问外网的问题
- 这次失效原因: Docker 容器网络 NAT 规则丢失或网络配置变化
- 上次的关键修复: 1, 添加了 iptables 的 MASQUERADE 规则(NAT 转发)2, 放行了 FORWARD 链的流量
iptables -t nat -L -n -v
查看NAT表规则,iptables -L FORWARD -n -v
查看FORWARD链
- 持久化 iptables 规则(防止重启失效)
- 这次的修复:
iptables-restore < /etc/iptables/rules.v4
1 | 我在之前也遇到过"容器内无法访问外网"的问题, 也曾经解决了, 以下是输入history指令后找到的相关历史输入(所以是上下倒序的): vi /etc/rc.local |
vps希望访问容器内的子网
- 阶段1: 容器未正确转发来自宿主机的流量到 WireGuard 隧道
- tcpdump抓包分析
- 结论: wg0.conf,
[Interface] Address = 10.0.8.1/24
, 关键修改:从 /32 改为 /24 - 为什么 /32会导致问题?
- 10.0.8.1/32:表示仅本机可用(10.0.8.1自身),不包含整个 10.0.8.0/24子网,因此容器会丢弃目标为 10.0.8.2的流量。
- 10.0.8.1/24:表示容器属于 10.0.8.0/24子网,允许转发到同子网的其他 IP(如 10.0.8.2)
- 阶段2: 安装了firefly, 直接极简搞定, 自动就能转发198.18.0.2, 且内存更省, 界面更好
🔒 隐藏内容(4 Bytes)