답변:
당신이 그것을 덮은 것 같습니다. 다른 팁은 블라인드 도매 업데이트보다 약간 느리게하는 것입니다. 패키지 또는 종속성 체인을 항상 emerge -DNuav <atom>
대신 개별적으로 업데이트 할 수 있습니다 world
(예 : 시스템 라이브러리와 같이 월드 파일에 추가하지 않으려는 항목에는 --oneshot을 사용하십시오).
두 달마다 모 놀리 식 배치 업데이트를 수행하지 않고 정기적으로 최신 상태를 유지하는 것이 항상 더 쉽습니다. 또한 너무 많은 놀라움을 피하기 위해 gentoo-user
주요 업데이트 문제가 목록에 나타날 가능성이 높기 때문에 (경고 :이 목록에서 하루에 최대 100 개의 메일) 과 같은 메일 목록 중 하나를 구독하면 도움이 될 수 있습니다 . 그것들을 해결하는 방법을 설명하는 많은 토론.
차기 주요 "문제"업데이트는 openrc가 안정적이되면 openrc 로의 마이그레이션이 될 것이라고 생각합니다 (작년 네트워킹은 주로 몇 가지 문제만으로 iirc의 작년 중반에 이루어졌습니다).
나는 당신을 제외하고는 같은 단계에 가깝습니다.
eix-sync
대신 emerge --sync
포티지 트리의 변경 사항을보고 싶기 때문입니다. 이것은 트리에 새로운 패키지를 설치하고 싶을 때 특히 좋습니다.
layman -S
(가끔) 메인이 나타나기 전에 오버레이의 변경 사항을 동기화합니다.
eclean-dist -d
애프터 revdep-rebuild
폐기 된 타르볼을 청소합니다. 패키지 다운 그레이드가 그렇게 일반적이지 않기 때문에 매번 등장한 후에이 작업을 수행합니다.
eix-test-obsolete
/ etc / portage 파일을 깔끔하고 최신 상태로 유지하는 데 도움이되는 마지막 단계입니다. 또한 포티지에서 완전히 제거 된 패키지를 설치했을 때 알려주므로 저장소에서 ebuild를 가져와야합니다. 최근의 예에서, Xen VPS에서 실행되는 이전 커널로 인해 iproute2> 2.6.22.20070710의 모든 버전을 마스킹해야하지만 최근 포티지에서 제거되었습니다.
eix-sync
및 eix-test-obsolete
앱 운반 / 익스 플에 있습니다.
eclean-dist
app-portage / gentoolkit에 있습니다.
emerge --sync
또는 eix-sync
또는 emerge-delta-webrsync
및eix-update
emerge -av portage
eclean-dist
Linux 헤더, glibc, binutils, libtool 또는 gcc 중 하나에 업데이트가 있는지 확인하십시오 (예 : 4.6에서 4.8 사이의 gcc 업데이트). 11 단계로 진행되지 않으면
전체 재 구축 :
rm -rf PKGDIR/*
PKGDIR을 패키지 디렉토리 경로로 바꾸십시오!emerge -av linux-headers glibc binutils gcc-config libtool gcc
gcc-config <number of new gcc>
새로운 gcc로 전환source /etc/profile
emerge -avb glibc binutils gcc libtool
emerge -avbke system
emerge -avbke world
10 또는 11 단계에서 문제점이 발생하면이를 수정하고 다시 시도하십시오.
세계 업데이트 :
/var/lib/portage/world
불필요한 패키지에서 월드 파일 을 정리 하고 /etc/portage
엔티티를 확인하십시오.fixpackages
emerge -avuDN world
eselect python update
python-updater -- -av
perl-cleaner --all -- -av
emerge -a --depclean
revdep-rebuild -i -- -av
14-18 단계에서 문제점이 발생하면이를 수정하고 13 단계부터 모든 단계를 반복하십시오.
etc-update
또는 dispatch-conf
glsa-check -vp affected
업데이트 후 슬롯의 패키지에 영향을 줄 수 있습니다emaint --check all
당신의 목표가 모든 패키지를 절대적으로 최신으로 유지하는 것이라면 그렇습니다. 모든 기반을 덮는 것 같습니다. 블록, 부서진 등으로 자주 물릴 것이라고 상상할 수 있기 때문에 이것이 오랫동안 당신을 위해 일한 것에 놀랐습니다. 지난 몇 년 동안 나는 도매 업데이트에 대해 훨씬 더주의를 기울였습니다. 업데이트 트리를 본 후 단편적으로 수행하도록 선택합니다. 젠투 개발은 전성기를 지나간 것 같습니다. 우분투의 부상으로 인한 것일 수도 있습니다.
어쨌든, 전체 프로세스에 대해 정말 까다로워하기 위해 시도해야 할 또 하나의 일은 distfile을 정리하는 것입니다. 검색하면 스크립트가 있습니다.
이것이 제가하는 것입니다:
emerge --sync //Synchronize the package manager with the latest
//version of each package.
emerge -aDvNu system //updates the system, but only important if you want the
//latest stable version of the actual compiler and libraries
//with the core system.
emerge -uDNav world //world means everything we've asked to be emerged before
//this does not include things that came pre installed.
//N means if you change your use directives in
//your make.conf file to pull in the new packages.
emerge -av depclean //removes libraries or programs that don't have any other
//dependencies because of an update.
revdep-rebuild //means if something is broken by an update, it
//recompiles it. Fixes dynamic and static linking problems.
주석을 완전히 이해하지 못하면 젠투 패키지를 업데이트하는 방법에 대한 설명이므로이 내용을 읽으십시오.
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
나는 오랫동안이 절차를 항상 사용했다.
emerge -f --update --newuse --deep world && emerge --update --newuse --deep world
나는 밤새도록 업데이트하는 것을 선호합니다. 그러나 때때로 문제가 발생하여 모든 (또는 일부) 프로그램을 다시 다운로드해야합니다.
아마도 --newuse 스위치는 필요하지 않지만 종종 make.conf를 편집하여 나에게 적합합니다.