dpkg -i 错误:无法打开...没有此文件或目录

dpkg -i 错误:无法打开...没有此文件或目录

我尝试在 lubuntu 20.04.1 上安装 libssl 0.9.8。

我发现无法使用 apt 安装它,因此我.debubuntu Trusty (14.04) 启动板存档

我尝试通过以下方式安装:

kids@Dani:~/Downloads$ sudo dpkg -i libssl0.9.8_0.9.8o-7ubuntu3.2.14.04.1_amd64.deb

它给了我以下错误:

(Reading database ... 268220 files and directories currently installed.)
Preparing to unpack libssl0.9.8_0.9.8o-7ubuntu3.2.14.04.1_amd64.deb ...
Unpacking libssl0.9.8:amd64 (0.9.8o-7ubuntu3.2.14.04.1) ...
dpkg: error processing archive libssl0.9.8_0.9.8o-7ubuntu3.2.14.04.1_amd64.deb (--install):
 unable to open '/lib/x86_64-linux-gnu/libcrypto.so.0.9.8.dpkg-new': No such file or directory
Errors were encountered while processing:
 libssl0.9.8_0.9.8o-7ubuntu3.2.14.04.1_amd64.deb

我尝试过创建这样的文件、创建这样的目录并将其删除,但没有任何变化。你知道使用 apt 安装它的方法吗?还有其他方法可以修复它吗?

我使用的是正确的架构(64 位 VM 上的 64 位,在 64 位 Windows 10 上使用 VMware 工作站播放器)。

答案1

我在另一个软件包上遇到了类似的问题,我使用以下顺序成功解决了该问题。首先,错误:

(Reading database ... 66160 files and directories currently installed.)
Preparing to unpack .../_amd64.deb ...
Unpacking adoptopenjdk-11-hotspot (11.0.6+10-2) over (11.0.9+11.1-3) ...
dpkg: error processing archive /var/cache/apt/archives/adoptopenjdk-11-hotspot_11.0.6+10-2_amd64.deb (--unpack):
 unable to open '/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/man/ja/man1/jcmd.1.dpkg-new': No such file or directory
Errors were encountered while processing:
 /var/cache/apt/archives/adoptopenjdk-11-hotspot_11.0.6+10-2_amd64.deb

在调查时,我注意到文件夹中有一些奇怪的内容/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/man

$ ls -la /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/man
total 16
drwxr-xr-x 4 root root 4096 Oct  1 06:36 .
drwxrwxr-x 9 root root 4096 Nov  4 08:42 ..
lrwxrwxrwx 1 root root   11 Aug 30 11:33 ja -> ja_JP.UTF-8
drwxr-xr-x 3 root root 4096 Oct  1 06:36 ja_JP.UTF-8
drwxr-xr-x 2 root root 4096 Nov  4 08:42 man1
total 8
drwxr-xr-x 2 root root 4096 Nov  4 08:42 .
drwxr-xr-x 3 root root 4096 Oct  1 06:36 ..

该文件夹ja(似乎是dpkg错误的根源)实际上是指向该文件夹的符号链接ja_JP.UTF-8

我通过删除符号链接并将其重新创建为真实文件夹(也重新创建其子文件夹man1)解决了我的问题:

/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/man$ sudo rm ja
/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/man$ sudo mkdir ja
/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/man$ sudo mkdir ja/man1

然后我重新安装了该adoptopenjdk-11-hotspot_11.0.6+10-2软件包,一切顺利。

答案2

软件包源可用这里. 可以使用以下语法下载并编译软件包源:

wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/openssl098/0.9.8o-7ubuntu3.2.14.04.1/openssl098_0.9.8o.orig.tar.gz
tar -xvzf openssl098_0.9.8o.orig.tar.gz
cd ./openssl-0.9.8o/
./config
make
make test
sudo make install_sw
  • 在最后一行,“install_sw”(而不是“install”)是一种避免与手册页相关的错误的解决方法。还有另一种方法来处理这个问题;请参阅这里

相关内容