Upgrading Gentoo/ko

이 문서에서는 새 젠투 릴리즈가 기존의 설치에 어떤 영향을 주는지 설명합니다.

철학
젠투 바닥에서는 리눅스 세계의 일부와 비교했을때 업그레이드 과정의 개념이 약간 다릅니다. 프로그램 업그레이드를 함에 있어 "기존"의 방법으로 할 수 없다는 사실을 이미 알고 계실지도 모릅니다: 새 릴리즈를 기다렸다 다운로드 하고, 광학 매체에 구운 후 CD-ROM 에 넣고 다음 업그레이드 절차를 따릅니다.

아시는 바와 같이(젠투 사용자로서) 이 과정은 최선봉에서 살아남으려는 파워 유저에게 굉장한 좌절감을 심어줍니다. 다른 배포판의 파워 유저라도 아마 빠르고 빈번한 업데이트를 돕는 apt또는 apt-rpm같은 다양한 인기있는 도구가 주어져 있는 상황에서 느낌은 마찬가지일겁니다. 그러나 그 어떤 배포판이라 할지라도 젠투만큼 사용자의 요구를 만족하는건 없습니다. 일단 시작할 때부터 젠투 자체가 빠른 성장성 업데이트 개념을 기반으로 설계했기 때문입니다.

이상적으로 시스템을 어떻게 최신으로 유지하는지 설명하는 젠투 핸드북의 포티지 소개편의 절차를 따라 한번 설치를 해봤고 릴리즈에 시달리진 않았습니다. 이게 보통 하던 방식대로긴 하지만 가끔은 직접 핵심 시스템을 업데이트해야 할 때가 있습니다.

릴리즈와 프로파일
젠투 릴리즈 과정에 대해 자꾸 반복되는 질문중 하나가 "사용자로 하여금 프로그램을 업데이트 하도록 하는 것도 아닌데 왜 자꾸 새 릴리즈를 내놓는거죠?" 입니다. 여기에 대해 몇가지 이유가 있습니다:


 * 새 릴리즈라 함은 문제를 수정하고 기능을 더 추가한 설치 CD임을 의미합니다.
 * 새 릴리즈에는 GRP 꾸러미 최신 모음을 제공하여 사용자로 하여금 설치하는데 "가장 빠른 방법" (stage3 + 미리 컴파일한 꾸러미)을 따라가도록 하여 오래되지 않은 시스템으로 마무리 할 수 있도록 합니다.

새로운 비호환 기능을 포함한 릴리즈가 나오거나 시스템 전반적인 동작을 완전히 수정하는 핵심 꾸러미 모음 및 설정을 제공하는 경우 새 프로파일을 제공한다고 합니다.

프로파일이란 설정 파일의 모음이며, 시스템꾸러미를 고려한 이빌드, 기본 USE 플래그, 가상 패키지 기본 대입, 동작중인 시스템의 아키텍처에 대한 내용을 담고 있는의 하위 디렉터리에 저장되어 있습니다.

사용중인 프로파일은 심볼릭 링크가 결정하며, 프로파일 파일과 연결된 의 하위 디렉터리를 가리킵니다. 예를 들어 기본 x86 13.0 프로파일은 에 있습니다. 상위 디렉터리의 파일은 있는 그대로의 프로파일 일부입니다(그렇기 때문에 다른 하위 프로파일과 공유합니다). 이것이 우리가 중첩 프로파일 이라 부르는 이유입니다.

프로파일은 디렉터리에 기본으로 남아있으며, 나중에 새 프로파일로 인해 오래된 내용으로 방치됩니다. 이런 상황이 벌어지면 이름이 붙은 파일이 프로파일 디렉터리에 들어갑니다. 이 파일의 내용은 "업그레이드 해야 할" 프로파일의 이름입니다. 포티지는 새 프로파일로 업데이트 해야 할 때 자동으로 경고하려는 경우 이 정보를 사용합니다.

There are various reasons that a new profile may be created: the release of new versions of core packages (such as,  , or ) that are incompatible with previous versions, a change in the default USE flags or in the virtual mappings, or maybe a change in system-wide settings.

프로파일을 바꾸지 않는 릴리즈
새 젠투 릴리즈에 새 프로파일이 없으면 아무 일도 일어나지 않음을 안전하게 미리 확인해볼 수 있습니다. :D

젠투 핸드북에서 설명한 바와 같이 설치한 패키지를 업데이트 한다면 새 릴리즈를 사용하여도 이미 설치한 완전히 동일한 프로파일대로 시스템이 갖춰집니다.

