所有的命令都在我们的Ubuntu服务器上运行,直到前几天。 当运行ls或cd它返回bash: /bin/ls: No such file or directory 。
这怎么解决?
好像ls可执行文件丢失了。 ls是基于Debian的系统上的coreutils软件包的一部分,所以你可能想看看它是否被卸载。
你可以使用aptitude :
runejuhl@lapaz:~$ aptitude search ^coreutils$ i coreutils - GNU core utilities
在上面,行开头的“i”意味着包确实被安装。
令人惊讶的是,在这种情况下将生成相同的消息:/ bin / ls二进制被replace为一个shell脚本,但是这个shell脚本有一个无效的bang行(例如,如果它以#!/this/does/not/exist )。 嗯,rootkit?
检查你的/etc/environment文件,确保它仍然指定path。 默认的Ubuntu(截至9.10)只有一行:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
然而,这一行被拉入处理login的各种子系统。 在其他地方设置PATH可能会使Ubuntu的GDM陷入困境。