アップグレード失敗の修正を信頼できるバージョンにバックポートする方法は?

アップグレード失敗の修正を信頼できるバージョンにバックポートする方法は?

Launchpad の Bug#1611470 により、Ubuntu 14.04.5->16.04 アップグレードが失敗します。

do-release-upgradeので起動できませんでした。バグ #1611470。バグは修正されましたが、修正されたバージョンアップグレードプログラムはTrustyで利用できません。修正を信頼できるようにバックポートする方法は?

2016年に更新されました。 10月15日:Stephenが推奨するパッチを適用した後も同じエラーが発生しました。引用は次のとおりです。

Traceback (most recent call last): File "/tmp/ubuntu-release-upgrader-4_bu5g66/xenial", line 8, in <module> File "/tmp/ubuntu-release-upgrader-4_bu5g66/DistUpgrade/DistUpgradeMain.py", line 242, in main File "/tmp/ubuntu-release-upgrader-4_bu5g66/DistUpgrade/DistUpgradeController.py", line 1876, in run File "/tmp/ubuntu-release-upgrader-4_bu5g66/DistUpgrade/DistUpgradeController.py", line 1841, in fullUpgrade File "/tmp/ubuntu-release-upgrader-4_bu5g66/DistUpgrade/DistUpgradeController.py", line 1257, in doDistUpgrade UnboundLocalError: local variable 'e' referenced before assignment Error in atexit._run_exitfuncs: Traceback (most recent call last): File "/tmp/ubuntu-release-upgrader-4_bu5g66/DistUpgrade/DistUpgradeController.py", line 1062, in _enableAptCronJob PermissionError: [Errno 1] Operation not permitted: '/etc/cron.daily/apt'

ベストアンサー1

次は動作します...

  1. ダウンロードDistUpgradeController.diffどこかに(例えば、~/Downloads
  2. 同じディレクトリから影響を受けるファイルのコピーにパッチを適用してみてください。

    cp /usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeController.py .
    patch -p1 < DistUpgradeController.diff
    
  3. エラーが発生しない場合は、回復したファイルをその場所にコピーします(最初にバックアップを作成します)。

    sudo cp /usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeController.py{,.bak}
    sudo cp DistUpgradeController.py /usr/lib/python3/dist-packages/DistUpgrade/
    

これがすべて成功したら、修正を適用します。#1611470

おすすめ記事