在实际开发或维护中,我们经常会遇到服务器处于“无网络环境”的情况,但又需要使用如 traceroute
这样的网络排查工具。这篇文章将手把手教你如何在 Ubuntu 下离线安装 traceroute
命令,并附赠一个自动打包依赖为 zip 或 tar.gz 的实用脚本。
什么是 traceroute?
traceroute
是一种追踪 IP 路由路径的工具,可以用来分析数据包在传输过程中的每一跳延迟、IP,以及是否中断。
默认 Ubuntu 系统中可能没有安装,需要我们手动安装:
sudo apt install traceroute
但如果系统无法联网,就不能直接使用该命令,这时就需要准备离线安装包。
一、准备工作:在一台联网的 Ubuntu 上下载依赖包
建议使用与目标离线系统版本一致的 Ubuntu 进行操作,比如目标是 Ubuntu 20.04,你也应在 Ubuntu 20.04 上下载依赖。
1. 创建一个工作目录
mkdir traceroute-offline
cd traceroute-offline
2. 下载 traceroute 包
apt download traceroute
3. 下载所有依赖包(推荐安装 apt-rdepends)
sudo apt install apt-rdepends
apt-rdepends traceroute | grep -v "^ " | grep -v "^traceroute$" | xargs apt download
执行完成后,当前目录下会包含所有 traceroute
的 .deb
包及依赖。
二、打包所有安装包(zip / tar.gz 格式)
可以使用如下脚本一键打包:
打包脚本(保存为 package_traceroute.sh
)
#!/bin/bash
set -e
PACKAGE=traceroute
WORKDIR=traceroute-offline
OUTFILE=traceroute-offline-packages
# 创建工作目录
mkdir -p $WORKDIR
cd $WORKDIR
# 下载主包
apt download $PACKAGE
# 下载依赖包
if ! command -v apt-rdepends &> /dev/null; then
echo "安装 apt-rdepends..."
sudo apt update && sudo apt install -y apt-rdepends
fi
apt-rdepends $PACKAGE | grep -v "^ " | grep -v "^$PACKAGE$" | xargs apt download
cd ..
# 打包为 zip 和 tar.gz
zip -r "$OUTFILE.zip" "$WORKDIR"
tar -czf "$OUTFILE.tar.gz" "$WORKDIR"
echo "✅ 离线包已打包完成:"
echo " - $OUTFILE.zip"
echo " - $OUTFILE.tar.gz"
使用方法
chmod +x package_traceroute.sh
./package_traceroute.sh
执行完毕后会得到两个压缩包:
traceroute-offline-packages.zip
traceroute-offline-packages.tar.gz
拷贝任意一个压缩包到目标离线机器解压即可使用。
三、在离线目标机器上安装
将解压后的 .deb
包放入某个目录,进入该目录后执行:
sudo dpkg -i *.deb
若提示缺少依赖,可以尝试再次运行,或者加上 --force-all
强制安装(不推荐,除非了解后果)。
四、验证是否安装成功
traceroute www.baidu.com
输出中若有多跳 IP 路由即表示 traceroute 安装成功,可以正常使用。
总结
本文介绍了如何在 Ubuntu 无网环境下安装 traceroute,包括:
- 使用
apt download
和apt-rdepends
收集依赖 - 打包为离线安装包
- 离线设备上批量安装
- 附带一键打包脚本,方便多次复用
© 版权声明
转载请注明出处,并标明原文链接。
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
THE END
暂无评论内容