所有非 Bash 命令都会在启动后冻结系统

所有非 Bash 命令都会在启动后冻结系统

最近,我的运行 Raspberry Pi OS 的 Raspberry Pi 在连续正常运行 2 个多月(无头模式)后似乎突然停止工作,因为它不再响应 SSH 登录请求。当将其连接到监视器并手动启动它时,启动过程看起来很好(没有异常的 systemd 消息等)。

启动完成后,我注意到这一点:

虽然所有内部 Bash 命令都可以正常工作,例如echoif条件、while循环等,但任何其他命令都不再返回。这意味着:当输入lstouchcatnanonslookup并按 时Enter,没有任何反应,系统也不会返回到命令提示符(仅可见闪烁的光标)。

有时,启动时,登录过程也无法完成,即在该Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.行之后没有出现命令提示符。

无论哪种情况,Raspberry 都不会冻结或崩溃完全但是,因为我按下的所有键仍然显示在监视器上。REISUB也有效(但不能解决问题)。

我将 SSD(我使用的是 SSD,而不是 SD 卡)插入笔记本电脑,看看它是否已损坏,但我找不到任何证据,因为所有文件都可以读取和写入。此外,还剩下 85 GB 空间。我觉得奇怪的是,不再写入任何日志文件,尤其是/var/log/boot.logvar/log/kern.log

我尝试将SSD插入不同的USB插槽,但没有成功。

可能是什么原因造成的?我怎样才能将系统恢复到正常运行状态?

在此输入图像描述

在此输入图像描述

请注意,3 月 5 日之后我已无数次尝试启动和登录。

编辑

pi@raspberrypi:~$ shopt -s failglob nullglob; printf '%s\n' *
certs
Desktop
Documents
Downloads
Music
Pictures
Public
snap
Templates
Videos
pi@raspberrypi:~$ echo $PATH
/home/pi/.nvm/versions/node/v21.5.0/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/snap/bin:/usr/local/go/bin
_ [system hangs]
Alt+SysRq+R E I S U B

pi@raspberrypi:~$ trap -p
pi@raspberrypi:~$ while IFS= read -r l; do printf '%s\n' "$l"; done < /dev/kmsg
_ [system hangs]
Alt+SysRq+R E I S U B

pi@raspberrypi:~$ echo $LD_PRELOAD

_ [system hangs]
Alt+SysRq+R E I S U B

pi@raspberrypi:~$ while IFS= read -r l; do printf '%s\n' "$l"; done < /proc/self/mountinfo
[see output in screenshot]
pi@raspberrypi:~$ echo OK
OK
pi@raspberrypi:~$ (echo OK)
OK
_ [system hangs]
Alt+SysRq+R E I S U B

pi@raspberrypi:~$ /bin/bash --norc
_ [system hangs]
Alt+SysRq+R E I S U B

[login once again does not finish]
Alt+SysRq+R E I S U B

pi@raspberrypi:~$ exec /bin/bash --norc
_ [system hangs]
Alt+SysRq+R E I S U B

pi@raspberrypi:~$ ls &
_ [system hangs]
Alt+SysRq+R E I S U B

pi@raspberrypi:~$ dir() (shopt -s failglob nullglob; printf '%s\n' *)
pi@raspberrypi:~$ dir &
certs
Desktop
Documents
Downloads
Music
Pictures
Public
snap
Templates
Videos

[1]+ Done            dir
pi@raspberrypi:~$ while IFS= read -r l; do printf '%s\n' "$l"; done < /proc/$!/stack
-bash: /proc/2854/stack: File or directory not found
pi@raspberrypi:~$ ls &
[1] 5808
pi@raspberrypi:~$ certs Desktop Documents Downloads Music Pictures Public snap Templates Videos

[1]+ Done         ls --color=auto
pi@raspberrypi:~$ while IFS= read -r l; do printf '%s\n' "$l"; done < /proc/$!/stack
-bash: /proc/5808/stack: File or directory not found
pi@raspberrypi:~$ cd Downloads
pi@raspberrypi:~/Downloads $ ls
AdGuardHome_linux_arm64.tar.gz nginx-1.25.3.tar.gz
pi@raspberrypi:~/Downloads $ sudo su adguard
adguard@raspberrypi:/home/pi/Downloads $ exit
pi@raspberrypi:~/Downloads $ nslookup example.org
Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   example.org
Address: 93.184.216.34
Name:   example.org
Address: 2606:2800:220:1:248:1893:25c8:1946
pi@raspberrypi:~/Downloads $ ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=57 time=21.4 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=57 time=18.2 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=57 time=16.5 ms
^C
--- 1.1.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 16.485/18.687/21.404/2.040 ms
pi@raspberrypi:~/Downloads $ htop
[see screenshot]
pi@raspberrypi:~/Downloads $ sudo reboot

pi@raspberrypi:~ $ ls
_ [system hangs]
Alt+SysRq+R E I S U B

pi@raspberrypi:~ $ ls() (shopt -s failglob nullglob; printf '%s\n' *)
-bash: Syntax error at unexpected symbol "("
pi@raspberrypi:~ $ ls
_ [system hangs]
Alt+SysRq+R E I S U B

pi@raspberrypi:~ $ ls() (shopt -s failglob nullglob; printf '%s\n' *)
-bash: Syntax error at unexpected symbol "("
_ [system hangs]
Alt+SysRq+R E I S U B


pi@raspberrypi:~$ dir() (shopt -s failglob nullglob; printf '%s\n' *)
_ [system hangs]

在此输入图像描述

在此输入图像描述

正如您所看到的,系统在短时间内工作得很好(包括 NGINX、AdGuard Home、SSH、Uptime Kuma 等),但重新启动后就不再工作了。

我在 systemd 屏幕日志中注意到的一件事(但之前在 Raspberry Pi 仍然工作时从未明确注意到)是NetworkManager-wait-online.service无法启动 ( 1min 10s / no limit)。不确定这是否不寻常。

相关内容