pypy apt 损坏 - 循环依赖?

Posted

技术标签:

【中文标题】pypy apt 损坏 - 循环依赖?【英文标题】:pypy apt corruption - circular dependency? 【发布时间】:2017-03-09 19:47:28 【问题描述】:

我遇到了一个我无法摆脱的奇怪问题。 每当我尝试在 apt 中做某事时,我都会遇到这个问题 读取状态信息...完成 0 升级,0 新安装,0 删除,185 未升级。 3 未完全安装或拆除。 此操作后,将使用 0 B 的额外磁盘空间。 设置 pypy (5.4.1+dfsg-1) ... /var/lib/dpkg/info/pypy.postinst:39:/var/lib/dpkg/info/pypy.postinst:pypycompile:未找到 dpkg: 错误处理包 pypy (--configure): 子进程安装后安装脚本返回错误退出状态 127 dpkg:依赖问题阻止了 pypy-pkg-resources 的配置: pypy-pkg-resources 依赖于 pypy;然而: pypy 包尚未配置。

dpkg: 错误处理包 pypy-pkg-resources (--configure): 依赖性问题 - 未配置 dpkg:依赖问题阻止了 pypy-setuptools 的配置: pypy-setuptools 依赖于 pypy-pkg-resources (= 28.0.0-1);然而: 包 pypy-pkg-resources 尚未配置。 pypy-setuptools 依赖于 pypy;然而: pypy 包尚未配置。

dpkg: 错误处理包 pypy-setuptools (--configure): 依赖性问题 - 未配置 处理时遇到错误: pypy pypy-pkg-资源 pypy-setuptools

我认为根本原因是pypy: $ sudo dpkg --configure pypy 设置 pypy (5.4.1+dfsg-1) ... /var/lib/dpkg/info/pypy.postinst:39:/var/lib/dpkg/info/pypy.postinst:pypycompile:未找到 dpkg: 错误处理包 pypy (--configure): 子进程安装后安装脚本返回错误退出状态 127 处理时遇到错误: pypy

但不知道如何摆脱这个问题,因为我无法重新安装、删除或似乎对它做任何事情:

$ sudo apt-get remove pypy 阅读包裹清单...完成 构建依赖树 读取状态信息...完成 以下软件包将被删除: pypy pypy-pkg-resources pypy-setuptools 0 升级,0 新安装,3 删除和 185 未升级。 3 未完全安装或拆除。 此操作后,将释放 34.2 MB 磁盘空间。 您要继续 [Y/n] 吗?是的 (正在读取数据库...当前安装的 78437 个文件和目录。) 删除 pypy-setuptools (28.0.0-1) ... 删除 pypy-pkg-resources (28.0.0-1) ... 删除 pypy (5.4.1+dfsg-1) ... /var/lib/dpkg/info/pypy.prerm:18:/var/lib/dpkg/info/pypy.prerm:pypyclean:未找到 dpkg: 错误处理包 pypy (--remove): 子进程安装的预删除脚本返回错误退出状态 127 处理时遇到错误: pypy E: 子进程/usr/bin/dpkg返回错误码(1)

有人有什么想法吗?

【问题讨论】:

【参考方案1】:

实际上,问题似乎在于,由于某种原因,Debian 没有创建指向 pypy 的符号链接。可以通过运行sudo ln -s /usr/lib/pypy/bin/pypy-c /usr/bin/pypy 轻松修复,然后再次运行sudo apt-get install pypy,一切都会好起来的!

希望这对你有帮助,如果不是你,其他正在谷歌搜索的人。

干杯, 咻咻咻

【讨论】:

可以确认这仍然是一个问题。包安装程序不应该创建必要的符号链接吗? 是的,应该。不知道是什么原因造成的。尚未查看包以实际查看导致它的原因。【参考方案2】:

如果有人再次遇到这个问题,这是我最后找到的解决方案:

    通过更新 /usr/bin/pypycompile 以使用 #!/usr/binpython 作为解释器而不是 #!/usr/bin/pypy 来解除无法执行 dpkg --config pypy 的问题 更新 /usr/lib/pypy/runtime.d/public_modules.rtupdate 以不尝试运行 pypyclean

换句话说,解决方案就是删除或禁用任何阻止完成的安装后脚本。

【讨论】:

以上是关于pypy apt 损坏 - 循环依赖?的主要内容,如果未能解决你的问题,请参考以下文章

面试题:如何解决Spring 的循环依赖问题

Spring循环依赖

spring-循环依赖

图解 Spring 解决循环依赖,学不会接着砍!

[跟我学spring学习笔记][DI循环依赖]

[跟我学spring学习笔记][DI循环依赖]