- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
用另一个更新的 libc.so.6 替换符号链接(symbolic link) libc.so.6 后如何恢复?
我检查了以下链接 How to recover after deleting the symbolic link libc.so.6?
问题是我已经用另一个 libc.so.6 更新了文件
在没有 knoppix 的情况下还有其他方法吗?我无法执行 rm、cat、mv.. 等操作,只能进行 ldconfig,但我什至无法替换该文件,因为链接就在那里。我怎样才能删除这个文件?
最佳答案
如果您在没有任何准备的情况下就已经陷入这样的问题,那么,如果没有外部救援启动,您很可能无法恢复。对于将来的实验,您可以使用以下准备工作之一:
mc
(Midnight Commander)或另一个具有嵌入式文件系统操作实现的复杂的类似 shell 的工具。REPL
工具;也许某些导入(例如Python中的sys
、os
、os.path
)应在危险步骤之前调用。(对于所有此类操作,在实验之前备份关键系统路径的副本是一个好方法。)
但是一些小操作可以在裸外壳中完成,无需使用 libc。在大多数交互式 shell(例如 bash
)中,都有一些有用的内置命令,因此您可以:
echo *
、echo/lib/*
而不是 ls
echo -n >$file
将其清空;对于ldconfig
,这有效地将其从库中删除,因为ldconfig仅在其缓存中列出正确识别的库;printf
是 shell 内置的(对于现代的 bash
),您可以使用它和 shell 重定向创建任何二进制文件;虽然速度非常慢并且容易出错,但仍然是一个机会。接下来,在每次外部命令调用之前为正确的 libc 版本设置 LD_PRELOAD 可以将任何库替换为另一个库;例如LD_PRELOAD=/lib/libc-2.11.3.so ls
将使用/lib/libc-2.11.3.so 中找到的所有外部符号运行 ls
,因此已覆盖您已安装的同名符号。 (不要在导出规范之前尝试使用 env
!它会因 libc 损坏而失败,并且对于 bash
等任何 B 组 shell 来说都不需要。)使用/lib、/usr/lib 的备份副本导出 LD_LIBRARY_PATH 可以解决大多数主库目录损坏的问题。 (注意,您链接的问题中描述了此方法。您真的尝试过吗?)
我希望可以将其他黑客方法添加到此列表中。
附注这个问题不应该转移到 ServerFault 吗?
关于linux - 将符号链接(symbolic link) libc.so.6 替换为另一个更新的 libc.so.6 后如何恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27137190/
我们的开发环境是这样配置的,当我们运行代码的调试版本时,它会在崩溃或 ^C 时进入 gdb。随着最近的一些更改,这种情况不再发生(退出程序而不是进入 gdb),我怀疑符号大小的增加导致了这个问题。 有
刚刚浏览了一个教程,想到了我看到的地方 first_name: 还有一个地方 :first_name 这样对吗?有什么区别? 最佳答案 哈希语法在 Ruby 1.9.2 中发生了变化,以更接近 jso
这里是一个相当抽象的问题,因为我不知道从哪里开始我自己的调查。 我有一个用 CMake 构建的 C 包,它生成 librpdb.so;我为同一个库设置了一个 Ruby Gem,它生成 rpdb.bun
我尝试使用 Symbol 创建对象键并用 Symbol.for 找到对应的值,但它不起作用: const sym = Symbol("x"); let obj = { [sym]: "val" }
这可能是一个愚蠢的问题,但我很高兴知道为什么我们使用带有一些标志的短形式的单符号和带有完整标志的双符号? 例子: 1) -h & --help 2) -f & --force 谁能解释一下原因? 最
我们希望能够在删除物理构建区域时删除符号服务器内容,symstore del 命令对事务 ID 起作用。这是未知的。 How to extract the transaction ID based o
我在一个我不太理解的小程序上遇到这个问题(我对节点红色有点陌生),代码是 var profile = msg.user.profile; var cart = profile.cart = pr
我正在尝试创建一种工资单以在控制台中打印,但我从代码中收到以下错误。很多时候它实际上只是一个错误,但我认为我没有足够的 java 知识来自己修复它。 import java.io.*; import
在 C# 项目中,我在 UnhandledException 中创建了小型转储。在我的 Dev 机器中,项目源和 bin 位于路径 K:\projects\*MYPROJECT* 下,如果我设法让它在
我正在尝试针对另一个使用 libcurl 共享库的共享库 (libtheirstuff.so) 交叉编译我自己的共享库 (libmystuff.so),但出现以下错误: libmystuff.so:
我试图遍历一个数组来检查它是否包含任何通过指定函数的项目。我通过向 Array 对象添加一个 .any() 原型(prototype)来做到这一点: Array.prototype.any = (co
除了这个 undefined symbol 错误外,一切正常: bash-3.2$ make g++ -Wall -g solvePlanningProblem.o Position.o AStarN
我 rsync 目录“Promotion”包含两台具有不同目录结构的机器之间的绝对符号链接(symbolic link)。因此绝对符号链接(symbolic link)在两台机器上都不起作用。为了使它
我有以下 JSX - What is your e-mail address? setStateForProperties(e)}
根据 SVG 的 symbol文档,我可以添加 refX/refY属性给它。 如果我理解正确,我可以使用这些属性来定义符号坐标系中的引用点,因此当我使用 引用它时元素,它将相对于该引用点(而不是默认
请解释以下有关“找不到符号”,“无法解析符号”或“找不到符号”错误的信息: 是什么意思? 什么原因可以导致它们? 程序员如何解决它们? 该问题旨在对Java中的这些常见编译错误进行全面的问答。 最佳答
请解释以下有关“找不到符号”,“无法解析符号”或“找不到符号”错误的信息: 是什么意思? 什么原因可以导致它们? 程序员如何解决它们? 该问题旨在对Java中的这些常见编译错误进行全面的问答。 最佳答
请解释以下有关“找不到符号”,“无法解析符号”或“找不到符号”错误的信息: 是什么意思? 什么原因可以导致它们? 程序员如何解决它们? 该问题旨在对Java中的这些常见编译错误进行全面的问答。 最佳答
请解释以下有关“找不到符号”,“无法解析符号”或“找不到符号”错误的信息: 是什么意思? 什么原因可以导致它们? 程序员如何解决它们? 该问题旨在对Java中的这些常见编译错误进行全面的问答。 最佳答
请解释以下有关“找不到符号”,“无法解析符号”或“找不到符号”错误的信息: 是什么意思? 什么原因可以导致它们? 程序员如何解决它们? 该问题旨在对Java中的这些常见编译错误进行全面的问答。 最佳答
我是一名优秀的程序员,十分优秀!