dpkg 是 Debian

dpkg 是 Debian 系最底层的“安装/卸载本地 deb 包”的命令;
“扔进内网 apt 源”就是把 deb 放到一台局域网服务器上,让其他机器像从官方仓库一样 apt install cyclonedds,而不再手动拷文件。
下面把两种用法都拆成“一句命令”+“背后原理”,保证你能直接照抄。


  1. 最简:dpkg 本地安装(单人/偶尔用)

cyclonedds_0.10.4_amd64.deb 拷到目标机器,然后

sudo dpkg -i cyclonedds_0.10.4_amd64.deb
  • dpkg -i 相当于 Windows 里双击 xxx.msi——只负责把文件解开、写数据库,不解决依赖
    因为 cyclonedds 本身只依赖 libc(系统自带),所以不会报错;如果以后你打包别的软件缺依赖,再跑一条 sudo apt -f install 即可自动补。

  1. 多人/批量:30 秒搭一个“局域网 apt 仓库”

场景:实验室有 N 台 Debian/Ubuntu,不想每次都 scp+dpkg。

step-1 选一台当“仓库机”(能装 nginx 即可,哪怕是你的笔记本)

# 1. 建目录
sudo mkdir -p /var/www/local-apt
# 2. 把你的 deb 放进去
sudo cp cyclonedds_0.10.4_amd64.deb /var/www/local-apt/
# 3. 生成 apt 索引
cd /var/www/local-apt
sudo dpkg-scanpackages . /dev/null | sudo gzip -9c > Packages.gz
# 4. 起个最简 web(nginx 或 python 都行)
sudo python3 -m http.server 80 --directory /var/www/local-apt &

step-2 在每台客户端上写一行源

echo "deb [trusted=yes] http://<仓库机IP>/ ./" | \
  sudo tee /etc/apt/sources.list.d/local.list
sudo apt update

step-3 以后任意机器想装

sudo apt install cyclonedds
  • apt 会自动对比版本、自动依赖、自动升级——和官方包体验完全一样。
  • 要更新版本只需把新 deb 丢进 /var/www/local-apt,再跑一次 dpkg-scanpackages . | gzip > Packages.gz,客户端 apt upgrade 就收到。

一张图总结

单人:拷 deb → sudo dpkg -i xxx.deb
多人:把 deb 放目录 → dpkg-scanpackagesapt install xxx

就这么点区别,选一条即可。

posted @ 2025-11-03 17:14  aiplus  阅读(6)  评论(0)    收藏  举报
悬浮按钮示例