当前位置: 首页>>技术问答>>正文


什么是“do-release-upgrade”真的吗?

,

问题描述

我们知道do-release-upgrade“进行了版本升级”。但在更低的水平,它真正做到了什么?

我打算在设置源之后进行更多的手动升级,例如Debian方式:aptitude updateaptitude full-upgrade。实际上,我计划与aptitude完全互动。但这让我对do-relase-upgrade的其他功能感到好奇,除了收集我的sources.list。

最佳解决思路

do-release-upgrade是“update-manager-core”包的一部分。该脚本似乎确定您要升级到哪个版本,尝试找出它是否受支持并抱怨后者。 – 如果它确信有效,它会下载release-specific UpgradeTool并运行它。

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

下载的UpgradeTool tarball从源包“ubuntu-release-upgrader”打包(在“update-manager”之前)。该版本对应于目标版本的最新更新。

来源有一个旧的自述文件,来自肮脏和白痴的发布时间。它讨论了在发布升级期间应该做什么。它还提到了一个指向more detailed UpgradeTool proposal的链接。

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

  • 存储库相关

    • 切换到新的sources.list条目

    • 删除未知的第三方存储库

    • 可能交换镜像(未实现)

  • 包相关

    • 检查升级前是否有破损的包裹

    • 升级前更新当前版本(仅限apt-get update)

    • 删除并安装特定的包

    • 检查是否安装了{ub​​untu,kubuntu,edubuntu} -desktop

    • 摆脱旧内核

    • 有一个removal-blacklist和-whitelist

    • 删除或替换早期版本中存在的过时软件包

  • 配置相关(可能在怪癖中:见下文)

    • 将默认用户添加到新组(未对我检查的版本执行)

    • 检查一些配置文件

使用以下文件为每个版本配置UpgradeTool(打开它们以查看!):

  • DistUpgrade.cfg

    • UpgradeTool-related配置

    • release-related配置

    • 存储库(例如[Sources] ValidMirrors)

    • 自定义更改([Distro] PostInstallScript)

    • 特别套餐;仅由DistUpgradeController.py处理:

      • [Distro] RemoveObsoletes,ForcedObsoletes,BaseMetaPkgs,MetaPkgs

      • [meta_package_name] ForcedObsoletes

    • ……和DistUpgradeCache.py:

      • [Distro] MetaPkgs,RemovalBlacklist,RemoveEssentialOk,BadVersions,BaseMetaPkgs,PurgeObsoletes,Demotions,KeyDependencies

      • [Distro和meta_package_name] KeepInstalledPkgs,KeepInstalledSection,PostUpgrade *

      • [KernelRemoval] *

    • 运行(发布)特定功能(相同文件)和插件(plugins目录)

    • 函数必须具有特定名称(例如from_nattyPreCacheOpen())和插入特殊condition属性(例如*PostInitialUpdate)

    • 其中一个函数StartUpgrade()是另一个grab-bag本身:其中包括调用_applyPatches(),它遍历patches目录中的文件

    • 所有这些在我的安装上几乎没有任何作用(i386,包装不比natty-updates早)

  • 更多来自DistUpgradeCache.py

    • 运行get_kernel_list.sh(不可靠)并确保安装了一个内核

    • 一些处理Nvidia驱动程序

检查版本:

  • natty→oneiric

  • oneiric→精确

  • 精确→可靠(最终截至2014-04-18)

  • 可靠→乌托邦(2014-10-23发布前几小时)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7216.html,未经允许,请勿转载。