背景:

  1. 一台Ubuntu 14.04 的机器,用了好几次do-release-upgrade 都返回no new release ,但是每次登陆都提示有新版本16.04 可用。
  2. 网上的大部分解决办法是,修改  /etc/update-manager/release-upgrades 把prompt=lts 修改成normal,然后执行 do-release-upgrade –d ,结果对于我还不适用。

解决过程:

  • do-release-upgrade 是个python 脚本,代码逻辑大部分是引用现有的python包,主要就是操作MetaReleaseCore 对象

m = MetaReleaseCore(useDevelopmentRelease=options.devel_release,
                      useProposed=options.proposed_release)

    • 更改该脚本
      • m = MetaReleaseCore(useDevelopmentRelease=options.devel_release 这行的后面加两句
      • m.DEBUG=True
        print(os.getenv('http_proxy'))
    • 重新执行发现503 错误,而且proxy没有设置值,才发现自己用了sudo ,普通用户下虽然设置了http_proxy 但是并没有传递到root 账号。
    • sudo bash ,然后http_proxy=myproxy 然后就可以了。

do-release-upgrade do not work_第1张图片