ubuntu20安装网络调试助手遇到缺少qt4相关库的问题

最近需要做套接字通讯的工作,最好是有一个网络调试软件能够接受或者发送套接字,测试代码能够正常通讯。windows下有很多,但是linux下比较少,使用广泛的是下面这一款。在这里插入图片描述

1、安装

首先从网盘(链接: https://pan.baidu.com/s/1Zo-M9VUNp977xvYSMakv6A?pwd=Nv24)下载软件,或者搜索ubuntu mNetAssist搜索下载。下载后通过sudo dpkg -i mNetAssist-release-amd64.deb安装,成功后会显示图标:
在这里插入图片描述

当我们打开这个软件会发现没有任何反应,实际上是因为缺少了相关的支持库。

2、排查

直接点击图标启动并不会显示报错及原因,需要通过命令行启动。上述软件被安装在/opt/目录下(这个目录下还安装了其他软件,如果其他软件也打不开或闪退等,也可以按这个方式来排查一下),进入/opt/mNetAssist/目录后,通过命令行./mNetAssist启动,发现报错了:

./mNetAssist: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory

QT4的框架在20.04及以后版本的主存储库已经删除了,老软件在新系统安装运行,缺失必要的依赖库,而依赖过时了,新系统不再支持安装,导致老软件运行不起。

实际上还不止缺少这个库,每次启动遇到缺少的就报错,显然只能解决一个排查一个,实际上我们也可以通过ldd ./mNetAssist命令来查看所有支持库的情况:

(base) ishyj@ishyj-XiaoXin-14-IRL8:/opt/mNetAssist$ ldd ./mNetAssist
	linux-vdso.so.1 (0x00007ffecafe9000)
	libQtGui.so.4 => not found
	libQtNetwork.so.4 => not found
	libQtCore.so.4 => not found
	libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007efda4fbc000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007efda4d43000)
	libaudio.so.2 => not found
	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007efda4bfe000)
	......

可以看到缺少libQtGui.so.4、libQtNetwork.so.4、libQtCore.so.4、libaudio.so.2四个库

3.1 如果本地存在so文件

那么我们可以先查一下本地是否存在:ldconfig -p | grep libQtGui,如果存在则记住其所在目录,然后修改~/.bashrc, 将找到的库文件所在文件夹加入到环境变量:

# 打开bashrc
vim ~/.bashrc

# 最后面追加,path为上文找到的库的目录
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:path

# 退出vim后,更新,然后可以再次ldd查询这个库是否找到了
source ~/.bashrc

3.2 如何在 Ubuntu 中安装 Qt4 库

参考:如何在 Ubuntu 中安装 Qt4 库 20.04 [Ubuntu 22.04 更新]

在上面的参考中有ubuntu20和ubuntu22安装qt4库的方法,这里简要说一下ubuntu20安装qt4的步骤:

sudo add-apt-repository ppa:rock-core/qt4
sudo apt update

sudo apt install PACKAGE_NAME

缺少什么so文件,就install PACKAGE_NAME就可,当然库文件和对应的PACKAGE_NAME在Packages in “Qt4 for Ubuntu 20.04”可以查到。

3.3 上法不奏效

【linux】ubuntu20.04 运行软件 提示找不到过时的库 libQtCore.so.4、libQtGui.so.4、libpng12.so.0文中第1节所讲,可能上面3.2节方法不会有效(至少我的libqt4-network按照3.2奏效了,但是libQtGui和libQtCore是按照3.3节方法实现的)

本节的方法实际上就是将qt4中对应的库文件复制到系统中。

3.2.1 打开ubuntu主储存库

打开vim /etc/apt/sources.list查询到http://security.ubuntu.com/ubuntu/,打开
该链接,依次进入pool'--'main'--'q/'--'qt4/-x11,找到libqtgui4_4.8.7+dfsg-7ubuntu1_amd64.deb下载(其他库为libqtcore4_4.8.7+dfsg-7ubuntu1_amd64.deblibqt4-network_4.8.7+dfsg-7ubuntu1_amd64.deb,libaudio没有找到是按3.2节的方法解决的)。下载的deb是可以直接安装的,但是因为ubuntu20存在qt5这个高版本,所以安装是要报错的。
在这里插入图片描述

