이후 업그레이드를 위해 do-release-upgrade 다운로드 패키지 만 만들 수 있습니까?


33

lubuntu 10.10을 실행 중이며 11.04로 업그레이드하고 싶습니다. 인터넷 연결이 매우 열성적이므로 설치를 실행하기 전에 모든 패키지를 다운로드하고 싶습니다.

에 따르면 ,이 작업을 수행하는 쉬운 방법이 없습니다. 버그 리포트 스레드에서 언급은 아직 열려 있습니다.

내 질문 : do-release-upgrade를 해킹하여 패키지를 다운로드 할 수있는 방법이 있습니까?

아니면 내가 원하는 결과를 얻는 유일한 방법입니까?

수동으로 수행해야하는 경우이 단계를 수행해야합니까, 아니면 뭔가 빠졌습니까?

  1. /etc/apt/sources.list및 에서 타사 리포지토리 비활성화/etc/apt/sources.list.d
  2. 리포지토리를 /etc/apt/sources.list에서 (으) maverick로 변경natty
  3. 운영 sudo apt-get update
  4. sudo apt-get -d dist-upgrade패키지 만 다운로드하도록 실행 하십시오. 모든 패키지가 다운로드 될 때까지 필요한만큼이 작업을 수행하십시오.
  5. sudo apt-get dist-upgrade업그레이드 프로세스를 완료하기 위해 실행

그것은 내가 한 일에 가깝습니다.
Jo-Erlend Schinstad

답변:


13

처음 네 단계는 정확하지만 5 단계는 sudo do-release-upgrade(대신 sudo apt-get dist-upgrade)이 되어야합니다 . 다운로드하려는 모든 패키지 (또는 대부분)가 이미에 있음을 알아야합니다 /var/cache/apt/archives.

일부 이전 버전의 do-release-upgrade /var/cache/apt/archives에서는 패키지를 새로 다운로드하기 전에 정리 해야하는 버그가 있었지만 IIRC에서 해당 버그가 수정되었습니다.


나는 이것을했고 효과가 있었다.
Menachem

여기 GUI를 사용하여이 작업을 수행하는 방법을 참조하십시오. askubuntu.com/a/418789/21794
Menachem

질문에 설명 된 프로세스를 한 LTS에서 다음 LTS로 업그레이드하는 데 사용할 수 있습니까? 14.04로 충돌하고 싶은 서버 12.04를 실행 중이지만 이번 달 말 12.04 repos가 제거되기 전에 업그레이드를 완전히 준비 할 기회가 없을 수 있습니다.
dgw

9

나는 여러 머신을 Ubuntu 14.04 "trusty"로 업그레이드하기위한 스크립트를 작성했다. 이것을 'apt-get-other-release'라고합니다. 간단한 사용 :

$ sudo apt-get-other-release -t trusty
  [ a long time passes as it downloads stuff ]
$ sudo apt-get-other-release -U
  [ it prepares the system for upgrade -- this is quick ]
$ sudo do-release-upgrade   # or update-manager, whatever you're comfortable with
  [ upgrading also takes a long time and may still download some additional stuff ]

스크립트는 다음과 같습니다

ftp://www.lubkin.com/pub/user/filbo/apt-get-other-release

버전 1.0에는 sha1sum이 있습니다 : 87a466b2bb2d1ac5b0a08509246a450b8d1c7617

무대 뒤에서 기본적으로 apt-get update; apt-get -d dist-upgrade자체 전용 source.list 파일 세트로 실행 됩니다. 결과는 / var / cache / apt- $ to_rel / archives에 저장되며 '-U'플래그는 시스템 전체 / var / cache / apt / archives에 복사하여 업그레이드 중에 표시되도록합니다.

한 로컬 호스트에서 다른 로컬 호스트로 업그레이드 아카이브를 복사하여 대역폭을 절약 할 수도 있습니다. 나는 amd64와 i386 업그레이드를 위해이 작업을 수행했으며, 이름에 "amd64"가없는 * .deb 만 복사했습니다. 그런 다음 apt-get-other-release -t trustyi386 시스템에서 다른 시스템 을 실행 하여 두 시스템에 서로 다른 항목이 설치되어 있기 때문에 다른 패키지를 다운로드했습니다.

피드백 감사; 다음 번에 askubuntu를 볼지 모르므로 전자 메일 cc는 감사했습니다. 검색 엔진은 나를 잘 알고 있습니다.

참고 : 실제로 그렇게 처리 된 시스템을 업그레이드하지 않았습니다! 다음 주에 시간이 있습니다. 사람들이이 스크립트를 사용하는 동안이 스크립트를 가져옵니다.

> 벨라 <


6

업데이트 관리자가 1-3 단계를 수행하도록하는 방법이 있습니다.

  1. sudo update-managerGUI의 터미널 창에서 실행 (중요)

    • 업데이트 관리자를 시작하고 다음 버전의 Ubuntu로 업그레이드하겠다고 말하고 실행을 시작하십시오. 타사 리포지토리를 비활성화하고 기본 리포지토리를 최신 버전으로 변경 한 다음 실행 sudo apt-get update합니다.
    • 그런 다음 업데이트를 실행하려면 패키지를 제거, 설치 및 업그레이드해야한다는 화면이 나타납니다.
    • 이 단계에서 터미널 창으로 이동하여 CTRL-C를 사용하여 프로그램을 강제 종료하십시오. [이 작업을 수행하지 않으면 업데이트 관리자의 취소 버튼을 통해 업데이트를 취소하면 변경 사항이 되돌려집니다].
  2. sudo apt-get -d dist-upgrade모든 패키지를 다운로드하여 설치할 준비가 될 때까지 필요한만큼 명령 줄에서 실행

  3. 실행 sudo do-release-upgrade하고 이미 다운로드 한 패키지로 업그레이드를 완료 할 수 있습니다.

  4. 타사 리포지토리를 다시 활성화하고 sudo apt-get update && sudo apt-get upgrade다시 실행 하여 타사 리포지토리를 최신 버전으로 업데이트하십시오 (리포지토리가 최신 릴리스의 우분투로 업데이트되었는지 확인하십시오)


