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

Linux故障系统重建:如何利用已安装包列表同步软件环境(无法常规U盘重装)

Linux故障系统重建:如何利用已安装包列表同步软件环境(无法常规U盘重装)

听起来你的系统状况确实够闹心的——一堆莫名其妙的故障凑在一起,还没法用常规U盘重装,完全摸不着头绪的时候,重建干净环境再同步软件确实是个靠谱思路。我来给你一步步讲怎么操作:

第一步:从故障系统导出已安装包列表

你有两个主要选项,看你想要还原到什么程度:

选项1:导出所有已安装包(包括自动安装的依赖)

如果想1:1还原所有包(哪怕是系统自动装的依赖),用dpkg的导出命令:

dpkg --get-selections > installed-packages.txt

这个命令会把系统里所有已安装的包(不管是手动还是自动装的)都记录到installed-packages.txt文件里,把这个文件拷到新系统里就行。

选项2:只导出手动安装的包(更干净)

如果你只想还原自己手动装的软件,让apt自动处理依赖,用这个命令导出手动安装列表:

apt-mark showmanual > manual-packages.txt

这样得到的列表里只有你主动安装的软件,后续安装时apt会自动拉取所有需要的依赖,环境会更简洁。

第二步:在新干净系统里导入并安装包

对应选项1的安装方法

把installed-packages.txt传到新系统后,先设置包选择状态:

dpkg --set-selections < installed-packages.txt

然后让apt根据这个状态去同步安装/升级:

apt-get dselect-upgrade -y

这个命令会自动处理所有缺失的包,把系统调整到和原系统一致的包状态。

对应选项2的安装方法

直接用xargs批量安装手动列表里的软件:

xargs apt-get install -y < manual-packages.txt

apt会自动识别每个包并安装,同时拉取所有必要的依赖,非常省心。

一些关键注意事项

  • 一定要保证新系统和原系统是同发行版同版本的,比如都是Ubuntu 22.04,不然包名或版本可能不兼容,导致安装失败。
  • 如果原系统的apt已经出问题了,优先用dpkg的方式导出,它是底层工具,大概率还能正常运行。
  • 除了包,别忘了备份你需要的配置文件,比如/etc下的关键配置、用户目录里的.config文件夹等——这些是软件的个性化设置,包安装不会自动恢复这些。

这样操作下来,你就能在干净的系统里还原原来的软件环境,完全避开原系统里可能存在的故障源,不用担心中间复制了问题文件。

备注:内容来源于stack exchange,提问作者ForDummies

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 15:57:41