我有 Debian 11,并且正在尝试安装一些 php 库,例如 mysql:
命令:sudo apt install php-mysql
结果:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
php7.4-mysql : Depends: php7.4-common (= 7.4.21-1+deb11u1) but 7.4.25-1+deb11u1 is to be installed
E: Unable to correct problems, you have held broken packages.
更新
的结果apt show php-mysql
Package: php-mysql
Version: 2:7.4+76
Priority: optional
Section: php
Source: php-defaults (76)
Maintainer: Debian PHP Maintainers <[email protected]>
Installed-Size: 13.3 kB
Depends: php-common, php7.4-mysql
Download-Size: 6,360 B
APT-Sources: http://deb.debian.org/debian bullseye/main amd64 Packages
Description: MySQL module for PHP [default]
This package provides a MySQL module for PHP.
.
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
open source general-purpose scripting language that is especially suited
for web development and can be embedded into HTML.
.
This package is a dependency package, which depends on Debian's default
PHP version (currently 7.4).
并且
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.list
:
deb https://packages.sury.org/php/ bullseye main
的结果sudo apt update
Hit:1 http://packages.microsoft.com/repos/code stable InRelease
Hit:2 http://deb.debian.org/debian bullseye InRelease
Hit:3 https://repo.steampowered.com/steam stable InRelease
Get:4 https://packages.sury.org/php bullseye InRelease [6,841 B]
Get:5 https://fasttrack.debian.net/debian-fasttrack bullseye-fasttrack InRelease [12.9 kB]
Hit:6 http://download.virtualbox.org/virtualbox/debian buster InRelease
Get:7 https://fasttrack.debian.net/debian-fasttrack bullseye-backports-staging InRelease [12.9 kB]
Ign:8 http://deb.debian.org/debian bullseye-security InRelease
Err:4 https://packages.sury.org/php bullseye InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743
Hit:9 http://deb.debian.org/debian bullseye-updates InRelease
Err:10 http://deb.debian.org/debian bullseye-security Release
404 Not Found [IP: 199.232.82.132 80]
Reading package lists... Done
W: GPG error: https://packages.sury.org/php bullseye InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743
E: The repository 'https://packages.sury.org/php bullseye InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'http://deb.debian.org/debian bullseye-security Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
的结果cat /etc/apt/sources.list
:
deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye main contrib non-free
deb http://deb.debian.org/debian/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-security main contrib non-free
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb https://fasttrack.debian.net/debian-fasttrack/ bullseye-fasttrack main contrib
deb https://fasttrack.debian.net/debian-fasttrack/ bullseye-backports-staging main contrib
答案1
我注意到了这个错误:
Err:10 http://deb.debian.org/debian bullseye-security Release
404 Not Found [IP: 199.232.82.132 80]
也许是因为这个原因,您没有收到安全更新。
有一个目录名称明显改变
在 /etc/apt/sources.list 文件中,您需要使用新的目录名称。例如,将“/debian/”替换为“/debian-security/”。如果您不知道正确的名称,请打开旧存储库的 http 地址,您可能会找到正确的名称。
然后“sudo apt update && sudo apt upgrade”应用更改/更新。