You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何将旧系统的自定义软件源迁移至新安装的Ubuntu系统?

如何将旧系统的自定义软件源迁移至新安装的Ubuntu系统?

哎,升级失败确实闹心,重装虽然麻烦但至少稳当!关于迁移自定义软件源,我给你整理了几个靠谱的方法,亲测好用:

一、先从旧系统导出所有自定义源信息

Ubuntu的软件源分两部分存储,咱们得都备份好:

  • 系统主源文件:/etc/apt/sources.list 里既有官方默认源,也可能有你手动添加的自定义条目。你可以用命令把它备份到用户目录:
    sudo cp /etc/apt/sources.list ~/old_sources.list
    嫌命令麻烦的话,直接用文件管理器打开/etc/apt/文件夹,把sources.list拖到U盘或者移动硬盘里也行。
  • 第三方源文件:/etc/apt/sources.list.d/ 这个目录下的所有文件,全是你后来添加的PPA、软件官方源这类自定义源。直接把整个目录备份:
    sudo cp -r /etc/apt/sources.list.d/ ~/old_sources_list_d
    同样,文件管理器复制整个目录更直观,适合怕敲错命令的朋友。

二、把备份的源导入新系统

这一步要注意别乱覆盖新系统的默认源,不然容易出问题:

  • 处理主源文件
    新系统装好后,先打开你备份的old_sources.list,把里面你自己手动添加的条目(比如非Ubuntu官方的源、你换的国内镜像源行)挑出来,复制到新系统的/etc/apt/sources.list里。或者更稳妥的是,在新系统的/etc/apt/sources.list.d/目录下新建一个文件(比如my_custom_sources.list),把这些自定义条目粘贴进去,这样和系统默认源分开管理,后续排查问题也方便。
  • 导入第三方源文件
    把你从旧系统拷来的sources.list.d/里的所有文件,复制到新系统的/etc/apt/sources.list.d/目录下。这里要多留个心眼:有些源可能只支持旧版本Ubuntu(比如你原来的Focal),不支持新的Jammy/Noble,这时候你得打开对应的源文件,把里面的版本代号(比如focal)改成新系统的(jammynoble),不然执行更新命令时会报错。
  • 验证源是否正常
    所有文件都弄好后,在新系统的终端里执行:
    sudo apt update
    如果有报错,就对应看提示里的源文件,要么删掉不兼容的源,要么调整版本代号再试一次。

小技巧:快速导出PPA源的添加命令

如果你只想迁移PPA源,在旧系统里可以用这个命令列出所有PPA的源信息:
grep -r "deb http" /etc/apt/sources.list.d/ | grep ppa.launchpad.net
输出的每一行里,比如deb http://ppa.launchpad.net/xxx/yyy/ubuntu focal main,你可以提取出ppa:xxx/yyy,然后在新系统里用命令重新添加:
sudo add-apt-repository ppa:xxx/yyy
这样系统会自动适配新系统的版本代号,比手动改文件更省心。

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

火山引擎 最新活动