![无法在 Ubuntu 19.04 上为 Packet Tracert 7 安装 libpng12.so.0](https://linux22.com/image/910845/%E6%97%A0%E6%B3%95%E5%9C%A8%20Ubuntu%2019.04%20%E4%B8%8A%E4%B8%BA%20Packet%20Tracert%207%20%E5%AE%89%E8%A3%85%20libpng12.so.0%20.png)
我在早期的 Ubuntu 版本中遇到过这个问题,但能够libpng12.so.0
顺利安装。
但在最新的 Ubuntu 19.04 中我无法安装它......
我已尝试过:
下载并本地安装
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
创建符号链接
ln -s /usr/lib/x86_64-linux-gnu/libpng16.so.16 /usr/lib/x86_64-linux-gnu/libpng12.so.0
添加了新的存储库并通过安装
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/