我安装了一个 libssl-dev 包,可能是因为我不确定我是否绕过了包管理器,它在包管理器中可见但不会消失。
root@li393-189:/home/jonathan/python-amazon-product-api-0.2.5# aptitude purge l ibssl-dev 以下软件包将被删除: libssl-dev{p} 将配置以下部分安装的软件包: 易于 0 个软件包已升级,0 个新安装,1 个要删除,84 个未升级。 需要获得 0 B 的档案。解压后将释放 4,929 kB。 你想继续吗?[是/否/?]是 设置 apt (0.8.16~exp12ubuntu10.10) ... gpg:无效选项“--primary-keyring” gpg: [不知道]: 无效数据包 (ctb=03) gpg:read_keyblock:读取错误:无效数据包 gpg: enum_keyblocks(read) 失败:无效的密钥环 gpg:警告:未导出任何内容 dpkg: 错误处理 apt (--configure): 子进程安装后安装脚本返回错误退出状态 2 没有写批准报告,因为已经达到 MaxReports 处理时遇到错误: 易于 E: 子进程 /usr/bin/dpkg 返回错误代码 (1) 软件包安装失败。试图恢复: 设置 apt (0.8.16~exp12ubuntu10.10) ... gpg:无效选项“--primary-keyring” gpg: [不知道]: 无效数据包 (ctb=03) gpg:read_keyblock:读取错误:无效数据包 gpg: enum_keyblocks(read) 失败:无效的密钥环 gpg:警告:未导出任何内容 dpkg: 错误处理 apt (--configure): 子进程安装后安装脚本返回错误退出状态 2 处理时遇到错误: 易于 root@li393-189:/home/jonathan/python-amazon-product-api-0.2.5#
我希望将当前安装的 libssl-dev 替换为全新的软件包安装。我所见过的任何 aptitude 配置都不会删除它。
我怎样才能删除现有的软件包以便能够从头开始重新安装它?
- 编辑 -
@Brigo,我尝试过使用 aptitude 而不仅仅是 apt-get,但是 apt-get 给出了在我看来明显等价的东西:
root@li393-189:/home/jonathan/python-amazon-product-api-0.2.5# apt-get remove l ibssl-dev 阅读包裹清单...完成 构建依赖树 正在读取状态信息...完成 以下软件包将被删除: libssl-dev 0 个升级,0 个新安装,1 个删除,84 个未升级。 1 未完全安装或移除。 此操作后,将释放 4,929 kB 磁盘空间。 您要继续 [Y/n] 吗?是 设置 apt (0.8.16~exp12ubuntu10.10) ... gpg:gpg:无效选项“--primary-keyring” [不知道]:无效数据包 (ctb=03) gpg:read_keyblock:读取错误:无效数据包 gpg: enum_keyblocks(read) 失败:无效的密钥环 gpg:警告:未导出任何内容 dpkg: 错误处理 apt (--configure): 子进程安装后安装脚本返回错误退出状态 2 处理时遇到错误: 易于 E: 子进程 /usr/bin/dpkg 返回错误代码 (1) root@li393-189:/home/jonathan/python-amazon-product-api-0.2.5#
- 编辑 -
这是建议的 sh -x /usr/bin/apt-key update 的输出。
谢谢,
root@li393-189:~# sh -x /usr/bin/apt-key update + 设置 -e + 取消设置 GREP_OPTIONS + mktemp + 秘密钥匙圈=/tmp/tmp.yKRn2OqlH3 + trap rm -f '/tmp/tmp.yKRn2OqlH3' 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM + GPG_CMD=gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3 + ID -你 + [ 0 -eq 0 ] + GPG_CMD=gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3 --trustdb-name /etc/apt/trustdb.gpg + GPG=gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3 --trustdb-name /etc/apt/trustdb.gpg + MASTER_KEYRING=/usr/share/keyrings/ubuntu-master-keyring.gpg + ARCHIVE_KEYRING=/usr/share/keyrings/ubuntu-archive-keyring.gpg + REMOVED_KEYS=/usr/share/keyrings/ubuntu-archive-removed-keys.gpg + ARCHIVE_KEYRING_URI=http://archive.ubuntu.com/ubuntu/project/ubuntu-archive-keyring.gpg + TMP_KEYRING=/var/lib/apt/keyrings/maybe-import-keyring.gpg + [ 更新 = --keyring ] + TRUSTEDFILE=/etc/apt/trusted.gpg + apt-config shell TRUSTEDFILE Apt::GPGV::TrustedKeyring + 评估 + apt-config shell TRUSTEDFILE Dir::Etc::Trusted/f + eval TRUSTEDFILE='/etc/apt/trusted.gpg' + TRUSTEDFILE=/etc/apt/trusted.gpg + [ -r /etc/apt/trusted.gpg ] + GPG=gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3 --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg + GPG=gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3 --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg + TRUSTEDPARTS=/etc/apt/trusted.gpg.d + apt-config shell TRUSTEDPARTS Dir::Etc::TrustedParts/d + eval TRUSTEDPARTS='/etc/apt/trusted.gpg.d/' + TRUSTEDPARTS=/etc/apt/trusted.gpg.d/ + [ -d /etc/apt/trusted.gpg.d/ ] + run-parts --list /etc/apt/trusted.gpg.d/ --regex ^.*\.gpg$ + 命令=更新 + [ -z 更新 ] + 转变 + [ 更新 != 帮助 ] + 哪个 gpg + 更新 + [!-f /usr/share/keyrings/ubuntu-archive-keyring.gpg] + requires_root + ID -你 + [ 0 -ne 0 ] + gpg --ignore-time-conflict --no-options+ --no-default-keyring --secret-keyring /tmp/tmp.yKRn2OqlH3gpg --trustdb-name /etc/apt/trustdb.gpg --ignore-time -conflict --no-options --no-default-keyring --quiet --batch --secret-keyring /tmp/tmp.yKRn2OqlH3 --keyring --trustdb-name /etc/apt/trustdb.gpg /usr/共享/keyrings/ubuntu-archive-keyring.gpg --keyring /etc/apt/trusted.gpg --export --primary-keyring /etc/apt/trusted.gpg - 进口 gpg:无效选项“--primary-keyring” gpg: [不知道]: 无效数据包 (ctb=03) gpg:read_keyblock:读取错误:无效数据包 gpg: enum_keyblocks(read) 失败:无效的密钥环 gpg:警告:未导出任何内容 + rm -f /tmp/tmp.yKRn2OqlH3
因此,我们从您的
apt-key update
输出中看到gpg
文件/etc/apt/trusted.gpg
. 这个文件很可能已经以某种方式损坏了。尝试从已知的良好备份恢复此文件,然后
apt-get
再次运行您的命令。如果失败,请尝试删除该文件,然后运行
apt-key update
以重新生成它。您的问题是配置
apt
包:/var/lib/dpkg/info/apt.postinst
是有问题的脚本。您可以查看它并尝试调试问题。从输出我猜apt-key update
是导致问题的原因。尝试直接运行它:获取更多信息。