我正在尝试在 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
并重试升级。