问题描述
我试图安装Teamviewer,但我得到一个依赖性错误。我试图安装所需的软件包,但没有运气。
我收到这个错误:
Unpacking teamviewer (from teamviewer_linux_x64.deb) ...
dpkg: dependency problems prevent configuration of teamviewer:
teamviewer depends on lib32asound2; however:
Package lib32asound2 is not installed.
teamviewer depends on lib32z1; however:
Package lib32z1 is not installed.
teamviewer depends on ia32-libs; however:
Package ia32-libs is not installed.
dpkg: error processing teamviewer (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
teamviewer
我试过了
sudo apt-get -f install
入门
Package ia32-libs 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
However the following packages replace it:
lib32z1 lib32ncurses5 lib32bz2-1.0
Package lib32asound2 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 'lib32asound2' has no installation candidate
E: Package 'ia32-libs' has no installation candidate
我甚至无法到达
sudo dpkg -i teamviewer_linux_x64.deb
如果我强制安装
sudo dpkg --force-depends -i teamviewer_linux_x64.deb
虽然它是“设置Temviewer”它给了我这个:
我该如何解决这个问题?
最佳解决方案
问题是teamviewer_linux_x64.deb
是针对64位系统的软件包,它使用了一个过时的软件包,该软件包曾尝试在基于Debian的系统中实现多元化,称为ia64-libs
。
该软件包有许多32位库,其他32位二进制文件可以使用。由于该包随着多元化的引入而被删除。不推荐用于使用多元化的发行版(Ubuntu 12.04和更高版本)。对于所述分配,应该使用teamviewer_linux.deb
包。
这在Teamviewer的help page中进行了说明:
Notes to Multiarch:
On newer 64-bit DEB-systems with Multiarch-support (Debian 7) teamviewer_linux_x64.deb cannot be installed because the package ia32-libs is not available anymore on these systems. In this case you can use teamviewer_linux.deb instead.
那么,如何安装它?
首先,下载它:
wget http://download.teamviewer.com/download/teamviewer_i386.deb
现在你有3个选项。您可以使用apt-get(推荐)版本1.0.1来解决依赖项gdebi,或者您可以自己解决它们。
apt-get
赶紧跑
sudo apt-get install ./teamviewer_i386.deb
格德比法:
首先,安装gdebi
:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install gdebi
在相同的目录下,下载.deb文件,只需运行:
sudo gdebi teamviewer_i386.deb
它将列出依赖关系并使用y
进行安装。
手动方法:
在这里你需要做一切手工。首先,查询包依赖关系,以便您可以先安装它们:
dpkg-deb -I teamviewer_i386.deb | grep Depends
它会返回像这样的东西:
Depends: libc6 (>= 2.4), libgcc1, libasound2, libfreetype6, zlib1g, libsm6, libxdamage1, libxext6, libxfixes3, libxrender1, libxtst6
只需使用:i386
安装这种依赖关系就足够了:
sudo apt-get install libc6:i386 libgcc1:i386 libasound2:i386 libfreetype6:i386 zlib1g:i386 libsm6:i386 libxdamage1:i386 libxext6:i386 libxfixes3:i386 libxrender1:i386 libxtst6:i386 libxrandr2:i386
然后正常安装Teamviewer:
sudo dpkg -i teamviewer_i386.deb
这应该是全部:
dpkg --no-act -i Downloads/teamviewer_i386.deb
dpkg: could not open log '/var/log/dpkg.log': Permission denied
Selecting previously unselected package teamviewer.
(Reading database ... 210950 files and directories currently installed.)
Unpacking teamviewer (from Downloads/teamviewer_i386.deb) ...
次佳解决方案
我只需修改这个问题就可以安装dpkg --force-all -i *.deb
。请注意,它无法解决的唯一依赖项是libpng12-0,因此在强制安装后,它在界面中没有图像,但它仍然可以运行。其他解决方案并没有解决我的问题。我希望Teamviewer的开发人员能够很快得到这一点。