web-dev-qa-db-fra.com

Impossible de désinstaller le paquet postgresql car le service n'a pas été démarré?

Je ne comprends tout simplement pas ce qui se passe.

Sudo apt-get remove postgresql

résulte en:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'postgresql' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up postgresql-9.1 (9.1.10-0ubuntu13.04) ...
 * Starting PostgreSQL 9.1 database server                                                                                                                                                            * The PostgreSQL server failed to start. Please check the log output:
2013-11-05 12:40:58 PST FATAL:  could not create lock file "/var/run/postgresql/.s.PGSQL.5432.lock": Permission denied
                                                                                                                                                                                              [fail]
invoke-rc.d: initscript postgresql, action "start" failed.
dpkg: error processing postgresql-9.1 (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 postgresql-9.1
E: Sub-process /usr/bin/dpkg returned an error code (1)

Je veux dire, pourquoi essaie-t-il de démarrer le serveur. Bon, je suis un peu un noob unix et un énorme noob postgres, alors supportez-moi, mais démarrer aléatoirement le serveur pendant que j'essaie de désinstaller ça semble tellement aléatoire. Ne comprends pas.

Comment puis-je désinstaller complètement et complètement postgresql?

5
Starkers

Votre première installation a été maintenue incertaine, cela va le détruire:

Sudo dpkg --purge postgresql-9.1

Maintenant, vous pouvez réinstaller le paquet:

Sudo apt-get -f install
Sudo apt-get install postgresql-9.1
8
Braiam

J'ai eu un problème similaire et je l'ai résolu en utilisant aptitude pour supprimer complètement l'installation précédente (apt-get n'a pas supprimé toutes les dépendances).

Ensuite, je prouve une description de la procédure à suivre dans un terminal Shell (l'interface graphique est hors de portée dans cette réponse).

Commencez par lancer le gestionnaire de paquets interactif:

Sudo aptitude

Une interface utilisateur conviviale uniquement en texte s'ouvre. Vous pouvez utiliser les touches de navigation haut et bas pour naviguer et entrer pour ouvrir les éléments. La souris peut également être utilisée pour naviguer.

Vous verrez un menu supérieur (Actions/Annuler/...) à partir duquel vous pouvez commander aptitude. Sans souris, appuyez sur CTRL + T pour ouvrir le menu. Les menus indiquent également les raccourcis clavier que vous pouvez utiliser.

Si vous savez quoi supprimer, accédez à Packages installés et accédez au package. Par exemple, pour supprimer PostgreSQL, accédez à Installed Packages\main et vous verrez les packages postgresql *. Les paquets installés ont la lettre i à sa gauche. Utilisez, par exemple, la touche Bas pour mettre en surbrillance le premier paquet et appuyez sur la touche - pour le marquer pour le supprimer. Vous pouvez annuler l'action via le menu Annuler ou en appuyant sur la touche +.

Notez qu'en appuyant sur la touche + d'un pack non installé, celui-ci sera marqué pour installation.

Lorsque tous les packages que vous souhaitez supprimer sont marqués pour suppression, accédez au menu Actions et choisissez la commande Installer/supprimer des packages. Cela montrera un aperçu de ce qui sera fait. Les paquets cassés et les paquets non utilisés seront également automatiquement sélectionnés. Utilisez les touches + et - pour ajouter/conserver ou supprimer les packages. Notez le changement de couleur pour refléter l'action (Magenta = supprimer le package, vert = installer le package).

Lorsque vous êtes satisfait de la sélection, accédez à nouveau au menu Actions et choisissez la commande Installer/supprimer des packages pour effectuer l'action.

Une fois l'opération terminée, appuyez sur Entrée pour revenir à l'interface utilisateur. Vous pouvez rechercher des forfaits (voir le menu de recherche, où les raccourcis clavier sont également affichés).

Appuyez sur la ? clé pour une aide en ligne.

Appuyez sur q pour quitter.

1
bitcraft

J'ai réussi à purger postgres (apt-get purge) en purgeant d'abord 2 autres paquets: le paquet contrib et le paquet postgresql (qui semble être un petit paquet 'virtuel'). Au moins, c'est ce que je pense ...

Ensuite, je pourrais purger le paquet postgresql-9.1 (environ 11 Mo).

1
Magnus A

Votre installation ou désinstallation a probablement été interrompue récemment, laissant le système de paquets dans un état incertain.

Sudo apt-get clean && Sudo apt-get autoremove 

Sudo apt-get -f install

Sudo dpkg --configure -a

cela devrait le réparer

0
thom

J'ai eu le même problème, et il s'est avéré qu'il s'agissait d'un problème d'autorisations avec /var/run/postgresql. Il appartenait à root mais devait appartenir à postgres.

Sudo chown -R postgres:postgres /var/run/postgresql l'a résolu, suivi de Sudo service postgresql restart

Merci à https://stackoverflow.com/a/23645981/648176

0
Fush