我在更新 ubuntu 时出现以下错误:
$sudo apt-get upgrade
[...]
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Vous pouvez lancer « apt-get -f install » pour corriger ces problèmes.
Les paquets suivants contiennent des dépendances non satisfaites :
postgresql-client-9.1 : Casse: postgresql-9.1 (< 9.1.7-0ubuntu12.04) mais 9.1.6-1~precise2 est installé
postgresql-contrib-9.1 : Dépend: postgresql-9.1 (= 9.1.7-0ubuntu12.04) mais 9.1.6-1~precise2 est installé
E: Dépendances manquantes. Essayez d'utiliser l'option -f.
$sudo apt-get -f install
dpkg : des problèmes de dépendances empêchent la configuration de postgresql-9.1 : postgresql-client-9.1 (9.1.7-0ubuntu12.04) casse postgresql-9.1 (<< 9.1.7-0ubuntu12.04) et est installé.
La version de postgresql-9.1 à configurer est 9.1.6-1~precise2.
dpkg : erreur de traitement de postgresql-9.1 (--configure) : problèmes de dépendances - laissé non configuré
Aucun rapport « apport » n'a été créé car le message d'erreur indique une erreur consécutive à un échec précédent.
dpkg : des problèmes de dépendances empêchent la configuration de postgresql-contrib-9.1 :
postgresql-contrib-9.1 dépend de postgresql-9.1 (= 9.1.7-0ubuntu12.04) ; cependant : La version de postgresql-9.1 sur le système est 9.1.6-1~precise2.
dpkg : erreur de traitement de postgresql-contrib-9.1 (--configure) : problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
postgresql-9.1
postgresql-contrib-9.1
E: Sub-process /usr/bin/dpkg returned an error code (1)
我正在将 postgre-sql 与 QGIS 结合使用(并且花了很大力气才安装好所有东西,以确保一切正常),它运行了几个月,现在(从今天早上开始)我遇到了这个问题,我不知道该怎么办??...我试图停用 ubuntugis-unstable 存储库并执行“sudo apt-get -f install”,但没有成功...我在互联网上查了一下,但没有找到我的具体问题......
不幸的是,我不是 ubuntu 专家,所以我希望从你们中得到建议...我希望解决方案不是卸载所有内容...
感谢您的帮助!
答案1
再次尝试 apt-get update、apt-get upgrade,postgresql 包刚刚更新,您可能发现它们处于不一致状态。
仍有问题,请尝试明确安装软件包。如果失败,请(备份任何数据库)删除软件包,然后 apt-get autoremove 并尝试再次安装它们。
答案2
抱歉,我无法帮助您解决问题,但如果您必须重新安装 postgis,您可能会发现此脚本很有帮助
#!/bin/bash -x
set -eux
apt-get install -y postgresql-9.1 apache2 python-setuptools postgresql-server-dev-9.1 postgresql-9.1-postgis postgis binutils libproj-dev gdal-bin git unzip
#==================================================#
# setup the posgis template for postgresql
#==================================================#
GEOGRAPHY=0
POSTGIS_SQL=postgis.sql
if [ -d "/usr/share/postgresql/9.1/contrib/postgis-1.5" ]
then
POSTGIS_SQL_PATH=/usr/share/postgresql/9.1/contrib/postgis-1.5
GEOGRAPHY=1
fi
su postgres -c "createdb -E UTF8 template_postgis" && \
su postgres -c "( createlang -d template_postgis -l | grep plpgsql || createlang -d template_postgis plpgsql )" && \
su postgres -c "psql -d postgres -c \"UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';\"" && \
su postgres -c "psql -d template_postgis -f $POSTGIS_SQL_PATH/$POSTGIS_SQL" && \
su postgres -c "psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql" && \
su postgres -c "psql -d template_postgis -c \"GRANT ALL ON geometry_columns TO PUBLIC;\"" && \
su postgres -c "psql -d template_postgis -c \"GRANT ALL ON spatial_ref_sys TO PUBLIC;\""
if [ $GEOGRAPHY -eq 1 ]
then
su postgres -c "psql -d template_postgis -c \"GRANT ALL ON geography_columns TO PUBLIC;\""
fi
您可能必须使用 sudo 来运行它。
答案3
尝试使用dpkg --force-depends --purge
,它对我有帮助