不久前,我安装了 icaclient(它是 Citrix 的一个客户端)。我不记得我做了什么来让它工作,但那真是令人精疲力竭。我不得不安装一些甚至在 ubuntu(12.04)上都不可用的旧软件包,最后我使用了一些旧 rpm 中的东西。
无论如何,客户端现在或多或少可以正常工作,但我在安装或更新某些东西时总是收到 dpkg 错误。(翻译的)错误消息如下:
dpkg:处理 icaclient:i386 (--configure) 时出错:子进程安装后安装脚本返回错误代码 2
我只是想告诉 dpkg 忽略这个或删除这个安装后脚本,但我不知道该怎么做。
谢谢!
答案1
只需安装版本 12.0 而不是 12.1。它(仍然)在 Citrix 站点 (http://www.citrix.com/site/SS/downloads/details.asp?downloadId=2316611&productId=1689163) 上可用,并且运行良好。
或者你可以提取该包:
dpkg -x icaclient_12.1.0_amd64.deb /some/folder
mkdir /some/folder/DEBIAN
dpkg -e icaclient_12.1.0_amd64.deb /some/folder/DEBIAN
vi /some/folder/DEBIAN/postinst
在第 2648 行中,将双引号之间的文本 ("i[0-9]86") 更改为 "[0-9,x]86",然后运行以下命令:
dpkg -b /some/folder
它将纠正 postinst 脚本中的错误,该脚本试图找出处理器的架构。然后,“dpkg -b /some/folder”将重新编译(构建)该包。您现在需要做的就是安装重新编译的包,它将以您用于提取它的文件夹命名。我只是不知道 Citrix 为什么还没有这样做,因为这是一个相对较旧的错误,并且有一个非常简单的解决方案。
如果你对做脏活不感兴趣,那就下载我修改过的版本吧https://dl.dropbox.com/u/3207848/icaclient_12.1.0_amd64.deb。
希望我能帮上忙!
答案2
对我来说也有效,但我在 64 位系统上使用的是 32 位客户端。
icaclient-12.1.0_i386.deb
程序相同。
答案3
首先,请在终端中尝试以下操作:
sudo 能力更新 sudo aptitude-f 安装
如果不起作用,那么您可能需要尝试:
sudo dpkg --force 全部 --remove
如果这些都帮不了你,那我有个坏消息。没有办法跳过安装后脚本。Debian 的官方政策是编辑脚本以返回非终端错误,或者修复脚本。