이전 ebuild를 제거하지 않고 Gentoo Linux에서 `emerge --sync`를 수행하는 방법은 무엇입니까?

이전 ebuild를 제거하지 않고 Gentoo Linux에서 `emerge --sync`를 수행하는 방법은 무엇입니까?

emerge --sync이전 .ebuild 파일을 사용하면 제거됩니다. 최신 .ebuild-s를 얻으면서도 이전 버전을 잃지 않는 방법은 무엇입니까?

답변1

이를 수행하는 한 가지 방법은 삭제 관련 옵션을 제외한 기본 포티지 rsync 옵션을 무시하는 것입니다. 기본 옵션은 현재 /usr/lib/portage/pym/_emerge/actions.py내 위치의 2039행에 하드코딩되어 있습니다.

"--force" 및 "--delete"를 제외하고 추가합니다.

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --whole-file --stats --timeout=180 --exclude=/distfiles --exclude=/local -- 제외=/패키지"

에게 /etc/make.conf. 더 이상 파일이나 디렉토리가 삭제되어서는 안 됩니다.

편집하다:일반적으로 당신은 유지하고 싶지 않을 것입니다어느동기화 중인 포티지 트리 내의 ebuild.

특정 ebuild를 보존하려는 경우 두 가지 일반적인 시나리오가 있습니다:

  • 당신은 유지하고 싶은 오래된 ebuild를 사용하고 있습니다.
  • ebuild를 직접 작성했거나 어딘가에서 ebuild를 찾아 동기화 중인 포티지 트리에 추가했습니다.

두 경우 모두 가장 좋은 해결책은 해당 ebuild를 로컬 오버레이에 복사하는 것입니다. 당신은 또한 그들이 의존하고 있는 ebuild를 복사해야 할 수도 있습니다. 간단한 로컬 오버레이를 만드는 방법은 다음과 같습니다.http://forums.gentoo.org/viewtopic-t-827407.html

관련 정보