Ho combinato una cagata pazzesca con postgresql...
volevo eliminare il pacchetto postgresql-8.3 per reinstallarlo, ed eliminare anche l'utente postgres.
L'errore è stato eliminare prima l'utente e poi il file. Infatti eliminando l'utente non posso fare più nulla...non mi lascia disinstallare più niente. Quando cerco di eliminare il pacchetto ottengo:
* Stopping PostgreSQL 8.3 database server * Error: The cluster is owned by user id 113 which does not exist any more
[fail]
invoke-rc.d: initscript postgresql-8.3, action "stop" failed.
dpkg: errore processando postgresql-8.3 (--remove):
il sottoprocesso pre-removal script ha restituito un codice di errore 1
* Starting PostgreSQL 8.3 database server * Error: The cluster is owned by user id 113 which does not exist any more
[fail]
invoke-rc.d: initscript postgresql-8.3, action "start" failed.
dpkg: errore durante la pulizia:
il sottoprocesso post-installation script ha restituito un codice di errore 1
Sono occorsi degli errori processando:
postgresql-8.3
si può fare qualcosa?
Ultima modifica di No Concept il venerdì 17 ottobre 2008, 17:29, modificato 1 volta in totale.
non so se ti può aiutare, ma ho girato un pò per le cartelle in cerca di qualche file di proprietà di uid 113 e ho trovato nella cartella /etc/postgresql/8.3/main il seguente ls -l:
Bel casino, l'uid 113 ora ce l'ha avahi-autoipd.
Allora ci sono un po' di alternative:
1) vai in /etc/init.d, rinomina postgres-8.3 e riprova...non è detto che dia errore se non trova il file, ovviamente al momento non ti ferma il server se e' in esecuzione, ma puoi stopparlo manualmente o riavviare, eventualmente;
2) Se comunque da' errore, ripristina il file postgres-8.3. Potresti creare un nuovo utente postgres e provare a trovare tutti i file con uid 113 cambiandoli con nuovo uid del nuovo utente....
3) Se non riesci in questo rimane una soluzione un po' piu' "estrema", ovvero cambiare temporaneamente l'uid a avahi-autoipd (man groupmod), creare l'utente postgres con uid 113, procedere con l'operazione e poi ripristinare gli uid rimettendo avahi-autoipd a 113...
giulio@giulio-desktop:/etc/init.d$ sudo apt-get remove postgresql-8.3
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso
Lettura delle informazioni di stato... Fatto
I seguenti pacchetti sono stati installati automaticamente in precedenza e ora non sono più necessari:
postgresql-common postgresql-client-8.3 postgresql-client-common libpq5
Usare "apt-get autoremove" per rimuoverli.
I seguenti pacchetti saranno RIMOSSI:
postgresql-8.3
0 aggiornati, 0 installati, 1 da rimuovere e 0 non aggiornati.
Dopo questa operazione verranno liberati 14,3MB di spazio su disco.
Continuare [S/n]? s
(Lettura del database ... 174708 file e directory attualmente installati.)
Rimuovo postgresql-8.3 ...
* Stopping PostgreSQL 8.3 database server * Error: The cluster is owned by user id 113 which does not exist any more
[fail]
invoke-rc.d: initscript postgresql-8.3, action "stop" failed.
dpkg: errore processando postgresql-8.3 (--remove):
il sottoprocesso pre-removal script ha restituito un codice di errore 1
Sono occorsi degli errori processando:
postgresql-8.3
E: Sub-process /usr/bin/dpkg returned an error code (1)
Aggiungo un'altra opzione alla lista.
Modifica /etc/init.d/postgres-8.3 e come prima istruzione di stop) metti "exit 0", ovvero non prova a fare niente e esce subito con successo. Oppure potresti "bluffare" copiando un initscript funzionante al posto di quello di postgres-8.3, tipo