使用 Ubuntu 12.04 LTS 64 位。主机处于离线状态,并且必须保持这种状态。
我需要安装 odbc 才能从系统上运行的 C++ 应用程序与远程数据库通信。
我已经下载了“libmyodbc”所需的所有软件包,并将它们传输到系统中:
mysql-common_5.5.44-0ubuntu0.12.04.1_all.deb '
libmysqlclient18_5.5.44-0ubuntu0.12.04.1_amd64.deb
libodbc1_2.2.14p2-5ubuntu3_amd64.deb
odbcinst1debian2_2.2.14p2-5ubuntu3_amd64.deb
odbcinst_2.2.14p2-5ubuntu3_amd64.deb
libmyodbc_5.1.10-1_amd64.deb'
我正在使用 dpkg -i 进行安装,但是在尝试安装 obcinst*.deb 和 odbcinst1debian2*.deb 时发生冲突:
Selecting previously unselected package odbcinst.
(Reading database ... 203584 files and directories currently installed.)
Unpacking odbcinst (from odbcinst_2.2.14p2-5ubuntu3_amd64.deb) ...
dpkg: dependency problems prevent configuration of odbcinst:
odbcinst depends on odbcinst1debian2 (>= 2.2.14p2); however:
Package odbcinst1debian2 is not configured yet.
所以奥德辛无法安装,因为未安装 odbcinst1debian2。因此,我尝试安装 odbcinst1debian2,并得到:
Selecting previously unselected package odbcinst1debian2.
(Reading database ... 203563 files and directories currently installed.)
Unpacking odbcinst1debian2 (from odbcinst1debian2_2.2.14p2-5ubuntu3_amd64.deb) ...
dpkg: dependency problems prevent configuration of odbcinst1debian2:
odbcinst1debian2 depends on odbcinst; however:
Package odbcinst is not installed.
所以odbcinst1debian2无法安装,因为未安装 odbcinst...我查看了 ubuntu 网站,它显示这些库相互依赖...... http://packages.ubuntu.com/precise/odbcinst
另外,我发现 Steve Langasek(odbc 软件包的创建者)在 2009 年就此循环依赖进行了讨论: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=545861
史蒂夫表示“dpkg 知道如何处理它们”……但它似乎无法解决这个问题。
有人知道如何通过“dpkg”安装相互依赖的软件包吗?
有没有更好的方法来做到这一点(即我应该使用 unixodbc 吗)?
答案1
同时安装两个 deb 包。
进入下载文件夹odbcinst1debian2_2.2.14p2-5ubuntu3_amd64.deb
并odbcinst_2.2.14p2-5ubuntu3_amd64.deb
通过安装
sudo dpkg -i odbcinst*
或通过
sudo dpkg -i odbcinst1debian2_2.2.14p2-5ubuntu3_amd64.deb odbcinst_2.2.14p2-5ubuntu3_amd64.deb
或者按照描述更改其中一个 deb 文件中的依赖项这里。