安装 odbcins1debian2,Ubuntu 20.04 LTS 上的依赖关系已损坏

安装 odbcins1debian2,Ubuntu 20.04 LTS 上的依赖关系已损坏

我正在尝试在 Ubuntu 20.04 上安装 odbcinst1debian2,但似乎缺少依赖项“multiarch-support”:

$ sudo apt-get install odbcinst1debian2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 odbcinst1debian2 : PreDepends: multiarch-support but it is not installable
E: Unable to correct problems, you have held broken packages.

之后运行sudo apt-get install -f并不能解决问题。

$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

由于这个软件包需要多架构支持,我尝试直接安装它,但这也无济于事:

$ sudo apt-get install multiarch-support
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package multiarch-support is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'multiarch-support' has no installation candidate

该包和依赖于它的unixodbc-dev该如何安装?

$ sudo apt-get install unixodbc-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 unixodbc-dev : Depends: unixodbc (= 2.3.7)
                Depends: odbcinst1debian2 (= 2.3.7) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

任何帮助都将不胜感激,谢谢。


我已经运行了apt-get update,这是我在新安装上运行的第一件事。

$ sudo apt-get install odbcinst1debian2 
Some packages could not be installed. 
This may mean that you have requested an impossible situation 
or if you are using the unstable
 distribution that some required packages have not yet
been created or been moved out of Incoming.
[Stuff deleted] 
The following packages have unmet dependencies: odbcinst1debian2 : PreDepends: multiarch-support but it is not installable E: Unable to correct problems, you have held broken packages. 


$ lsb_release -a 
No LSB modules are available. 
Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS 
Release: 20.04 Codename: focal

$ apt-cache policy odbcinst1debian2 
odbcinst1debian2: 
Installed: (none) 
Candidate: 2.3.7 
Version table: 
  2.3.7 500 
    500 https://packages.microsoft.com/ubuntu/18.04/prod bionic/main amd64 Packages 
  2.3.6-0.1build1 500 
    500 http://hk.archive.ubuntu.com/ubuntu focal/main amd64 Packages 

答案1

sudo apt-get update这个问题看起来好像你在安装前忘记运行了odbcinst1debian2焦点这个包不依赖multiarch-support


顺便一提multiarch-support可以手动安装:

cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/multiarch-support_2.27-3ubuntu1.4_amd64.deb
sudo apt-get install ./multiarch-support_2.27-3ubuntu1.4_amd64.deb

答案2

我不得不sudo apt-get install unixodbc 添加微软的源列表,这里

答案3

正如评论和其他答案所解释的那样,该问题源于微软宣传该软件包的较新版本。

但是,您可以保留 Microsoft 存储库并在以下位置为其设置优先级较低的策略/etc/apt/preferences :

Package: *
Pin: origin "packages.microsoft.com"
Pin-Priority: 1

然后使用apt-get update并重试升级。

相关内容