昨天我把我的服务器弄乱了,我不太确定如何再次恢复正常。在尝试通过多个指南安装 SiriProxy 之后,在 rvm 和依赖项的步骤上一个接一个失败。我现在无法再进入我的 Fedora 盒子了。 SSH 或 X 似乎都无法正确加载:
尝试通过 init 3 / x 访问它会导致在桌面加载期间停止在某个位置。它会让我像平常一样放置我的凭据,但随后它会停止,仅显示桌面背景。尝试像平常一样通过 ssh 进入它,结果如下:
kennhard$ ssh [email protected]
[email protected]'s password:
Last login: Mon Feb 18 05:53:46 2013
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
^C-bash: /default: No such file or directory
^CConnection to 192.168.0.201 closed.
导致我不得不取消连接,因为什么也没有发生。对于我的根用户和本地“管理员”帐户来说,我的 .bash.rc 或其他内容似乎都已损坏。还尝试通过 ttys CTRL+ALT+F3 之一访问服务器,但没有成功。
我将如何解决这个问题?如果我在安全模式下加载机器,我应该获取哪些日志以进行故障排除等?安装和卸载 rvm 时出现问题。我的所有 cron 作业和无头安装仍然可以在管理员和 root 用户下运行。如Webmin、Sopcast、Deluge等。
答案1
从输出来看,用于 bash 的初始化文件似乎有问题。这可以是~/.bashrc
、~/.bash_profile
、~/.profile
或源自这些脚本的另一个脚本。如果所有用户都发生这种情况,则它将是一个系统范围的文件,例如/etc/profile
.
您可以使用以下命令启动 bash 并跳过 init 文件:
ssh foo@host 'bash --norc --noprofile -i'
您还可以从以下位置执行此操作su
:
su -c 'bash --norc --noprofile -i'
这将允许您进入该帐户,以便您可以调试 bash 启动过程。为此,请使用该-x
选项运行 bash。
bash -i -x