프로파일을 바꾸는 릴리즈
(x86용 13.0 같은)릴리즈에 새 프로파일이 들어오면, 새 프로파일로 옮기는 선택을 할 수 있습니다.

보통 강요하지 않으며, 젠투 핸드북에서 설명한대로 계속해서 오래된 프로파일을 사용하며 패키지 업데이트를 할 수 있습니다.

그러나, 젠투에서는 프로파일이 오래되면 업데이트를 진심으로 권합니다. 프로파일이 오래되면 젠투 개발자가 더이상 이 프로파일의 지원 계획을 하지 않습니다.

새 프로파일로의 이전을 결정했다면, 업데이트를 직접 실행해야 합니다. 릴리즈 단위로의 업데이트 방법은 상당히 다양하며, 새 프로파일에 도입한 수정사항이 얼마나 많느냐에 따라 달라집니다.

제일 간단한 경우는 심볼릭 링크만 바꿔주면 되며, 최악의 경우에는 무당의 강신춤을 추는 동안에 시스템 전체를 다시 컴파일 해야 할 수도 있습니다. 시스템 프로파일 이전은 보통 릴리즈 노트에서 다룹니다. 이 안내서의 나머지 부분에서 절차를 찾아볼 수도 있습니다.

지원 프로파일
젠투 개발자가 공식적으로 지원하는 아키텍처의 프로파일 목록은 를 실행하고 다음 명령을 실행하면 볼 수 있습니다:

오래된 시스템 업그레이드
어떤 시스템은 프로파일을 전환하기엔 너무 오래되어 있는 경우가 있습니다. 새 프로파일은 좀 더 최신의 포티지 버전을 필요로 하나, 더이상 설치할 수 없는 프로그램을 필요로 하는 경우가 있는데, 오래된 프로그램 버전에 대한 꾸러미 정의(이빌드)가 더이상 없기 때문입니다.

이 경우, 오래된 포티지 트리 스냅샷을 먼저 받아야 하며 최소한 포티지(그러나 시스템 꾸러미 모음 모두에 맞게)를 업그레이드 해야 하는데, 포티지 트리 스냅샷 날짜는 프로파일 전환 절차를 반복적으로 따라 충분히 최신 내용이 되도록 점차적으로 받아와야 합니다.

오래된 스냅샷일수록 종종 이런 목적으로 제공하기 위해 지정 위치나 인터넷 미러에서 제공합니다. 받아온 파일이 문제가 있는지 파일의 무결성을 확인해보십시오.

서명 키가 오래됐다 하더라도 서명은 여전히 유효해야 합니다.

(굉장히) 오래된 시스템 업그레이드
가끔은 쉽게 업그레이드 하기에는 너무 오래되는 경우가 있습니다. 업그레이드 과정중에는 더이상 없는 (포티지 같은) 프로그램의 중간 버전이 필요하며, 단계별로 포티지 트리를 업데이트 해야 할 지도 모릅니다(예를 들어 점진적 트리 업데이트는 3~4개월마다 한 단계씩 이루어집니다).

이런 시스템을 업그레이드 하려면, 시스템을 업데이트할 때 사용할 최근 stage3를 사용하면 됩니다. 절차는 오래된 시스템 업그레이드 장에 있습니다.

일반 절차
먼저 를 실행하십시오. 유틸리티를 통해 별도로 심볼릭링크를 만들거나 제거하지 않고도 프로파일을 쉽게 보고 선택할 수 있습니다.

직접 프로파일을 바꾸려 하신다면 간단히 다음 과정대로 하십시오:

2008.0, 2007.0, 2006.1로 업데이트
이 프로파일을 업그레이드 하려면 에 분명하게 UNICODE="yes"라고 설정하여 유니코드 로캘을 기본으로 설정할건지 확인해야 합니다. 이게 동작하도록 하려면 시스템에서 사용할 유니코드 로캘을 만들어야 합니다. 적당한 로캘을 어떻게 만드는지 알아보려면 UTF-8 게시물을 살펴보십시오.

대신, 로캘을 설정하지 않으려면 에 UNICODE="no"라고 설정해야 하며,  USE 플래그를 사용하여   꾸러미를 다시 이머지해야 합니다(또는 다음   업데이트까지 기다리십시오). 에 대해 를 그냥 사용하거나, 모든 패키지에 대해   플래그를  의 USE 변수에 추가할 수 있습니다.

마지막으로, 프로파일을 업데이트 할 때 다음 일반 업그레이드 절차를 따르시면 됩니다.

