引言

折腾时常会遇到小问题,现在基本不会依赖搜索引擎,而是直接问GPT,几秒钟就能得到答案。有时懒得翻找对话记录,就把问题解决记录在这里,方便自己。

问题收集处理箱

1.Syncthing

使用syncthing,提示对于以下文件夹,在开始监视更改时出错。它将每分钟重试一次,因此错误可能很快就会消失。如果它们持续存在,请尝试解决根本问题,如果不能,请寻求帮助。如何处理?

Claude 3.5 Sonnet

这个错误提示表明 Syncthing 无法设置 inotify 处理程序,主要是因为系统的 inotify 监视限制不足。要解决这个问题,我们可以按照以下步骤操作:

检查当前的 inotify 限制:

打开终端,运行以下命令:

1
cat /proc/sys/fs/inotify/max_user_watches

这会显示当前的 inotify 监视限制。
增加 inotify 限制:
临时增加(重启后失效):

1
sudo sysctl fs.inotify.max_user_watches=204800

永久增加:
编辑 /etc/sysctl.conf 文件:

1
sudo nano /etc/sysctl.conf

在文件末尾添加以下行:

1
fs.inotify.max_user_watches=204800

保存并退出编辑器,然后运行:

1
sudo sysctl -p

重启 Syncthing 服务:

1
sudo systemctl restart syncthing

如果你使用的是用户级别的 Syncthing 服务,可能需要重新登录或重启系统使更改生效。
这些步骤应该能解决 inotify 限制的问题。如果问题仍然存在,可能需要检查 Syncthing 的日志文件以获取更多信息,或者考虑是否有其他因素影响了文件夹的监视。

2.卸载 iptables-persistent

我已经启用了iptables-persistent并且配置了防火墙,请问如何完全卸载iptables-persistent?

Claude 3.5 Sonnet

您提出了一个很好的问题。在卸载iptables-persistent之前,确实应该考虑当前的防火墙配置。以下是一个更安全的卸载流程:
首先,查看当前的iptables规则:

1
sudo iptables -L

如果有重要的规则,您可能想要保存它们以备将来使用:

1
sudo iptables-save > ~/iptables_backup.rules

清除所有现有的iptables规则:

1
2
3
4
5
6
7
8
9
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

这些命令会清除所有规则并将默认策略设置为ACCEPT,实际上是禁用了防火墙。

停止iptables-persistent服务:

1
2
sudo systemctl stop iptables-persistent
sudo systemctl disable iptables-persistent

现在您可以安全地卸载iptables-persistent:

1
2
3
sudo apt remove iptables-persistent
sudo apt purge iptables-persistent
sudo apt autoremove

删除残留的配置文件 :

1
2
3
4
5
sudo rm -rf /etc/iptables
sudo rm -rf /etc/network/if-pre-up.d/iptables
sudo rm -rf /etc/network/if-post-down.d/iptables
sudo rm -rf /etc/systemd/system/netfilter-persistent.service
sudo rm -rf /etc/systemd/system/multi-user.target.wants/netfilter-persistent.service

刷新 iptables 规则 :
确保 iptables 规则已经被清除:

1
2
3
4
sudo iptables -F
sudo iptables -X
sudo ip6tables -F
sudo ip6tables -X

如果你希望保留默认的 ACCEPT 策略,可以设置以下命令

1
2
3
4
5
6
7
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

sudo ip6tables -P INPUT ACCEPT
sudo ip6tables -P FORWARD ACCEPT
sudo ip6tables -P OUTPUT ACCEPT

卸载后,如果您想继续使用防火墙,您需要考虑其他方案,比如直接使用iptables命令或者使用其他防火墙管理工具。

请注意,这个过程会暂时禁用您的防火墙。如果您在远程服务器上操作,确保您有其他方式访问服务器(如通过控制面板的控制台),以防网络连接出现问题。
在执行这些步骤之前,请确保您了解这些更改可能带来的影响。如果您的系统处于生产环境中,最好在维护时间内进行这些操作,并事先制定好回滚计划。

3.关闭&启动 frps 服务

debian系统中,如何关闭frps服务?

Claude 3.5 Sonnet

在 Debian 系统中关闭 frps 服务的方法取决于你如何设置和运行这个服务。
a. 找到 frps 进程:

1
ps aux | grep frps

b. 终止进程:

1
sudo kill <PID>

替换为你在上一步找到的进程 ID。
c. 如果普通的 kill 命令不起作用,你可以使用强制终止:

1
sudo kill -9 <PID>

debian系统中,如何启动frps服务?

在 Unix/Linux 系统中,可以使用 nohup 命令将进程放到后台运行。

1
nohup ./frps -c ./frpc.toml > frps.log 2>&1 &