我的(新手)Ubuntu 20.04 服务器配置了 32 位和 64 位架构:
$ dpkg --print-architecture
amd64
$ dpkg --print-foreign-architectures
i386
但是,我似乎无法同时拥有应用程序所依赖的同一个库的 32 位和 64 位版本。
apt-get install libodbc1:i386
apt-get install libodbc1
当我安装其中一个时,另一个会被删除。当我安装 32 位版本时,需要 64 位版本的应用程序 (Plesk、VS Code) 会中断,而当我安装 64 位版本时,需要 32 位版本的应用程序 (WineHQ) 会中断。
我该如何安装这两个应用程序才能使所有应用程序正常运行?
更新
当我运行以下命令时,我得到以下结果:
$ sudo apt install libodbc1 libodbc1:i386
The following packages have unmet dependencies:
libodbc1 : Breaks: libodbc1:i386 (!= 2.3.7) but 2.3.6-0.1build1 is to be installed
libodbc1:i386 : Breaks: libodbc1 (!= 2.3.6-0.1build1) but 2.3.7 is to be installed
E: Unable to correct problems, you have held broken packages.
并且,当我运行以下命令时,我得到以下结果:
$ apt policy libodbc1
libodbc1:
Installed: 2.3.7
Candidate: 2.3.7
Version table:
*** 2.3.7 500
500 https://packages.microsoft.com/ubuntu/20.04/prod focal/main amd64 Packages
100 /var/lib/dpkg/status
2.3.6-0.1build1 500
500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
答案1
答案2
我之前使用的是微软的较新版本libodbc1
,但它与不兼容libodbc1:i386
。
我禁用了 Microsoft 软件包 URL,并降级libodbc1
到版本2.3.6-0.1build1
,并且libodbc1:i386
安装得很好。
现在一切似乎都正常了。我只希望微软的产品将来不会出问题。
答案3
您是否安装了多架构支持?如果没有,请尝试:
sudo apt-get -y install multiarch-support:i386