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 帖子]:
两种选择:
- 按照 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 update
并sudo apt-get upgrade
检查。
- 按照u/JAY0S的评论说明进行操作:
在终端中运行:
sudo rm /var/lib/dpkg/info/python3-repolib.*
sudo dpkg --configure -a
然后重新运行sudo apt-get update
并sudo 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
),然后删除有问题的文件(如果有)。