使用 dpkg 删除部分安装程序

使用 dpkg 删除部分安装程序

我尝试在 Ubuntu 14.04 上从 deb 包安装 eToken pkiclient v4.55 for linux。这是使用软件中心安装的。根据文档,此 deb 文件是为 ubuntu 7.04 创建的,我找不到此客户端的最新版本,无法用于 14.04。无论如何安装都没有完成,我等了 10 多个小时,dpkg 才完成“添加 eToken 安全提供程序”任务。10 个小时后它仍未完成,我关闭了 dpkg。现在,每当我尝试安装任何东西时,dpkg 都会再次停留在“添加 eToken 安全提供程序”上。因此,我尝试使用 dpkg -r 删除 pkiclient,但收到 pkiclient 未安装的错误信息。

那么我该如何解决这个问题呢?我只想让 dpkg 忘记 pkiclient 并继续安装。

答案1

在终端中使用命令查找已安装的包名称

sudo dpkg -l pkiclient-full*

使用 --purge 参数卸载软件包

sudo dpkg --purge [package name]

我猜测包名称是 pkiclient-full,示例命令是

sudo dpkg --purge pkiclient-full

如果清除不起作用,您将不得不跳过 prerm 和 postrm 脚本,这很麻烦,不建议这样做。脚本位于 /var/lib/dpkg/info 文件夹中,名称为 pkiclient-full.prerm 和 pkiclient-full.postrm。

因此我建议您首先将 /var/lib/dpkg/info/pkiclient-full.prerm(如果存在)移动到您的主目录,创建空的 prerm 脚本并使用命令设置可执行位

sudo mv /var/lib/dpkg/info/pkiclient-full.prerm ~/
sudo touch /var/lib/dpkg/info/pkiclient-full.prerm
sudo chmod +x /var/lib/dpkg/info/pkiclient-full.prerm

如果存在,对 pkiclient-full.postrm 执行相同操作

sudo mv /var/lib/dpkg/info/pkiclient-full.postrm ~/
sudo touch /var/lib/dpkg/info/pkiclient-full.postrm
sudo chmod +x /var/lib/dpkg/info/pkiclient-full.postrm

尝试使用命令清除包后

sudo dpkg --purge pkiclient-full

相关内容