![apt / dpkg 状态的快照,允许从该状态下载 deb 文件](https://linux22.com/image/941169/apt%20%2F%20dpkg%20%E7%8A%B6%E6%80%81%E7%9A%84%E5%BF%AB%E7%85%A7%EF%BC%8C%E5%85%81%E8%AE%B8%E4%BB%8E%E8%AF%A5%E7%8A%B6%E6%80%81%E4%B8%8B%E8%BD%BD%20deb%20%E6%96%87%E4%BB%B6.png)
我读了apt 安装软件包的快照和回滚和在 Apt 中读取数据库是什么意思?。我的任务(恕我直言)比第一个问题(没有可接受的答案)更简单:无需回滚,我设想保存足够的 apt / dpkg 状态以允许临时替换已保存的文件,以便能够apt-get install --download-only
从已保存的状态中使用。
需要备份和替换哪些文件(数据库?)?替换后需要任何清除/修复一致性命令吗?
通过这个过程,我希望获得在离线计算机上安装所需的软件包。
答案1
我偶然发现无需 dpkg 程序即可读取完整的 dpkg 数据库状态。尝试复制/var/lib/dpkg/status
文件并且看起来成功了。
总结
在寻找答案的过程中,我还发现了几个 QA,解释了分发 deb 包的方法,这些方法可能与上述内容有用:
非 LAN 解决方案
https://askubuntu.com/a/1358370/1152748建议使用apt-ftparchive
设置本地 apt deb 文件位置,以便通过标准 apt 方式进行搜索和安装。
对于 LAN:在 LAN 上缓存 apt 下载的最佳方法是什么?
https://askubuntu.com/a/1213030/1152748答案解释了如何使用apt-mark
。