Wenn ich Folgendes versuche:
sudo apt-get update
sudo apt-get upgrade
Bei meiner Ubuntu Server 10.04-Installation hängt es in der folgenden Zeile:
Preparing to replace mysql-server-5.1 5.1.41-3ubuntu12.1 (using .../mysql-server-5.1_5.1.41-3ubuntu12.3_i386.deb)
Ich kann nicht einmal STRG-C raus! Am Ende muss ich meine Sitzung beenden und mich von einem anderen Terminal aus anmelden, und der Aktualisierungsprozess wird noch ausgeführt. Ich habe es mehrmals neu gestartet und wenn ich zurückgehe und es erneut versuche, sagt es mir:
E: dpkg was interrupted, you must manually run 'sudo --configure -a' to correct the problem.
Sobald ich das mache, bin ich wieder auf dem ersten Platz und es friert ein, wenn ich versuche, mySQL zu aktualisieren.
ubuntu
ubuntu-10.04
aptitude
rauben
quelle
quelle
Antworten:
Versuchen Sie, nach dem Sichern Ihrer Datenbanken eine Stufe unter apt zu erreichen:
hinzugefügt :
Da
dpkg -r
ist Würgen versuchendpkg --purge
und scheitern, dass der Paketinhalt mitdpkg -L mysql-server-5.1
zap sie bekommen und dann herumspielen/var/lib/dpkg
.Ich habe noch nie gesehen, dass die Dinge so haarig werden, sorry.
wenn es dir zuerst nicht gelingt
Ich denke hier irgendwie laut nach, vergib mir. Das MySQL-Server-Metapaket enthält oder benötigt diese Pakete:
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
Die Metadaten für die Paketverwaltung sind wunderbar entkoppelt, es gibt zentrale Repositorys, aber die Pakete stehen für sich allein.
/var/cache/apt/archives
Hier werden*.deb
Dateien installiert, die installiert wurden.Erzwingen Sie zunächst, dass dpkg diese Pakete vergisst (auf die Gefahr hin, dass einige Dateien, die wir sowieso ersetzen werden, nicht entfernt werden können).
Dann holen Sie sich die .deb-Dateien, die für eine vollständige Installation benötigt werden:
und versuchen Sie dann, sie einzeln zu installieren:
Wenn Sie dort Probleme haben, versuchen Sie:
Und versuchen Sie, die relevanten Zeilen aus der Unmenge in der Protokolldatei zu finden und hier zu posten. Viel Glück und viel Glück.
quelle
Anscheinend wartet das Update auf den Start des Servers und aus irgendeinem Grund nicht. Um das Problem zu beheben, gibt es mehrere Möglichkeiten.
Das einfachste:
Öffnen Sie ein neues Terminal und führen Sie Folgendes aus:
Komplizierter, aber manchmal notwendig: (Dies ist praktisch, wenn Sie keinen Zugriff auf ein anderes Terminal haben.)
Drücken Sie "^ z" ( Ctrl+ Z), um Ihren Job zu "STOPPEN". Dann renne:
Geben Sie nach dem Start des Servers Folgendes ein und drücken Sie die Eingabetaste:
Dadurch wird Ihr "STOPPED" -Job wieder in den Vordergrund gestellt und dort fortgesetzt, wo er aufgehört hat.
quelle
Ich hatte dieses Problem, weil es sich um eine Kopie einer VM handelte, also hatte ich die IP-Adresse des Servers geändert, aber die Bindeadresse in der Datei my.cnf nicht geändert. Nachdem ich die Bindungsadresse entsprechend geändert hatte, blieb das Update nicht hängen und wurde erfolgreich abgeschlossen.
quelle
Ich hatte das gleiche Problem und verbrachte mehr als einen Tag damit, es zu debuggen.
Als ich das Datenbankverzeichnis entfernte
/var/lib/mysql/
, verlief die Installation reibungslos.quelle
Ich hatte genau dieses Problem, aber keine der vorhandenen Lösungen schien angemessen zu sein. Das Erzwingen einer Deinstallation sollte in jedem * nix unnötig sein und ist definitiv kein KISS. In meinem Fall stellte ich fest, dass die Ursache einfach war. MySQL weigerte sich zu starten, weil es noch lief! Als apt versuchte, MySQL zu stoppen, war es aktiv und wurde nie gestoppt.
Stellen Sie wie immer sicher, dass Sie Backups haben!
Beenden Sie den Dienst:
Stellen Sie sicher, dass der Dienst nicht mehr ausgeführt wird:
Wenn es noch läuft, geben Sie ihm etwas Zeit:
Aber irgendwann, wenn es noch läuft, müssen Sie es aggressiv töten:
Sobald Sie bestätigt haben, dass es nicht mehr ausgeführt wird, können Sie mit dem Update fortfahren.
Führen Sie nach Abschluss des Updates, insbesondere wenn Sie -9 beenden mussten, unbedingt mysqlcheck aus, um sicherzustellen, dass alles, was dazu geführt hat, dass der Dienst nicht gestoppt wurde, keine beschädigte oder beschädigte Tabelle ist. Stellen Sie außerdem sicher, dass Sie regelmäßige Backups haben (und stellen Sie sicher, dass diese Backups tatsächlich funktionieren!).
quelle
In meinem Fall gab es ein Problem mit einer vorhandenen Datei /etc/mysql/my.cnf. Das Überprüfen des Fehlerprotokolls in /var/log/mysql/error.log ergab Folgendes:
Natürlich könnte es ein anderes Problem mit my.cnf geben, aber in meinem Fall haben wir versucht, eine Bindung an eine alte IP-Adresse herzustellen. Wechseln zu:
das behoben und es startet kein Problem.
quelle