惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
腾讯CDC
博客园 - 司徒正美
A
About on SuperTechFans
H
Help Net Security
J
Java Code Geeks
C
Check Point Blog
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MongoDB | Blog
MongoDB | Blog
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
MyScale Blog
MyScale Blog
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
博客园 - 【当耐特】
雷峰网
雷峰网

姓王者的博客

Linux用户Secure Boot自主维护指南 | 姓王者的博客 MAD Bugs 已经开始——关于信息安全的军备竞赛 | 姓王者的博客 解决钉钉Dingtalk无法在Linux新版内核上启动问题-修复可执行栈错误 | 姓王者的博客 突发:GitHub 正遭受大规模 Issue 赌博广告轰炸 | 姓王者的博客 Ubuntu26.04-beta体验:坚毅浣熊! | 姓王者的博客 fakeclaw装作龙虾发贴吧 | 姓王者的博客 找回12年前的QQ记忆 | 姓王者的博客 在Linux上玩Flash网页游戏-洛克王国 | 姓王者的博客 Copilot将使用交互数据来训练 | 姓王者的博客 重要通知-请更新我的GPG公钥 | 姓王者的博客 为了自由Android | 姓王者的博客 GPL"2,3"事 | 姓王者的博客 短文-对VitePlus的一点🤏小贡献 | 姓王者的博客 Bing收录没了?亲测有效的快速恢复指南 | 姓王者的博客 解决桌面设备二维码快速识别的工具-ClipQR | 姓王者的博客 解决 Nautilus 自定义终端插件安装依赖问题 | 姓王者的博客 OpenClaw 该熄火了 | 姓王者的博客 Vite8 - 统一的基建开始 | 姓王者的博客 Astro 6 推出啦 | 姓王者的博客 ubuntu的openvpn异常暂停推送更新 | 姓王者的博客 Ubuntu 24.04 安装 Win10 虚拟机 | 姓王者的博客 ESA-后记:热爱阿里云 | 姓王者的博客 Moonbit 0.8.0 重大发布,我也要改一下我的包 | 姓王者的博客 ESA Pages 边缘开发大赛获奖 | 姓王者的博客 Astro: 优化katex,mermaid和灯箱使用 | 姓王者的博客 从edgeone迁移到esa | 姓王者的博客 出租人类:AI时代的荒诞与真实 | 姓王者的博客 Astro 5.17构建性能优化实践:从18s到13s | 姓王者的博客 Moonbit License Checker 开发使用 | 姓王者的博客 Stalux Astro博客主题自荐 | 姓王者的博客
偷梁换柱,解决Ubuntu24.04安装Packet Tracer缺失依赖问题 | ...
作者:xingwangzhe · 2025-10-12 · via 姓王者的博客

🕒 阅读时间:1 分钟 📝 字数:386 👀 阅读量: Loading...

引言

由于学校的计算机网络实验课指导书基于 Windows,而我默认使用 Ubuntu,为了适应实验要求,我下载了 Packet Tracer。发现官网版本 (8.2.2) 支持的是 Ubuntu 22.04 而非 24.04,安装时缺少依赖。经过一番折腾,通过“偷梁换柱”的方法,成功解决了依赖问题。

Packet Tracer 下载页面

依赖欺骗全流程复盘

问题根源

deb 包的 control 文件中写死了 Depends: libgl1-mesa-glx,而 Ubuntu 24.04 的仓库已删除此过渡包,导致 dpkg 直接拒绝配置。

解决思路

既然 dpkg 只认包名,那就让系统出现一个名为 libgl1-mesa-glx 的空壳包,而真正干活的库早就装好了。

实操步骤

以下是逐条可复现的步骤:

  1. 安装真实库 提供 libGL.so.1libGLX_mesa.so.0 等实际文件,确保功能不缺。

    sudo apt install -y libgl1 libglx-mesa0 libxcb-xinerama0

  2. 解除 apt 阻塞 将之前半拉子安装的 packettracer 清掉,使 apt 恢复可用。

    sudo apt --fix-broken install

  3. 安装造包工具

    sudo apt install -y equivs

  4. 生成最小控制文件

    cat >/tmp/libgl1-mesa-glx <<'EOF'

    Section: misc

    Priority: optional

    Standards-Version: 4.5.1

    Package: libgl1-mesa-glx

    Version: 23.0.4-0ubuntu1

    Maintainer: dummy <dummy@localhost>

    Description: Dummy transitional package for libgl1-mesa-glx

    EOF

  5. 构建空壳 deb

    equivs-build /tmp/libgl1-mesa-glx

    这将生成 libgl1-mesa-glx_23.0.4-0ubuntu1_all.deb

  6. 将空壳包装进系统/var/lib/dpkg/status 中添加已安装记录,使 dpkg 依赖检查通过。

    sudo dpkg -i libgl1-mesa-glx_23.0.4-0ubuntu1_all.deb

  7. 正式安装 Packet Tracer

    sudo dpkg -i ./Packet_Tracer822_amd64_signed.deb

    此时不再报依赖错误,图标、菜单项、/opt/pt 目录一次性到位。

  8. 验证

    能弹出登录窗口即宣告成功。

核心要点

  • 空壳包不含文件,仅提供“包名”供 dpkg 匹配;零副作用、易卸载。
  • 真正驱动 OpenGL 的库(libgl1libglx-mesa0)早已装齐,功能零缺失。
  • 无需修改官方 deb,也无需重打包,一条链路线完成。

卸载方法(可选)

sudo dpkg -r libgl1-mesa-glx

空壳包瞬间消失,系统恢复原状。

至此,Ubuntu 24.04 用“狸猫换太子”完美运行官版 Packet Tracer 8.2.2,任务结束。