이것이 제가 젠투를 오랫동안 업그레이드해온 방법입니다. 이것이 권장되는 방법입니까? 사용할 방법이 있습니까?
emerge --sync
emerge -uDav --tree world
emerge -av --depclean
revdep-rebuild -v -- --ask
dispatch-conf
glsa-check -t all
glsa-check -f all
답변
당신이 그것을 덮은 것 같습니다. 다른 팁은 블라인드 도매 업데이트보다 약간 느리게하는 것입니다. 패키지 또는 종속성 체인을 항상 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을 정리하는 것입니다. 검색하면 스크립트가 있습니다.
답변
glsa-check -t all
glsa-check -f all
그것이 당신이 먼저해야 할 일입니다. 모든 패키지를 업그레이드하면 필요하지 않습니다.
아 그리고 나는 cfg-update를 선호한다;)
답변
이것이 제가하는 것입니다:
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는 일반적으로 주요 Python 업그레이드와 같이 파일을 다시 작성하기 위해 스크립트를 실행해야하는지 여부와 구성 변경 사항을 병합 할시기를 알려줍니다. 젠투에는 실제로 버전 간 업그레이드 경로가 없습니다. 당신이 세상에 등장하는 순간 당신은 최신 버전을 얻었습니다.