You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu离线备份已安装软件包并跨系统无网络恢复安装

Ubuntu 离线备份与恢复已安装软件包完全方案

一、源系统(联网状态)备份操作

  • 导出已安装软件包列表:
    执行命令 dpkg --get-selections | grep -v deinstall > installed_packages.txt,将所有已安装(未标记卸载)的软件包名导出到文本文件。
  • 下载所有软件包及依赖:
    1. 先安装依赖分析工具:sudo apt install apt-rdepends
    2. 生成需下载的完整包列表:apt-rdepends -f Depends,PreDepends -p $(dpkg --get-selections | grep -v deinstall | cut -f1) | grep -v "^/" | sort -u > packages_to_download.txt
    3. 批量下载到指定目录(示例为~/offline_packages):sudo apt-get download -o dir::cache::archives=~/offline_packages $(cat packages_to_download.txt)
      注:若部分包下载失败,需手动排查并单独下载,确保所有依赖包齐全。

二、目标系统(离线状态)恢复操作

  • 传输备份文件:将源系统的installed_packages.txt和offline_packages目录复制到目标服务器。
  • 批量安装本地deb包:
    进入包目录:cd ~/offline_packages
    执行安装命令:sudo dpkg -i *.deb
    此步骤可能出现依赖顺序报错,无需担心,后续步骤可修复。
  • 修复依赖并完成配置:
    1. 导入软件包选择状态:sudo dpkg --set-selections < installed_packages.txt
    2. 离线修复依赖并完成安装:sudo apt-get dselect-upgrade --no-download
      该命令会自动处理本地包的依赖关系,完成所有软件的配置。

三、关键注意事项

  • 源系统与目标系统的Ubuntu版本必须完全一致(如均为22.04 LTS),否则会出现依赖不兼容问题。
  • 确保源系统与目标系统硬件架构相同(如均为amd64),避免下载的包架构不匹配。
  • 若包含第三方PPA的软件包,需在源系统备份PPA的源配置文件,同时将PPA对应的包一并下载,在目标系统手动复制源配置后再执行恢复操作。

内容的提问来源于stack exchange,提问作者manashree docketrun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 04:15:56