尝试使用 dpkg 安装软件包时出错

尝试使用 dpkg 安装软件包时出错

我正在尝试安装Oracle SQL Developer到 Debian Linux 服务器上。

我首先从 Oracle 网站下载了一个包;

sqldeveloper-4.0.3.16.84-1.noarch.rpm

然后我调用以下命令将其打包成一个.deb包。

alien sqldeveloper-4.0.3.16.84-1.noarch.rpm

此命令成功运行并创建了新文件:

sqldeveloper_4.0.3.16.84-2_all.deb

为了安装这个包,我调用了以下命令:

dpkg -i sqldeveloper_4.0.0.12.27-2_all.deb

输出以下内容:

dpkg: warning: downgrading sqldeveloper from 4.0.3.16.84+0.2.3-1 to 4.0.3.16.84-2.
(Reading database ... 33017 files and directories currently installed.)
Preparing to replace sqldeveloper 4.0.3.16.84+0.2.3-1 (using sqldeveloper_4.0.3.16.84-2_all.deb) ...
Unpacking replacement sqldeveloper ...
dpkg-deb (subprocess): short read on buffer copy for failed to write to pipe in copy
dpkg-deb: subprocess paste returned error exit status 2
dpkg: error processing sqldeveloper_4.0.3.16.84-2_all.deb (--install):
 short read on buffer copy for backend dpkg-deb during `./opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/lib/pdfbox-app-1.8.0.jar'
Errors were encountered while processing:
 sqldeveloper_4.0.3.16.84-2_all.deb

我已经通过 Google 尝试找到此问题的解决方案,并且遇到了类似的错误问题和--configure--uninstall but nothing for--install`。

答案1

您已使用过外星人将包格式从 转换.rpm.deb.

在大多数情况下,该工具可以完美运行。但构建可安装包的情况很少会失败。特别是如果 .rpm 包中包含一些安装或配置脚本(类似于 .deb 包中的安装前和安装后/删除脚本)。

你没有告诉,运行时是否输出一些错误或警告外星人

尽管如此,它仍然可以“成功运行”并产生空包或破损包……

如果有一些错误或警告,请仔细查看它们。这些消息可能会指向正确的方向。但对于以下内容,我假设没有输出错误外星人

查找问题所在的第一个检查是提取两个包格式版本并比较内容。

首先制作两个临时目录

mkdir /tmp/sqldeveloper.deb /tmp/sqldeveloper.rpm

然后解压.deb

dpkg-deb -X sqldeveloper_4.0.0.12.27-2_all.deb /tmp/sqldeveloper.deb

以及rpm包

cd /tmp/sqldeveloper.rpm
rpm2cpio sqldeveloper-4.0.3.16.84-1.noarch.rpm | cpio -idmv

然后您可以将目录与差异

diff . /tmp/sqldeveloper.deb

如果 .deb 目录中缺少文件,则该包已被破坏外星人。也许可以向该工具的开发人员寻求帮助。

但是我如何阅读您发布的输出消息dpkg -i,包装本身存在一些问题,并且文件

./opt/sqldeveloper/sqldeveloper/extensions/oracle.datamodeler/lib/pdfbox-app-1.8.0.jar

无法提取。也许父目录丢失或者存在一些有线访问权限问题。

.deb我认为当您尝试像上面所示手动提取存档时会出现问题。


顺便说一句:它是一个java软件,可供下载的“其他平台”版本是一个zip存档。当解压到您的主目录中时,它可能无需安装即可运行。

相关内容