我正在努力将版本从 Ubuntu 23.04 升级到 23.10。版本升级取决于所有要升级的软件包,并且有一个升级被阻止了。
$ sudo do-release-upgrade
Checking for a new Ubuntu release
Please install all available updates for your release before upgrading
更新升级所有包时,包libgd3
升级失败
$ sudo apt upgrade
...
The following packages have been kept back:
libgd3
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
该软件包依赖于无法安装的软件包,
The following packages have unmet dependencies:
libgd3 : Depends: libavif13 (>= 0.9.3) but it is not installable
因此,我已经libavif13
从源代码安装了,但无济于事(因为我不知道如何向 apt 指示库 [并且不确定这是否有意义])。libavif
显然有较新的安装候选项,例如libavif15
,我不知道为什么libgd3
会依赖于过时的libavif13
。
我真的很迷茫,如果能得到任何关于如何解决这种依赖关系的提示我将非常感激。
谢谢大家,欢呼
编辑:根据要求,输出apt policy libgd3
$ sudo apt policy libgd3
libgd3:
Installed: 2.3.3-7ubuntu2
Candidate: 2.3.3-9+ubuntu22.04.1+deb.sury.org+1
Version table:
2.3.3-9+ubuntu22.04.1+deb.sury.org+1 500
500 https://ppa.launchpadcontent.net/ondrej/php/ubuntu jammy/main amd64 Packages
*** 2.3.3-7ubuntu2 500
500 http://xx.archive.ubuntu.com/ubuntu lunar/main amd64 Packages
100 /var/lib/dpkg/status
答案1
Ondrej PHP PPA 仅支持 Ubuntu LTS 版本。因此,它受制于 22.04 版本限制,其中一些限制已从 Ubuntu 23.10 中删除。
您需要从 22.04 开始手动安装这些软件包:
libyuv0
libabsl20210324
libdav1d5
libgav1-0
libavif13
libtiff5
使用sudo dpkg -i <deb-file>
。所需的 deb 文件可以从那里下载(需要进行一些搜索):
http://archive.ubuntu.com/ubuntu/pool/universe/
例如,您还可以在 UI 中搜索https://ubuntu.pkgs.org/这还将为您提供 ubuntu 存档池中的下载位置。确保选择正确的 CPU 架构(如果您不确定,最有可能是 amd64,但如果您选错了,dpkg 会告诉您,不会搞砸的)。
然后你可以libgd5
使用安装apt
。完成后,我建议
sudo apt-mark minimize-manual
然后,当 Ubuntu 24.04 发布时它将自动清理,并且 ondrej PHP PPA 最终也将升级。
答案2
让我们尝试一些方法,
由于存在依赖性问题,请尝试手动升级该libgd3
包。
sudo apt --with-new-pkgs upgrade libgd3
如果失败,您可以手动安装该包,
sudo apt install libgd3
希望这能解决您的问题!