`do-release-upgrade` 实际上起什么作用?

`do-release-upgrade` 实际上起什么作用?

我们知道do-release-upgrade“发布会升级”。但在更低的层次上它到底起什么作用?

我计划进行更手动的升级,例如 Debian 方式:在设置源aptitude update后进行升级aptitude full-upgrade。实际上,我计划完全与 交互aptitude。但这让我很好奇,别的 do-relase-upgrade确实如此,除了破坏我的 sources.list。

答案1

do-release-upgrade是“update-manager-core”软件包的一部分。该脚本似乎会确定您要升级到哪个版本,尝试找出它是否受支持,并对后者提出投诉。- 如果确信它可以工作,它会下载特定于版本的升级工具并运行它。

“update-manager-core” 软件包的一部分是文件/etc/update-manager/meta-release,您可以在其中找到 URLhttp://changelogs.ubuntu.com/meta-release在那里您可以找到要下载升级工具的 URL。

下载的升级工具压缩包是从源包“ubuntu-release-upgrader”(之前是“update-manager”)打包而来的。版本对应于目标版本的最新更新。

源代码中有一份老旧的 README 文件,来自 warty 和 hoary 发布时间。它讨论了在发布升级期间应该做什么。它还提到了一个链接,指向更详细的升级工具建议

我在这里列出了那里提到的行动并检查它们是否实际实施了:

  • 存储库相关
    • 切换到新的 sources.list 条目
    • 删除未知的第三方存储库
    • 可能交换镜像(未实现)
  • 包相关
    • 升级前检查没有损坏的软件包
    • 升级前更新当前版本(apt-get update仅限)
    • 删除并安装特定包
    • 检查 {ubuntu,kubuntu,edubuntu}-desktop 是否已安装
    • 删除旧内核
    • 有一个删除黑名单和白名单
    • 删除或替换早期版本中存在的过时软件包
  • 配置相关(可能存在怪癖:见下文)
    • 将默认用户添加到新组(我检查的版本没有这样做)
    • 检查一些配置文件

升级工具是配置对于每个版本使用以下文件(打开它们查看!):

  • 升级配置文件
    • UpgradeTool相关配置
    • 发布相关配置
    • 存储库(例如 [Sources] ValidMirrors)
    • 自定义更改([Distro] PostInstallScript)
    • 特殊包;仅由 DistUpgradeController.py 处理:
      • [发行版] RemoveObsoletes、ForcedObsoletes、BaseMetaPkgs、MetaPkgs
      • [meta_package_name] ForcedObsoletes
    • ...通过 DistUpgradeCache.py:
      • [发行版] MetaPkgs、RemovalBlacklist、RemoveEssentialOk、BadVersions、BaseMetaPkgs、PurgeObsoletes、Demotions、KeyDependencies
      • [发行版和元软件包名称] KeepInstalledPkgs、KeepInstalledSection、PostUpgrade*
      • [内核移除] *
  • DistUpgradeQuirks.py
    • 运行(发布)特定函数(同一文件)和插件(plugins目录)
    • 函数必须有特定的名称(例如from_nattyPreCacheOpen())并且插件必须有特殊的condition属性(例如*PostInitialUpdate
    • 其中一个函数StartUpgrade()是,它本身就是另一个大杂烩:它调用了其他函数,用于遍历目录_applyPatches()中的文件patches
    • 所有这些都几乎不做任何事情我的安装(i386,不早于 natty-updates 的软件包)
  • DistUpgradeCache.py 的更多内容
    • 运行get_kernel_list.sh(不可信)并确保安装了一个内核
    • 关于Nvidia驱动的一些处理

检查的版本:

  • 整洁 → 梦幻
  • 梦幻的→精确的
  • 精确 → 可信 (2014-04-18 最终版本)
  • trusty → utopic (2014-10-23 发布前几个小时)

相关内容