不小心重命名了libc库文件

不小心重命名了libc库文件

我意外地在 solaris 10 机器上重命名了 libc 库..命令不起作用..有什么办法可以恢复系统吗?

答案1

使用实时 CD,挂载分区并将 libc 重命名为其原始名称。

答案2

你没有说是哪个版本的 solaris 10 -

  • x86 在 grub 屏幕启动时Solaris Failsafe。这会将您现有的根文件系统挂载到 /a 上,以便您可以转到 /a/lib 并根据需要重命名文件。

  • sparc 将 Solais Sparc 安装 CD (DVD) 放入驱动器,然后从 OK 提示符开始boot -s cdrom。当您到达 miniroot 时,将现有文件系统安装到 miniroot 上,然后根据需要重命名文件。

答案3

我不确定它是否可以与 solaris 的运行时链接器一起工作,但是我已经从 Linux 上的类似情况中恢复过来,通过强制运行时链接器使用 LD_PRELOAD 加载重命名的 libc,然后运行 ​​mv 将其重命名为它原来的名字。(人ld.so.1对于 solaris 来说,似乎确实存在一个 LD_PRELOAD 环境变量,它可以完成我们想要的工作)

LD_PRELOAD=/path/to/libc.so.renamed mv /path/to/libc.so.renamed /path/to/libc.so.correct

这假设您的系统上仍有 shell。

相关内容