这对我来说真的很奇怪。我有一个运行 Raspbian 的树莓派。我时不时用它来运行 shell 脚本和针孔。今天我注意到它不再起作用了。当尝试运行该curl
命令(shell 脚本中的第一个命令)时,我得到以下输出:
curl: error while loading shared libraries: lybnghttp2.so.14: cannot open shared object file: No such file or directory
当尝试运行时apt-get
,我得到这个:
pi@raspberrypi:~ $ sudo apt-get
terminate called after throwing an instance of 'std::out_of_range'
what(): vector::_M_range_check: __n (which is 1) >= this->size() (which is 1)
Aborted
什么可能导致这种奇怪的行为?昨天一切正常。 Raspbian 不应该自动运行任何更新,不是吗?
设备还应该有足够的空间:
pi@raspberrypi:~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 15G 4.8G 8.8G 36% /
devtmpfs 460M 0 460M 0% /dev
tmpfs 464M 256K 464M 1% /dev/shm
tmpfs 464M 13M 452M 3% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 464M 0 464M 0% /sys/fs/cgroup
/dev/mmcblk0p1 44M 23M 22M 52% /boot
tmpfs 93M 0 93M 0% /run/user/1000
tmpfs 93M 0 93M 0% /run/user/999
寻找失踪者so
给sudo find / -name 'lybnghttp2.so*'
了我这个:
find: ‚/run/user/1000/gvfs‘: Permission denied
find: ‚/var/lib/apt/mirrors/partial‘: Structure needs cleaning
有没有经历过类似事情的人可以帮助我?
答案1
您的 SD 卡上的文件系统已损坏。
- 可能是 SD 卡本身即将失效,在这种情况下,在它完全失效之前复制您可以复制的内容将是最好的选择。
- 可能是 SD 卡没问题,您只需要检查文件系统(
fsck
在重新启动期间使用)shutdown -rF now
即可触发此操作。但如果是 SD 卡损坏,则在尝试修复它时可能会破坏文件系统的剩余部分。
恐怕没有简单的答案。保存您能保存的内容,然后尝试fsck
-on-reboot。