2

나는 이것에 대한 스크립트를 작성했다.

https://github.com/neldredge/fetch-release-upgrade

사용법 : 스크래치 디렉토리에서 다음을 실행하십시오.

 ./fetch-release-upgrade.sh trusty

또는 새 릴리스로 업그레이드하려는 경우 필요한 패키지는이라는 하위 디렉토리로 다운로드됩니다 debs. 그런 다음 /var/cache/apt/archives실행 하기 전에 로 이동할 수 있습니다 do-release-upgrade.

나는 user270294의 스크립트를 아직 보지 않았지만 비슷한 라인을 따라 작동하고 몇 가지 더 많은 기능을 가지고있는 것처럼 들립니다.


2

다음과 같은 약간 짧은 버전의 Menachem의 답변이 저에게 효과적이었습니다.

  1. sudo do-release-upgrade하나의 터미널 창에서 실행 하고 프롬프트가 나타날 때까지 기다리십시오.

    Do you want to start the upgrade? 
    
    ...
    
    Fetching and installing the upgrade can take several hours. Once the 
    download has finished, the process cannot be canceled. 
    
    Continue [yN]  Details [d]
    

    확인하지 말고 열어 두십시오.

  2. 두 번째 터미널 창에서 sudo apt-get dist-upgrade --download-only

  3. 완료되면 첫 번째 터미널 창에서 여가를 계속하거나 중단하십시오.

전문가 팁 : 터미널 멀티플렉서를 설치 screen하고 do-release-upgrade내부를 실행하십시오 . 그런 다음 screen -D -RR업그레이드 프로세스를 표시하는 터미널에 어떤 일이 발생하면 다시 연결할 수 있습니다 . (행운스럽게도 오늘 업그레이드가 거의 완료되었습니다 ...)


이렇게하는 것이 좋은 방법이지만 중간에 컴퓨터를 꺼야하는 경우 실패 할 수 있습니다.
Menachem

@ 메나 켐 : 감사합니다. "실패"란 무엇을 의미합니까? 자세히 설명해 주시겠습니까? 그렇습니다. APT 출처가 일관성이없는 상태 일 것입니다.
krlmlr

나는 그것을 시도하지 않았으므로 어떻게 될지 정확히 모른다. do-release-upgrade를 취소하면 변경 사항을 되돌릴 수 있지만 최신 apt 소스를 사용하여 업데이트를 다운로드했기 때문에 업데이트를 다시 실행하려고 할 때 불안정한 시스템이 생길 수 있다고 생각했습니다. 후에.
Menachem

단순히 설치 파일 만 다운로드해도 변경 사항이 있는지 확실하지 않습니다. 인터넷에서 파일을 캐싱하지 않습니까? 어쨌든,이 프로세스는 나를 위해 잘 작동했으며 do-release-upgrade다운로드 후 중단되었다가 다시 시작 되었습니다.
krlmlr

1
네. 완료 할 때까지 정기 업데이트를 실행하지 않는 한 괜찮습니다.
Menachem

0

면책 조항 : 나는 전에 이것을 한 적이 없다. 끔찍한 생각 일 수도 있습니다. 모든 것을 망가 뜨리고 은행 계좌를 비우고 스페인 남부로 도망 갈 수 있습니다. 잠재적 위험이있는 것과 마찬가지로 , 작업을 하기 전에 백업하십시오 .


설치 한 내용의 양이 확실하지 않으므로 결함이있는 솔루션 일 수 있지만 CD에서 업그레이드 할 수 있습니다. 대체 iso를 다운로드하여 마운트 한 후 업그레이드 스크립트를 실행하십시오.

wget -c http://releases.ubuntu.com/11.04/ubuntu-11.04-alternate-amd64.iso

더 이상 진행하기 전에 이미지를 얻기 위해 wget을 사용할 필요가 없습니다. Bittorrent는 표준 다운로드 관리자와 함께 작동합니다. 중요한 것은 다시 시작할 무언가를 원하므로 다운로드를 중단하고 나중에 다시 선택할 수 있습니다. 이것은 무엇인가 wget-c플래그 할 것입니다.

ISO가 있으면 다음 단계는 매우 간단합니다.

sudo mount -o loop ubuntu-11.04-alternate-amd64.iso /media/cdrom
sudo sh /media/cdrom/cdromupgrade

내가 이야기 한 결함은 CD에 포함 된 우분투의 필수 요소 만 업그레이드한다는 것입니다. 다른 패키지는 업그레이드하지 않습니다.

이론 이 잘되어야합니다. 일부 응용 프로그램이 중단되고 일부 응용 프로그램이 업데이터에 의해 강제로 제거 될 수 있지만 핵심 OS는 안정적으로 유지되어야합니다.

내 이론이 옳다면 이것은 시냅틱을 통해 또는 설치하려는 경우 as 및 as를 사용하여 다른 패키지를 업그레이드 할 수있게합니다 aptitude.


스페인 남부가 더 가까우면 어떻게해야합니까?
Matt Joiner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.