`do-release-upgrade`가 버전을 건너 뛰는 이유는 무엇입니까?


14

14.10에서 15.04로만 15.10으로의 업그레이드를 허용하지 않는 것에 대한 이 질문 에 대답 do-release-upgrade했습니다 .15.04가 수명이 다한 것으로 가정했습니다.

사용자 (@xangua)는로 릴리스를 건너 뛸 수 없다고 게시 do-release-upgrade했으므로 14.04 상자에서 명령을 실행 하여이 정보를 살펴 보았지만 혼란이 시작되었습니다.

14.04를 15.04로 바로 업그레이드하려고합니까?

물론 이것은 15.04의 수명이 다하여 내 대답을 무효화하지만 수명이 다하지 않은 경우 왜이 명령이 버전을 건너 뛰는 것처럼 보입니까?

14.10부터 업그레이드로 다운로드 한 내용이 없으며 software-updaterUbuntu 15.04를 다운로드 할 수 있다고 말하면 이에 대한 설명이 훌륭합니다.


2
14.04 시스템이 지원되지 않으므로 15.04로 업그레이드하려는 것은 일반적이지 않습니다. 예를 들어 15.04의 릴리스 정보는 14.10에서 업그레이드하는 것에 대해서만 언급합니다. do-release-upgrade14.04 시스템에서 실행할 때 14.04 시스템은 14.10으로 만 업그레이드 할 수 있었지만 14.10은 이제 EOL이므로 일반적으로 "새 릴리스를 찾을 수 없습니다"라고 표시됩니다.
fkraiem

1
따라서 시스템에 이상이 있어야합니다. 귀하의 버전은 ubuntu-release-upgrader-core무엇입니까?
fkraiem

1
더 이상이 정보를 제공 할 수 없습니다. 명령이 엉망이되어 설치가 중단되었으며, 업그레이드 중지로 인한 오류를 수정하는 것보다 재설치가 더 쉬웠습니다.
Mark Kirby

1
실제로 @fkraiem, 저장소 관리자가 자신의 길을 "스크립트"할 수 있으므로 버전 건너 뛰기가 지원됩니다.
Braiam

답변:


12

당신의 원래 추측이 옳았습니다. 15.04는 2016-02-04까지 지원되므로 현재 do-release-upgrade릴리스와 비교하여 다음 지원 릴리스로 업그레이드하려고합니다.

다음은 일반 업그레이드 프롬프트 모드에 대한 설명입니다 /etc/update-manager/release-upgrades.

새 릴리스가 있는지 확인하십시오. 둘 이상의 새 릴리스가 발견되면 릴리스 업그레이드 프로그램은 현재 실행중인 릴리스에 즉시 성공한 릴리스로 업그레이드를 시도합니다.

따라서 14.04에 있다면 14.10 do-release-upgrade으로 데려가려고 하지만 지금 은 OP (및 나)를 15.04로 가져 가려고합니다.

따라서 /usr/lib/python3/dist-packages/DistUpgrade/MetaRelease.py개발자 버전을 사용하지 않는 한 업그레이드 할 릴리스를 파악할 때 지원되지 않는 릴리스를 건너 뛰는 것처럼 보입니다.

    # then see what we can upgrade to
    upgradable_to = ""
    for dist in dists:
        if dist.date > current_dist.date:
            # Only offer to upgrade to an unsupported release if running
            # with useDevelopmentRelease, this way one can upgrade from an
            # LTS release to the next supported non-LTS release e.g. from
            # 14.04 to 15.04.
            if not dist.supported and not self.useDevelopmentRelease:
                continue
            upgradable_to = dist
            self._debug("new dist: %s" % upgradable_to)
            break

이 문제를 해결하지 않는 것이 좋습니다 do-release-upgrade -d. 로 시도했을 때 prompt=normal14.10은 EoL이므로 404를 얻었습니다. 나는 또한 섬망 do-release-upgrade -p에서 16.04로 곧장 가려고 노력했다고 생각합니다 . 내가 그것을 xenial로 데려가는 것을 깨달았을 때 모든 것이 깨졌고 공장에서 복원해야했습니다. 결국 16.04가 릴리스 될 때까지 기다렸다가 새로 설치하기로 결정했습니다.


1
백업 할 것이 있습니까? 아니면 그냥 추측 했습니까?
Ken Sharp

1
세부 사항이 추가되었습니다. OP와 같은 문제가 발생했습니다.
mmaluff 2012 년

3
내가 모호하게 생각할 질문에 대한 확실한 대답 :)
Mark Kirby

2
이 우수 답변에 설명 된 동작은 계속 적용되며 Software Updater 및를 통한 업그레이드에도 적용됩니다 do-release-upgrade. 현재 16.04 LTS 시스템은 자동 17.04로 업그레이드 제공 , 그들은거야 그래서 직접 할 수 있기 때문에 16.10를 건너 뛰는, 그 수명이 다한 것입니다 . 이러한 답변 은이 수정의 혜택을 받거나 현재 동작을 완전히 설명 하는 새로운 답변을 게시 할 수 있습니다. 뭔가를 게시 하시겠습니까?
Eliah Kagan

5

do-release-upgrade는 "점프 버전"에 대해 아무것도 모릅니다. 단순히 Ubuntu 리포지토리 관리자로부터 업그레이드 계획을 다운로드합니다. 이것은 do-release-upgrade README에 지정되어 있습니다 .

2) 업그레이드 도구는 업그레이드 수행 방법에 대한 업데이트 된 정보다운로드 할 수 있어야합니다 (예 : 특정 라이브러리를 먼저 업그레이드하는 것과 같은 추가 단계)

또한 자동 업그레이드 사양에서 :

사용 가능한 배포판에 대한 정보가 포함 된 메타 릴리스 파일 은 중앙 서버에 저장되며 업데이트 관리자를 실행할 때마다 If-Modified-Since에서 테스트됩니다. 새 버전이 발견되면 업데이트 관리자가이를 시각적으로 보여줍니다.

이것이 do-upgrade-release 및 기타 도구를 원활하게 업그레이드 할 수있게 해줍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.