do-release-upgrade
"update-manager-core"패키지의 일부입니다. 스크립트는 업그레이드 할 릴리스를 결정하고 지원되는지 여부를 확인하고 후자에 대해 불평하는 것으로 보입니다. – 작동이 확실하면 릴리스 별 UpgradeTool을 다운로드하여 실행합니다.
"업데이트 매니저 코어"패키지의 일부 파일입니다 /etc/update-manager/meta-release
당신이 URL 찾을 수 http://changelogs.ubuntu.com/meta-release을 당신이 다운로드에 UpgradeTool의 URL이 찾을 수 있습니다.
다운로드 한 UpgradeTool tarball은 소스 패키지“ubuntu-release-upgrader”(“update-manager”이전)에서 패키지됩니다. 버전은 대상 릴리스의 최신 업데이트에 해당합니다.
소스는 사소한 릴리스 시간부터 오래된 README를 가지고 있습니다. 릴리스 업그레이드 중에 수행 할 작업에 대해 설명합니다. 또한 보다 자세한 UpgradeTool 제안에 대한 링크를 언급합니다 .
여기에 언급 된 작업을 나열하고 실제로 구현되었는지 확인했습니다.
- 저장소 관련
- 새로운 sources.list 항목으로 전환
- 알 수없는 타사 리포지토리 제거
- 스왑 미러 가능 (구현되지 않음)
- 패키지 관련
- 업그레이드하기 전에 깨진 패키지가 없는지 확인하십시오
- 업그레이드하기 전에 현재 릴리스를 업데이트하십시오 (
apt-get update
전용)
- 특정 패키지 제거 및 설치
- {ubuntu, kubuntu, edubuntu} -desktop이 설치되어 있는지 확인하십시오
- 오래된 커널을 제거
- 제거 블랙리스트 및 화이트리스트
- 이전 릴리스에 있던 더 이상 사용되지 않는 패키지 제거 또는 교체
- 구성 관련 (변덕스러운 경우 : 아래 참조)
- 새 그룹에 기본 사용자 추가 (체크 한 버전에서는 수행되지 않음)
- 구성 파일을 확인하십시오.
UpgradeTool은 다음 파일을 사용하여 각 릴리스에 대해 구성 됩니다 (여러 파일을 열어보십시오!).
- DistUpgrade.cfg
- UpgradeTool 관련 구성
- 릴리스 관련 구성
- 리포지토리 (예 : [Sources] ValidMirrors)
- 사용자 정의 변경 ([Distro] PostInstallScript)
- 특별 패키지; DistUpgradeController.py에 의해서만 처리됩니다 :
- [Distro] RemoveObsoletes, ForcedObsoletes, BaseMetaPkgs, MetaPkgs
- [meta_package_name] 강제 사용 중지
- ... 그리고 DistUpgradeCache.py에 의해 :
- [Distro] MetaPkgs, 제거 블랙리스트, RemoveEssentialOk, BadVersions, BaseMetaPkgs, PurgeObsoletes, Demotions, KeyDependencies
- [Distro 및 meta_package_name] KeepInstalledPkgs, KeepInstalledSection, 사후 업그레이드 *
- [커널 제거] *
- DistUpgradeQuirks.py
- 특정 기능 (동일한 파일) 및 플러그인 (
plugins
디렉토리) 실행 (릴리스 )
- 함수에는 특정 이름 (예
from_nattyPreCacheOpen()
:)과 플러그인 특수 condition
속성 (예 : *
또는 PostInitialUpdate
)이 있어야합니다.
- 이러한 함수 중 하나
StartUpgrade()
는 또 다른 그랩 백 자체입니다. _applyPatches()
무엇보다도 patches
디렉토리에 있는 파일을 통해 호출 하는
- 이 모든 것들이 내 설치 에서 거의 아무것도 하지 않습니다 (i386, natty-updates보다 오래된 패키지)
- DistUpgradeCache.py로부터 이동
get_kernel_list.sh
(신뢰하지 않은) 실행 하고 하나의 커널이 설치되었는지 확인
- Nvidia 드라이버에 대한 일부 처리
확인 된 버전 :
- natty → oneiric
- oneiric → 정확한
- 정확한 → 신뢰할 수 있음 (2014-04-18 기준 최종)
- 신뢰할 수있는 → utopic (2014-10-23에 릴리스되기 몇 시간 전)