web-dev-qa-db-ja.com

mssql-toolsおよびmsodbcsql17パッケージでapt-get dist-upgradeが失敗する、ubuntu 16.04

私はいつものようにパッケージを定期的にアップグレードしましたが、何かが壊れており、依存関係が壊れているためパッケージをパージすることもできません。サーバーはAzure上のUbuntu 16.04です。このサーバーではMySQLを使用しているので、このパッケージはAzureのものにすぎませんか?

出力ベローズ:

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.

そして、ほとんどの場合のようにapt-get -f installを実行すると、出力は次のようになります。

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)

ドキュメントに従って、記載されているようにドライバ自体を削除してみました: https://docs.Microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-Microsoft-odbc- driver-for-sql-server

そのため、修正するか、完全に削除して、mssql-toolsのバージョン13.1.9.2-1を返す必要があります。そのため、apt-getにはバグがあり、そのサーバーには何もインストールできません。

前もって感謝します

新しいmsodbcsql17パッケージは、古いmsodbcsqlパッケージのv17と正しく競合しません。両方をインストールすることはできません。 msodbcsqlの古いv13バージョンをインストールできます。私にとっては、新しいものが欲しかったので、私はそうしました:

$ Sudo dpkg -P msodbcsql

新しいmsodbcsql17で実行する必要がある、競合するパッケージを手動で削除しますが、そうではありません。その後、実行できます:

$ Sudo apt -f install

保留中のパッケージのインストールを完了します。

Microsoftはここで非互換性を指摘します:

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

3
Tim Riker