本来打算给龙芯盒子上的gentoo安装一个minidlna,然后当作nas给平板提供视频源,结果手贱同时进行了更新world的操作。结果更新了之后,ssh连接提示bash找不到。
启动到盒子里面的另一个debian系统,发现这些文件本身是存在的。查询emerge.log,发现最后安装失败的是baselayout包,错误是说要merge /lib32目录。
之前遇到过类似的问题,想用ldd查看/bin/bash,但是提示“not a dynamic executable”,直接执行提示No such file or directory。参照这篇文章,使用readelf,直接读bash文件,发现它需要使用/lib32/ld.so.1,但是这个目录被baselayout的安装脚本给干掉了。手工新建一个软连接,将/lib32 -> /lib,系统启动OK了。