4 votos

apt-get dist-upgrade falla en los paquetes mssql-tools y msodbcsql17, ubuntu 16.04

Hice la actualización regular de los paquetes como siempre y algo se rompió, ni siquiera puedo purgar los paquetes debido a las dependencias rotas. El servidor es Ubuntu 16.04 en Azure. Estamos utilizando MySQL en este servidor, por lo que este paquete podría ser sólo cosa de Azure?

Salida de abajo:

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.

Y cuando hago apt-get -f install como se aconsejó en la mayoría de los casos la salida es:

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)

He probado a seguir la documentación y a borrar el propio controlador como se indica: https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server

Así que quiero arreglarlo o eliminarlo completamente y volver a la versión 13.1.9.2-1 para mssql-tools. Debido a que apt-get es ahora bugged y no puede instalar nada en ese servidor.

Gracias de antemano

0 votos

Conseguí con algo de ayuda encontrar un problema similar, la solución en el enlace por si alguien más se lo encuentra: askubuntu.com/questions/610346/unmet-dependencies-unable-to-fix

4voto

Tim Riker Puntos 21

El nuevo paquete msodbcsql17 no entra en conflicto correctamente con la v17 del antiguo paquete msodbcsql. No puede tener ambos instalados. Puedes tener la antigua versión v13 de msodbcsql instalada. En mi caso, sólo quería la nueva, así que lo hice:

$ sudo dpkg -P msodbcsql

para purgar el paquete conflictivo manualmente, que es lo que debería hacer el nuevo msodbcsql17, pero no lo hace. Después puede ejecutar:

$ sudo apt -f install

y completar la instalación de los paquetes pendientes.

Microsoft señala la incompatibilidad aquí:

https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server

0 votos

No ayuda. Sigue diciendo Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Can't open lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.0.so.1.1' : file not found.

0 votos

Este archivo existe en el mío después de eliminar el antiguo msodbcsql e instalar el nuevo msodbcsql17 $ ls -l /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.0.so.1.1 -rwxr-xr-x 1 root 16454344 Mar 1 14:02 libmsodbcsql-17.0.so.1.1

0 votos

Sí, existe, pero el sqlcmd de todos modos estaba lanzando este error. Encontré la solución aquí: github.com/Microsoft/msphpsql/issues/673 Necesitas asegurarte de que libssl.so.1.0.0 está instalado (la versión 1.0.0 de la mente).

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: