无法在 Ubuntu 19.04 上为 Packet Tracert 7 安装 libpng12.so.0

无法在 Ubuntu 19.04 上为 Packet Tracert 7 安装 libpng12.so.0

我在早期的 Ubuntu 版本中遇到过这个问题,但能够libpng12.so.0顺利安装。

但在最新的 Ubuntu 19.04 中我无法安装它......

我已尝试过:

  1. 下载并本地安装

    wget -q -O /tmp/libpng12.deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb && dpkg -i /tmp/libpng12.deb   && rm /tmp/libpng12.deb
    
  2. 创建符号链接

    ln -s /usr/lib/x86_64-linux-gnu/libpng16.so.16 /usr/lib/x86_64-linux-gnu/libpng12.so.0
    
  3. 添加了新的存储库并通过安装apt

    echo “deb http://mirrors.kernel.org/ubuntu/ xenial main” >> /etc/apt/sources.list
    apt update
    apt install libpng12-0
    

所有这些解决方法都不起作用。

有人能帮我解决这个问题吗?

答案1

我终于知道了导致错误的原因并修复了它。

您可以在此处下载新的软件包:

https://www.dropbox.com/s/79x3imq73tcqyw4/libpng12-0_1.2.54-1ubuntu1b_amd64.deb?dl=0 https://www.dropbox.com/s/yhk1p83b2e7rvt4/libpng12-0_1.2.54-1ubuntu1b_i386.deb?dl=0

因此,问题基本上来自数据包的架构以及 Ubuntu 的 /lib 和 /usr/lib 文件夹的架构。在以前的版本中,/lib 和 /usr/lib 是 2 个不同的文件夹,但在 Ubuntu 19.04 上,/lib 是指向 /usr/lib 的符号链接。

现在,以 libpng12-0_1.2.54-1ubuntu1_amd64.deb 为例。
这是 deb 架构(我只会显示二进制文件):

/lib/x86_64-linux-gnu/libpng12.so.0 (符号链接)
/lib/x86_64-linux-gnu/libpng12.so.0.54.0
/usr/lib/x86_64-linux-gnu/libpng12.so.0 (符号链接)

这会在 Ubuntu 19.04 中解压时产生冲突,因为它试图在同一个位置写入两次 libpng12.so.0,而这在 apt 中是不可能的。

我所做的只是使用以下架构重新打包文件:

/usr/lib/x86_64-linux-gnu/libpng12.so.0 (符号链接)
/usr/lib/x86_64-linux-gnu/libpng12.so.0.54.0

如果您不信任我的包(我会理解),您可以简单地将文件的校验和与原始数据包的校验和进行比较。

答案2

下载 libpng12-0_1.2.54-1ubuntu1.1_amd64.deb,解压,然后将 libpng12.so.0、libpng12.so.0.54.0 从 data.tar.gz 文件夹复制到 /usr/lib/x86_64-linux-gnu/

相关内容