Tengo un Dell Mini9 con Ubuntu 8.10. Un día tuve la brillante idea de ver si podía instalar una pila LAMP. Tuve problemas para instalar MySQL 5.0. No recuerdo el error, pero desde que todos los intentos de ejecutar update-manager, synaptic o apt-get fallan con un error sobre mysql-server-5.0: "El paquete está en un estado inconsistente muy malo".
Lo he intentado apt-get remove mysql-server-5.0
y también install
pero sin suerte. Ambos fallan con el mismo error a continuación. ¿Cómo puedo arreglar esto?
$ sudo apt-get eliminar mysql-server-5.0 Leyendo listas de paquetes ... Hecho Construyendo árbol de dependencia Leyendo información del estado ... Hecho Los siguientes paquetes se instalaron automáticamente y ya no son necesarios: dhcdbd libisc32 Use 'apt-get autoremove' para eliminarlos. Los siguientes paquetes serán eliminados: mysql-server-5.0 0 actualizado, 0 recién instalado, 1 para eliminar y 164 no actualizado. 1 no está completamente instalado o eliminado. Después de esta operación, se liberarán 85.4 MB de espacio en disco. ¿Quieres continuar [S / n]? dpkg: error al procesar mysql-server-5.0 (--remove): El paquete está en un estado inconsistente muy malo: debe vuelva a instalarlo antes de intentar una eliminación. Se encontraron errores al procesar: mysql-server-5.0 E: Subproceso / usr / bin / dpkg devolvió un código de error (1)
Respuestas:
Ninguna de las otras respuestas funcionó para mí en Maverick.
En mi caso, encontré que esto funcionó:
(reemplazando "flashplugin-nonfree" con el nombre del paquete roto y reemplazando "prerm" con el tipo de script que falló, en mi caso fue "postrm", el script posterior a la eliminación).
¡Y dicen que Ubuntu es fácil de usar! refunfuñar refunfuñar
fuente
Tuve exactamente el mismo problema con una instalación de mysql. Necesitas purgar el paquete. Simplemente eliminar un paquete no elimina los archivos de configuración que vienen con él.
Además, me referiré a mysql-server-5.0 , pero me doy cuenta de que hay un paquete envoltorio mysql-server que siempre apunta a la última versión. es decir, si solicita instalar mysql-server , apt-get debería decirle que depende de mysql-server-5.0 e instalar ambos. Si tiene el paquete mysql-server en el sistema, debe asegurarse de que también haya desaparecido antes de intentar reinstalarlo.
Asegúrese de que el servidor mysql (mysqld) no se esté ejecutando. Si es así, bájelo:
Compruebe si algún paquete depende de mysql-server-5.0:
Si lo hacen, deberá usar la opción --force para desinstalar.
Purgue el paquete (incluya la opción --force , según # 2)
Asegúrese de que los archivos del instalador también se borren ejecutando
Instale el paquete del servidor nuevamente
Con suerte, esto debería solucionar su problema. Sin embargo, el paquete aún podría estar roto si realiza algún cambio en los archivos que provienen del paquete mysql-common .
mysql-common es el paquete base utilizado por los componentes del cliente y del servidor. Si las cosas aún no funcionan, intente reinstalar este paquete. Definitivamente habrá paquetes que dependan de esto; verifique usando # 2 arriba. Purgue mysql-server antes de reinstalar mysql-common . Además, no olvide volver a instalar mysql-common , de lo contrario su sistema estará muy dañado.
fuente
Es posible que desee
aptitude
probar, que tiene un mejor manejo de las dependencias:fuente
dpkg
, así que no creoaptitude
que necesariamente le vaya a ir mejor. No me malinterpreten, estoy listo paraaptitude
terminarapt-get
, pero al final del día, ambos entregan el verdadero meollo de la cuestióndpkg
(que te alegrará saber que originalmente se implementó en Perl).Tratar
Si hay otro paquete roto, intente
apt-get remove --force
ese paquete también.fuente
El
dpkg
error que tiene allí sugiere que el problema ocurre cuandodpkg
se trata de eliminar el paquete. (Al final del día,apt-get
ySynaptic
similares, entregue el trabajo real adpkg
).¿Has intentado hacer exactamente lo que dice el mensaje y reinstalar primero?
Por tonto que parezca, si se
dpkg
está ahogando durante el proceso de eliminación (porque se supone que algún archivo se debe eliminar ha desaparecido en el ínterin), reinstalar y luego eliminar a veces puede ayudar. Asegúrese de quemysql
no se esté ejecutando antes de intentar instalarlo o quitarlo, como sugiere nagul .fuente
dpkg -r --force-remove-reinstreq <package>
elimina un paquete sin verificar si requiere reinstalación.Después de eso, debería poder reinstalar el paquete con su administrador de paquetes preferido.
fuente
Tuve este problema con el cartero. /Etc/init.d/mailman eliminado con
arreglado :)
fuente