下载的deb解压后,进入解压data.tar.xz,进入data/usr/lib,在x86_64-linux-gnu下就是一些库文件。现在在lib文件夹下打开终端:

# 修改x86_64-linux-gnu下所有文件权限
sudo chmod 777 x86_64-linux-gnu/*

# 移动到/usr/lib/qt4文件夹中
sudo cp -r x86_64-linux-gnu/ /usr/lib/qt4

然后可以通过ldd /opt/mNetAssist/mNetAssist看看这个库文件是否支持了。

其他几个库文件都是安装上面的流程以此复制到qt4文件夹中

参考

Ubuntu20.04 tcp调试工具mNetAssist安装
【linux】ubuntu20.04 运行软件 提示找不到过时的库 libQtCore.so.4、libQtGui.so.4、libpng12.so.0

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Ubuntu 网络调试助手是一种网络工具,在 Ubuntu 操作系统上用于帮助用户诊断和修复网络问题。它提供了许多功能来分析和跟踪网络流量,包括捕获、过滤、分析和存储数据包,以及监控网络流量和统计信息。 Ubuntu 网络调试助手使用一种名为 Wireshark 的网络协议分析器,它可以捕获网络数据包,并提供详细的分析和统计信息。用户可以使用过滤器来筛选出特定类型的数据包,并且可以保存并导出它们以供以后参考。 此外,Ubuntu 网络调试助手还提供了一个名为 Nmap 的网络发现工具,它可以扫描网络并确定哪些主机和服务可用。Nmap 还提供了一些选项,如扫描特定 IP 范围、指定端口等。 总的来说,Ubuntu 网络调试助手非常有用,特别是在使用 Ubuntu 操作系统的人中,可以通过它来诊断和解决网络问题,确保网络和互联网连接的稳定。 ### 回答2: Ubuntu网络调试助手是一款基于Linux操作系统开发的网络调试工具。该工具主要用于网络流量分析与诊断,能够帮助网络管理员或开发人员快速并准确地定位网络故障,以对网络问题进行修复。 该工具提供了多种常用的网络分析工具,如Wireshark、tcpdump、netstat、ping等,能够实时抓取网络流量并对流量的协议和数据包进行解析和分析,从而深入了解网络数据传输的过程,包括网络性能、延迟、安全性等方面的信息。此外,该工具还提供了多种诊断工具,如nslookup、traceroute、dig等,帮助用户快速找到网络中的节点问题,并通过搜索引擎和其它工具进一步确定问题的根本原因。 Ubuntu网络调试助手易于使用,具有友好的用户界面和直观的操作流程,即使对于没有网络调试经验的用户也能迅速上手。该工具支持自定义设置和脚本,让用户可以根据实际需求自由调整工具的功能和参数,提高工作效率。 总之,Ubuntu网络调试助手是一款非常实用的网络调试工具,能够为网络管理员、开发人员提供快速并准确地网络流量分析和故障诊断服务。 ### 回答3: Ubuntu网络调试助手是一个在Ubuntu操作系统上运行的工具,它的主要功能是帮助用户诊断和调试网络问题。这个工具可以捕获和分析数据包,对网络传输进行监测和分析,以便用户可以了解网络传输情况和定位问题。 使用Ubuntu网络调试助手,用户可以快速分析网络故障的原因,并采取相应的措施进行修复。工具提供了多种数据包捕获模式,支持过滤和搜索数据包,可以根据IP地址、应用程序、协议等关键字进行筛选,以帮助用户更快地定位网络故障。用户也可以根据不同的协议进行数据包分析,例如TCPUDP、ICMP等。 Ubuntu网络调试助手还提供了其他有用的功能,例如网络性能测试、流量图表、安全性评估等等。用户可以使用这些功能来评估网络的性能和安全性,并做出相应的调整和优化。 总体而言,Ubuntu网络调试助手是一个非常实用的网络诊断和调试工具,可以帮助用户更快地定位网络问题、提高网络性能和安全性。它是Ubuntu操作系统下不可缺少的一款工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一个对称矩阵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值