RHEL 7은 In-place upgrade 를 지원하는 첫 번째 메이저 배포판이다. 윈도만큼 쉽지는 않지만 기존 6 사용자들은 새로 설치를 하지 않고도 기존 사용중인 리눅스를 7 으로 업그레이드할 수 있다.

 

업그레이드중에 데아타의 손실이 발생할 수 있으니 이 블로그는 참고만 하고 반드시 백업후에 수행 필요.

 

CentOS

 

사전 준비

  1. CentOS 6 가장 최근 버전으로 업그레이드가 필요하다. 

    yum update -y
    shutdown -r now
    CODE
  2. 업그레이드 툴을 다운 받기 위해  /etc/yum.repos.d/ 에  upgradetool.repo 파일 생성

    /etc/yum.repos.d/upgradetool.repo

    [upg]
    name=CentOS-$releasever - Upgrade Tool
    baseurl=http://dev.centos.org/centos/6/upg/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    CODE
  3. Upgrade 툴 다운로드

    yum install redhat-upgrade-tool preupgrade-assistant-contents
    CODE

Preupgrade Assistant

pregupg 는 CentOS 7 로 업그레이드하기 위해 현재 시스템을 분석해 주는 유틸리티이다.

  1.  preupg 실행
     preupg -s CentOS6_7
    
    Preupg tool doesn't do the actual upgrade.
    Please ensure you have backed up your system and/or data in the event of a failed upgrade
     that would require a full re-install of the system from installation media.
    Do you want to continue? y/n
    y
    Gathering logs used by preupgrade assistant:
    All installed packages : 01/11 ...finished (time 00:00s)
    All changed files      : 02/11 ...running
    CODE
  2.  /root/preupgrade/result.html 에 분석 결과 보고서가 생성된다. fail 항목이 있으면 inplace upgrade 가 실패할 수 있다.
  3. CentOS 7  의 GPG key 를 임포트 한다.

    rpm --import http://centos.mirror.cdnetworks.com/7/os/x86_64/RPM-GPG-KEY-CentOS-7
    CODE

Upgrade 실행

  1. 업그레이드 실행

    centos-upgrade-tool-cli --network 7 --instrepo=http://centos.mirror.cdnetworks.com/7/os/x86_64/
    CODE
  2. 아래와 같은 겁나는 메시지가 나오지만 7으로 가야 하니 Y 입력

    INPLACERISK: SLIGHT: We detected some packages installed on the system changed their name between CentOS 6 and CentOS 7. Although they should be compatible, monitoring after the update is recommended.
    INPLACERISK: SLIGHT: export shell commands will be deleted from /etc/sysconfig/sshd
    INPLACERISK: SLIGHT: Some binaries untracked by RPM were discovered on the system and may need rebuild after upgrade.
    Continue with the upgrade [Y/N]? 
    CODE
  3. 업그레이드중 다음과 같은 에러  메시지가 나오고 업그레이드가 실패할 경우 /var/tmp/system-upgrade/ 를 삭제하고 다시 실행한다.

    Downloading failed: database disk image is malformed

  4. 업그레이드가 완료되면 재부팅하면 업그레이드가 완료된다.

  5. 재부팅후에 서비스나 시스템의 이상 유무를 확인해 본다.

 

Ref

RHEL

차후 정리

 

 

 

Ref