2006.0으로 업데이트
2006.0 프로파일로 전환하려면, 심볼릭 링크가 새 위치를 가리키도록 해야 합니다. 프로파일을 바꾸기 전에 포티지가 최신인지 확인하십시오.

alpha - 2.4 커널 사용자 또는 NPTL을 사용하기 싫은 사용자라면 default-linux/alpha/no-nptl 프로파일을 사용하십시오. 더 많은 내용은 알파 릴리즈 노트에 있습니다.

ppc - ppc32와 ppc64 프로파일의 병합은 다음으로 미루었습니다. ppc32 프로파일은 범용 목적으로 축소시킨 일반 프로파일을 제공하는 방식으로 바꾸었으며 default-linux/ppc/ppc32에 위치합니다. 릴리즈 관련 프로파일은 데스크톱 사용에 최적화 했으며 default-linux-ppc/ppc32/2006.0에 있습니다. G3와 G4 프로세서에 대한 몇가지 하위 프로파일이 있으며 페가수스 개방 데스크톱 워크스테이션에 대해 G3/Pegasos와 G4/Pegasos 프로파일이 있습니다. 2006.0 프로파일로 옮겨갈때 시스템에 대해 올바른 하위 프로파일을 선택했는지 확인하십시오.

sparc - 2.4-커널 기반에서의 2006.0/2.4 프로파일 업그레이드시 GCC 업그레이드 때문에 사용자가 직접 건드려야 하는 부분(java 관련 꾸러미 머지해제)과  명령 실행이 필요합니다. 2.6-커널 기반에서 안정화 되지 않은 것으로 간주된 2006.0 프로파일 업그레이드시 에서  2.6 버전 가림 항목을 지우고 전체적으로 다시 빌드해야 합니다.

모든 다른 아키텍처 - 이전 프로파일에 대해 근본적으로 바뀐 내용이 없어 처리할 일이 없습니다.

2005.1로 업데이트
2005.1 프로파일로 전환하려면, 심볼릭 링크가 새 위치를 가리키도록 해야 합니다. 프로파일을 바꾸기 전에 포티지가 최신인지 확인하십시오.

모든 아키텍처 - 이전 프로파일에 대해 근본적으로 바뀐 내용이 없어 처리할 일이 없습니다.

ppc - 2005.1 릴리즈에서는 ppc와 ppc64 프로파일을 머지하며, 몇가지 하위 아키텍처에 대한 하위 프로파일을 만들었습니다. 2005.1 프로파일로 옮겨갈 때 시스템에 대한 올바른 하위 프로파일을 선택했는지 확인하십시오.

2005.0으로 업데이트
2005.0의 도입으로, 몇가지 아키텍처에 대해 추가 프로파일을 정의합니다. 이들 중 하나로 옮겨가기 전에 언급한 프로파일에 대한 설명을 읽어보십시오. 이전에는 2.4 커널을 기본으로 했지만 대부분의 아키텍처에서는 이제 2.6 커널 트리를 기본으로 사용합니다.

일부 아키텍처에서는 어떤 프로파일에서 다른 프로파일로 변환하기 위해 해야 할 몇가지 절차가 필요합니다. 이 경우에 대한 절차 안내를 표에 연결했습니다.

선택한 프로파일로 전환하려면, 심볼릭 링크가 새 위치를 가리키도록 해야 합니다. 프로파일을 바꾸기 전에 포티지가 최신인지 확인하십시오.

2.4 기반 리눅스 시스템에서 2.6 기반 커널로 옮겨가려면, 젠투 리눅스 2.6 이전 안내서를 읽었는지 확인하십시오.

2004.3으로 업데이트
2004.3 프로파일을 도입하면 사용자는 시스템에 대한 전반적인 수정을 보지 않아도 됩니다(아래에 자세한 내용이 있습니다). 다만, 젠투 개발자들은 쌓인 프로파일의 적용을 빨리 하기 위해 새 프로파일을 밀어넣고 몇가지 프로파일을 오래된 것으로 간주하기로 결정했습니다. 이는 디렉터리의 새 배치를 따르는데 예를 들자면 (포티지 2.0.51 이상에서 지원하는) 이 있습니다.

2004.3 프로파일로 바꾸려면, 심볼릭 링크가 새 위치를 가리키도록 하십시오:

모든 아키텍처 - 위에서 언급한대로, 이 프로파일에는 큰 변화 내용이 없습니다. 그러나 와   패키지를 시스템 패키지로 더이상 고려하지 않음을 참고해야 합니다. 이는  명령을 실행하면 포티지에서 이 패키지를 시스템에서 제거함을 의미합니다. 이 패키지가 필요하다면, 프로파일을 바꾼 후 에 패키지를 추가하거나 직접 이머지 하십시오.

ppc - 는 머신에 새로 설치할 패키지로   대신 기본이 됩니다. 이미 를 설치했다면 해당되지 않습니다.

중첩 프로파일을 지원하는 포티지 업데이트
이 섹션은 업그레이드 안내서에서 제대로 정리되진 않았지만, 약간 중요합니다. 이 섹션 이전에 보여드린 프로파일에서는 단계별 프로파일을 진원하는 포티지 버전을 필요로 합니다. 그러나, 몇가지 오래된 프로파일은 포티지 업그레이드와 더이상 있지도 않은 프로파일의 사용을 배격합니다. 어떻게 업그레이드 시도를 하려 해도 포티지에서는 실패 결과를 보여줍니다.

이 문제를 해결하려 사용자는, 이 안내서 내용과는 전혀 동떨어진 업그레이드 절차를 계속할 수 있도록 포티지 업그레이트를 할 수 있게 obsolete 프로파일로의 임시 심볼릭 링크를 만들 수 있습니다. 여러분이 사용하는 적당한 아키텍처 이름으로 를 바꾸십시오.

2004.2로 업데이트
2004.2 프로파일로 바꾸려면, 심볼릭 링크가 새 위치를 가리키도록 하십시오:

x86 - 이 프로파일은 기본 X11 구현체를 에서  으로 바꿉니다. 기본값만 건드리며 아직 바뀐 X 서버를 설지하지 않은 사람에게만 해당됩니다. 이미 후자를 설치했다면 달라지는 효과는 없습니다. 예전처럼 어떤 X 서버에서 다른 X 서버로 마음대로 바꿀 수 있습니다.

amd64 - 이전 프로파일에 대해 근본적으로 바뀐 내용이 없어 처리할 일이 없습니다.

2004.0으로 업데이트
2004.0 프로파일로 바꾸려면, 심볼릭 링크가 새 위치를 가리키도록 하십시오:

모든 아키텍처 - 이전 프로파일에 대해 근본적으로 바뀐 내용이 없어 처리할 일이 없습니다.

1.4보다 오래된 프로파일을 1.4로 업데이트
이번의 경우 업그레이드는 조금 복잡한데, 여기에서 찾아보실 수 있습니다.

업데이트 개념
이 업그레이드 접근 개념은 최근 스테이지 3을 풀어놓은 빌드 과정 chroot를 만드는 것입니다. 그 후에 스테이지 3 chroot 환경에 있는 도구를 사용하여 실제 동작중인 시스템의 꾸러미를 업그레이드 합니다.

빌드 과정 chroot 준비
라고 하는 빌드 과정 chroot를 먼저 만들고, 최신 스테이지 3를 여기에 풀으십시오.

다음에는, 여기 chroot 환경에 마운트 지점을 만들고, 여기에다가 동작중인 이전 환경의 마운트를 바인딩하십시오.

이제 에서 (이전의) 동작중인 시스템에 접근할 수 있습니다. 또한 빌드 과정 chroot 내부로 chroot 하면 패키지를 업데이트 할 수 있습니다.

네트워크 연결, chroot, 업데이트
새로 설치할 때는 네트워크에 접근해서 관련 정보를 네트워크에서 복사해와야 합니다:

이제 빌드과정 위치로 chroot 하고 실제 동작중인 시스템에 최근 꾸러미 업데이트를 시작하여, (빌드 과정 chroot를 통하기보단) 실제 동작중인 시스템에서 업데이트를 계속할 수 있을 때까지 (과정을) 진행하십시오.

이제 실제 동작중인 시스템에 꾸러미 빌드를 시작하십시오

chroot한 세션을 열린 채로 내버려 두고 실제 동작중인 시스템을 업데이트 해보십시오. 문제에 봉착하면 빌드 과정 chroot에 있는 빌드 도구를 사용하여 꾸러미를 업데이트 하려는 목적으로 chroot한 세션(최신 glibc, gcc 등을 포함)을 사용할 수 있습니다. chroot 환경에서 모든  명령 앞에   값을 앞에 붙이는걸 잊지 마십시오.

감사문
이 안내서에 제공한 노고에 대해 다음 작성자와 편집자분들께 감사의 말을 전하고자 합니다:


 * Gregorio Guidi
 * Chris Gianelloni
 * Joshua Saddler