Tente passar um nível abaixo do apt, depois de fazer o backup de seus bancos de dados:
sudo dpkg -r mysql-server
sudo apt-get check # verify that apt's metadata is okay
sudo apt-get install mysql-server
adicionado :
Como dpkg -r
está engasgando, tente dpkg --purge
e, na sua falta, obtenha o conteúdo do pacote com dpkg -L mysql-server-5.1
zap e, em seguida, muck em /var/lib/dpkg
.
Eu nunca vi coisas ficarem tão cabeludas, desculpe.
se a princípio você não tiver sucesso
Estou pensando em voz alta aqui, me perdoe. O meta-pacote mysql-server contém ou requer estes pacotes:
libdbd-mysql-perl
libdbi-perl
libhtml-template-perl
libnet-daemon-perl
libplrpc-perl
mysql-client-5.1
mysql-client-core-5.1
mysql-server
mysql-server-5.1
mysql-server-core-5.1
Os meta-dados para o gerenciamento de pacotes são deliciosamente desacoplados, existem repositórios centrais, mas os pacotes são independentes. /var/cache/apt/archives
é onde *.deb
arquivos que foram instalados ao vivo.
Primeiro, force o dpkg a esquecer esses pacotes (correndo o risco de não remover alguns arquivos que vamos substituir).
for i in mysql-server-core-5.1 mysql-server-5.1 ... ; do
sudo dpkg -r --force-remove-reinstreq $i
done
Em seguida, obtenha os arquivos .deb necessários para uma instalação completa:
sudo apt-get install --download-only mysql-server
e, em seguida, tente instalá-los um por um:
cd /var/cache/apt/archives
sudo dpkg -i mysql-server-core-5.1_5.1.41-3ubuntu12.3_i386.deb
se você tiver problemas, tente:
sudo dpkg -D77777 -i mysql-server-core-5.1... > 2>&1 /tmp/dpkg.log.$$
E tente encontrar as linhas relevantes fora do zilhão no arquivo de log e publique-as aqui. Boa sorte e boa sorte.