Ich habe wie immer ein reguläres Paket-Upgrade durchgeführt und etwas ist kaputtgegangen. Ich kann die Pakete aufgrund defekter Abhängigkeiten nicht einmal löschen. Der Server ist Ubuntu 16.04 auf Azure. Wir verwenden MySQL auf diesem Server, also könnte dieses Paket nur eine Sache von Azure sein?
Ausgabe unten:
You might want to run 'apt-get -f install' to correct these. The following packages have unmet dependencies: mssql-tools : Depends: msodbcsql17 (>= 17.0.0.1) but it is not installed Depends: msodbcsql17 (< 17.1.0.0) but it is not installed E: Unmet dependencies. Try using -f.
Und wenn ich wie in den meisten Fällen empfohlen apt-get -f install ausführe, lautet die Ausgabe:
apt-get -f install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following additional packages will be installed: msodbcsql17 The following NEW packages will be installed: msodbcsql17 0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded. 6 not fully installed or removed. Need to get 3,760 kB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 https://packages.microsoft.com/ubuntu/16.04/prod xenial/main amd64 msodbcsql17 amd64 17.0.1.1-1 [3,760 kB] Fetched 3,760 kB in 0s (15.1 MB/s) Preconfiguring packages ... (Reading database ... 153677 files and directories currently installed.) Preparing to unpack .../msodbcsql17_17.0.1.1-1_amd64.deb ... Unpacking msodbcsql17 (17.0.1.1-1) ... dpkg: error processing archive /var/cache/apt/archives/msodbcsql17_17.0.1.1-1_amd64.deb (--unpack): trying to overwrite '/usr/lib/libmsodbcsql-17.so', which is also in package msodbcsql 17.0.1.1-1 Errors were encountered while processing: /var/cache/apt/archives/msodbcsql17_17.0.1.1-1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Ich habe versucht, der Dokumentation zu folgen und den Treiber selbst wie angegeben zu löschen: https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server
Ich möchte es also entweder reparieren oder vollständig entfernen und die Version 13.1.9.2-1 für mssql-tools zurückgeben. Aus diesem Grund ist apt-get jetzt fehlerhaft und kann auf diesem Server nichts installieren.
Dank im Voraus
Antwort1
Das neue msodbcsql17-Paket steht nicht korrekt im Konflikt mit v17 des alten msodbcsql-Pakets. Sie können nicht beide installiert haben. Sie können die alte v13-Version von msodbcsql installiert haben. Ich wollte einfach nur die neue, also habe ich Folgendes getan:
$ sudo dpkg -P msodbcsql
um das in Konflikt stehende Paket manuell zu löschen, was das neue msodbcsql17 tun sollte, aber nicht tut. Anschließend können Sie Folgendes ausführen:
$ sudo apt -f installieren
und schließen Sie die Installation aller ausstehenden Pakete ab.
Microsoft weist hier auf die Inkompatibilität hin: