编辑sources.list是个好主意吗?


10

自2-3天以来,这种怀疑一直困扰着我,所以我决定自己进行测试。我所做的是我在VMWare安装了Ubuntu 16.04.4和编辑/etc/apt/sources.list,并取代xenialbionic使用:

sudo sed -i 's/xenial/bionic/g' /etc/apt/sources.list

然后我跑了

sudo apt-get update && sudo apt-get upgrade 

通过使用确认,我能够升级到18.04 lsb_release -a。但是,我遇到了一些问题,例如:

  • apt没有稳定的CLI界面。在脚本中谨慎使用。

  • python3-aptdaemon.pkcompat的未满足依赖项

  • 释放“ appstream”的“ bionic-backports”

  • 破碎的团结

我解决了所有错误并安装了gnomegdm3

因此,我只想知道编辑是一个好主意sources.list吗?我知道我的系统可能坏了,但是还有其他特定原因不使用它。

注意:我在VMWare的Ubuntu 16.04上对此进行了测试,只是为了消除我的疑问。


1
您应该运行sudo apt-get dist-upgrade(或更好sudo aptitude dist-upgrade)将新的依赖项包含在升级过程中。关于脚本中的apt的警告消息是正常的,它同时存在于16.04和18.04中。
N0rbert '18年

@ N0rbert我知道这dist-upgrade将是一个更好的选择,但同样,会sudo apt-get install -f安装依赖项吗?
Kulfy

通常是的。但是可以肯定,我建议同时使用这两个命令。
N0rbert '18年

如果我考虑依赖关系,会有所不同吗?
Kulfy

3
只要您知道自己在做什么,并在文件中使用正确的格式,就可以了
Sergiy Kolodyazhnyy

Answers:


11

编辑/etc/sources.list是迁移到Debian中的后续版本的一个步骤,但在Ubuntu中则不是。您仍然可以使用它,但是不建议您这样做,因为大多数用户不需要精确地处理您遇到的问题。

取而代之的是,Ubuntu提供了一种工具(do-release-upgrade命令),可以以可预测和可复制的方式正确地更改源,下载并安装升级以及删除孤儿,以防止出现极端情况。建议使用此工具升级到较新版本的Ubuntu。


2
但有时do-release-upgrade不起作用。因此,在那种情况下,如果用户只是想测试他/她的程序,是否应该将其视为一种选择?
Kulfy

2
通常最好学习为什么do-release-upgrade不起作用。许多相同的原因也会导致dist-upgrade失败。
user535733 '18

1
如果do-release-upgrade不起作用,则完全接受debian方式。然后,ubuntu更新管理器会做一些准备和清理工作,而典型的ubuntu用户将不会知道。但是最后,主要步骤仍然是“ apt-get upgrade && apt-get dist-upgrade”。随时使用apt,仅在脚本中不建议使用。
allo

1
@Kulfy您正在谈论do-release-upgrade现在不工作吗?如果真是这样,Canonical尚未发布升级。在发行说明中,它确实声明它将在7月下旬18.04.1发行的几天之内可用。只是继续检查。
Terrance

@ user535733同意。
Kulfy

3

对于升级之前使用的版本,我将使用术语“源版本”,升级之后使用的版本将使用“目标版本”

升级Ubuntu版本的方法:

第一种方式:编辑sources.list

通常称为Debian升级方式,有时也称为蛮力法

这边走:

  • 使您的系统由目标版本的软件包提供。
  • 某些第三方存储库可能没有目标版本的通道,因此您有时会遇到未满足的依赖关系问题,并且在所有情况下都无法将软件包升级到较新的版本。(例如,wine-hq存储库仅在最近才添加了对Bionic的支持)。
    • 如果不删除第三方存储库,将无法完成更新存储库,因为会遇到404 Not found错误。

一些注意事项:禁用第三方存储库。

可行:不管可行与否。

推荐等级:太低。

第二种方式:执行do-release-upgrade:

俗称Ubuntu的升级方式:

这边走:

  • 对于存储库:
    • 切换到sources.list新的存储库条目
    • 自动删除过时的条目
  • 对于包装:
    • 删除可能损坏的包裹
    • 更新软件包索引(等效于sudo apt full-upgrade
    • 升级系统(相当于sudo apt full-upgrade
    • 删除旧软件包:
      • 旧内核
      • 软件包在Ubuntu的源版本中存在,但在目标版本中不存在。
    • 与Nvidia驱动程序打交道。
  • 发布特定作业:
    • 玩一些配置
    • 运行特定于发行版的脚本:
      • 例如,将Unity Desktop替换为Gnome Desktop。

但是,许多人遇到以下问题do-release-upgrade

可行:可以解决错误。

推荐等级:中低之间。

第三种方式:全新安装

这是升级系统最推荐方法

注意#1:不要忘记备份。

注意#2:您很可能会花费相同的时间来修复上述方法调用的错误。如果是这样,为什么还要犹豫进行全新安装?

有效:始终有效。

推荐等级:很高。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.