POP!_OS - 升级时出现 Python3-repolib 错误

POP!_OS - 升级时出现 Python3-repolib 错误

POP!OS_22.04

长话短说

python3-repolib联想笔记本电脑上的特定软件包遇到奇怪的错误。今天早上,在我伴侣尝试升级到 22.04 后,她的 iMac 设备上也发生了这种情况。它失败了,恢复到 21.10,现在这个包也有同样的问题。

正在使用未婚夫的笔记本电脑。她升级到 POP 22.04。尝试进行更新/升级并收到以下错误:

Setting up python3-repolib (1.5.2~1651157034~22.04~e2261d9) ...
ln: failed to create symbolic link '/usr/bin/add-apt-repository': File exists
ln: failed to create symbolic link '/usr/bin/apt-add-repository': File exists
dpkg: error processing package python3-repolib (--configure):
installed python3-repolib package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
python3-repolib
E: Sub-process /usr/bin/dpkg returned an error code (1)

我在网上查找了这个问题,但只有一个人遇到过这个问题,而且它显然只是“消失了”。我确实注意到其他网上帖子,主要是ubuntu(我为什么在这里),说要重新配置并重新安装python3。试过了。我仍然收到上面的错误。我尝试了以下操作:

sudo dpkg --configure -a

相同的错误代码最终python3-repolib仍然是问题。我删除了该软件包然后重新安装它,同样的问题。在我把头撞到桌子上之后,我想我会看到当我尝试做任何事情时不断提到的符号链接在哪里。

ln: failed to create symbolic link '/usr/bin/add-apt-repository': File exists
ln: failed to create symbolic link '/usr/bin/apt-add-repository': File exists

 find /usr/bin/add-apt-repository -type l -ls
   3801127      0 lrwxrwxrwx   1 root     root           35 Apr 25 20:52 /usr/bin/add-apt-repository -> /usr/lib/repolib/add-apt-repository

find /usr/bin/apt-add-repository -type l -ls
  3801128      0 lrwxrwxrwx   1 root     root           35 Apr 25 20:52 /usr/bin/apt-add-repository -> /usr/lib/repolib/add-apt-repository

现在我在这里,除了看看取消链接文件会对系统产生什么影响之外,不知道下一步该怎么做。但我宁愿在可能破坏这个安装之前得到第二个意见。

更新

合作伙伴成功更新系统,然后尝试升级到22.04。升级失败,然后恢复到21.04。现在正在接收

Errors were encountered while processing:

python3-repolib

这是Python3本身的问题还是Pop的问题?我认为其他人一定也遇到这个问题,因为 22.10 仍然相当新。接下来我应该做什么?有任何想法吗?

答案1

我在这里也遇到了同样的问题,我在 Pop!_OS reddit 上发了一篇文章,与您分享了链接,并在我的帖子中发布了该主题的链接:

https://www.reddit.com/r/pop_os/comments/ues9ru/updating_error_2204/

摘自 [u/TonyDTN 的 reddit 帖子]:


两种选择:

  1. 按照 u/Carpol_v2 的评论说明进行操作,现在可以正常更新了。因此,按照终端上的顺序:
sudo apt-get update
sudo mv /usr/bin/add-apt-repository /
sudo mv /usr/bin/apt-add-repository /
sudo apt-get upgrade

然后重新启动并检查 Pop!_Shop 或重新运行sudo apt-get updatesudo apt-get upgrade检查。

  1. 按照u/JAY0S的评论说明进行操作:

在终端中运行:

sudo rm /var/lib/dpkg/info/python3-repolib.* 
sudo dpkg --configure -a

然后重新运行sudo apt-get updatesudo apt-get upgrade检查。

答案2

我是 Pop_OS 上 Repolib 的开发者/维护者。

这是由 repolib 预安装脚本中的错误引起的,并且已开放 PR 来修复该问题,应该很快就会发布。同时,如果您遇到此问题,可以通过运行以下命令来解决它:

sudo apt update
sudo unlink /usr/bin/add-apt-repository
sudo unlink /usr/bin/apt-add-repository
sudo dpkg --configure -a
sudo apt install -f
sudo apt full-upgrade

此问题应该仅发生在 Pop 安装的某些子集上,并且仅software-properties-common在安装/升级/重新安装包之前删除该包时才会发生python3-repolib。如果您担心在执行升级之前遇到此问题,则以下操作应确保您可以正常进行(如果不会引起问题,则不会对系统造成损坏):

if [[ `dpkg -s software-properties-common | grep 'Status'` = *'installed'* ]]; then echo Your system is not susceptible to the bug!; else sudo unlink /usr/bin/add-apt-repository; sudo unlink /usr/bin/apt-add-repository; echo Bug mitigated; fi

只需将整个命令复制粘贴到终端中,然后按 Enter 键即可检查/缓解问题。它将检查您的系统是否具有触发条件(缺少software-properties-common),然后删除有问题的文件(如果有)。

相关内容