(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-битную версию, приложения (Plesk, VS Code), которым требуется разрыв 64-битной версии, а когда я устанавливаю 64-битную версию, приложения (WineHQ), которым требуется разрыв 32-битной версии. Как установить оба, чтобы все приложения работали?
ОБНОВЛЕНИЕ
Когда я запускаю следующее, я получаю следующее:
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
Я использовал более новую версию libodbc1 от Microsoft, которая не была совместима с libodbc1: i386. Я отключил URL-адрес пакетов Microsoft и понизил версию libodbc1 до версии 2.3.6-0.1build1, а libodbc1: i386 установился нормально. Сейчас вроде все работает. Я просто надеюсь, что продукты Microsoft не сломаются в будущем.