我正在将 gcc 更新到 debian 测试存储库中的版本;在更新过程中,它建议我停止 postgres 服务,并且它给了我停止安装的选项。我停止了它并得到了这个错误:
Preparando para desempaquetar .../libc6_2.24-9_amd64.deb ...
Checking for services that may need to be restarted...
Checking init scripts...
Stopped glibc upgrade. Please retry the upgrade after you have
checked or stopped services by hand.
dpkg: error al procesar el archivo /var/cache/apt/archive/libc6_2.24-9_amd64.deb (--unpack):
el subproceso script pre-installation nuevo devolvió el código de salida de error 1
Procesando disparadores para man-db (2.7.0.2-5) ...
Procesando disparadores para libc-bin (2.19-18+deb8u7) ...
E: Sub-process /usr/bin/dpkg returned an error code (1)
现在我无法恢复安装,当我尝试运行任何 apt-get 命令时,我会收到错误消息。
#apt-get -f install
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Corrigiendo dependencias... falló.
The following packages have unmet dependencies:
libc-dev-bin : Depende: libc6 (> 2.24) pero 2.19-18+deb8u7 está instalado
libc6-dev : Depende: libc6 (= 2.24-9) pero 2.19-18+deb8u7 está instalado
locales : Depende: libc-bin (> 2.24) pero 2.19-18+deb8u7 está instalado
E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages
E: Unable to correct dependencies
有人知道我该如何解决这个问题吗?
答案1
您需要停止 PostgreSQL 服务,然后重新启动您尝试的原始安装;大概是这样的
apt-get install gcc-6/testing
我确实希望您意识到您正在通过这样做将大部分升级到 Debian 9(因为升级glibc
)...
答案2
此错误是由于缺少 apt-get 无法解决的依赖项造成的。
就我而言,第一次尝试安装时已经通过 apt-get 下载了软件包。查看第一个输出 dpkg 会在此包中引发错误libc6_2.24-9_amd64.deb。
dpkg -i /var/cache/apt/archives/libc6_2.24-9_amd64.deb
该目录是 apt-get 将 deb 文件保存为缓存的位置。
在第二个输出中,您可以看到还有另一个依赖项,因此在该目录中查找正确的包并安装它
dpkg -i /var/cache/apt/archives/libc-bin_2.24-9_amd64.deb
如果现在没有更多依赖项,您可以继续安装
apt-get install gcc/testing
仔细查看 apt-get 命令检索到的信息,否则您可能会停止删除系统上的导入内容