it-gundan.com

젠투 리눅스 업그레이드를위한 최적의 절차?

이것이 내가 젠투를 오랫동안 업그레이드 한 방법입니다. 이것이 권장 방법입니까? 사용할 방법이 있습니까?

emerge --sync
emerge -uDav --tree world
emerge -av --depclean
revdep-rebuild -v -- --ask
dispatch-conf
glsa-check -t all
glsa-check -f all
23
cowgod

당신이 그것을 덮은 것 같습니다. 다른 팁은 블라인드 도매 업데이트보다 약간 느리게하는 것입니다. world 대신 emerge -DNuav <atom>로 패키지 또는 종속성 체인을 항상 개별적으로 업데이트 할 수 있습니다 (예 : 시스템 라이브러리와 같이 월드 파일에 추가하지 않으려는 항목에는 --oneshot을 사용하십시오) ).

두 달마다 모 놀리 식 배치 업데이트를 수행하지 않고 정기적으로 최신 상태를 유지하는 것이 항상 더 쉽습니다. 또한 너무 많은 놀라움을 피하기 위해 gentoo-user와 같은 메일 링리스트 중 하나에 가입하는 것이 도움이 될 수 있습니다 (경고 :이리스트에서 하루에 최대 100 개의 메일) 대부분의 주요 업데이트 문제는 그것들을 해결하는 방법을 설명하는 많은 토론과 함께 목록에 나타납니다.

차기 주요 "문제"업데이트는 openrc가 안정적이되면 openrc 로의 마이그레이션이 될 것이라고 생각합니다 (작년 네트워킹은 주로 몇 가지 문제로 iirc에서 작년 중반에 수행되었습니다).

5
Ophidian

나는 당신을 제외하고는 같은 단계에 가깝습니다.

  • 포티지 트리에 대한 변경 사항을보고 싶기 때문에 eix-sync 대신 emerge --sync 이것은 트리에 새로운 패키지를 설치하고 싶을 때 특히 좋습니다.

  • layman -S (주로) 메인이 나타나기 전에 오버레이의 변경 사항을 동기화합니다.

  • 더 이상 사용되지 않는 타르볼을 청소하려면 eclean-dist -d 뒤에 revdep-rebuild 패키지 다운 그레이드가 그렇게 일반적이지 않기 때문에 매번 등장한 후에이 작업을 수행합니다.

  • / etc/portage 파일을 깔끔하고 최신 상태로 유지하는 데 도움이되는 마지막 단계 인 eix-test-obsolete 또한 포티지에서 완전히 제거 된 패키지를 설치했을 때 알려주므로 저장소에서 ebuild를 가져와야합니다. 최근의 예에서, Xen VPS에서 실행되는 이전 커널로 인해 iproute2> 2.6.22.20070710의 모든 버전을 마스킹해야하지만 최근 포티지에서 제거되었습니다.

eix-synceix-test-obsolete는 app-portage/eix에 있습니다.

eclean-dist는 app-portage/gentoolkit에 있습니다.

8
Van Gale
  1. emerge --sync 또는 eix-sync 또는 emerge-delta-webrsynceix-update
  2. emerge -av portage
  3. eclean-dist

Linux-headers, glibc, binutils, libtool 또는 gcc 중 하나에 업데이트가 있는지 확인하십시오 (예 : 4.6에서 4.8로 gcc 업데이트). 11 단계로 진행되지 않으면.

전체 재 구축 :

  1. rm -rf PKGDIR/* PKGDIR을 패키지 dir 경로로 바꾸십시오!
  2. emerge -av linux-headers glibc binutils gcc-config libtool gcc
  3. gcc-config <number of new gcc> 새 gcc로 전환
  4. source /etc/profile
  5. emerge -avb glibc binutils gcc libtool
  6. emerge -avbke system
  7. emerge -avbke world

10 또는 11 단계에서 문제점이 발생하면이를 수정하고 다시 시도하십시오.

세계 업데이트 :

  1. 세계 파일 정리 /var/lib/portage/world 불필요한 패키지에서 확인하고 /etc/portage 엔티티
  2. fixpackages
  3. emerge -avuDN world
  4. eselect python update
  5. python-updater -- -av
  6. Perl-cleaner --all -- -av
  7. emerge -a --depclean
  8. revdep-rebuild -i -- -av

14-18 단계에서 문제점이 발생하면이를 수정하고 13 단계부터 모든 단계를 반복하십시오.

  1. etc-update 또는 dispatch-conf
  2. glsa-check -vp affected 업데이트 후 슬롯의 패키지에 영향을 줄 수 있습니다
  3. emaint --check all
5
user261123
glsa-check -t all
glsa-check -f all

그것이 당신이 먼저해야 할 일입니다. 모든 패키지를 업그레이드하면 필요하지 않습니다.

아 그리고 나는 cfg-update를 선호한다;)

3
laurentb

당신의 목표가 모든 패키지를 절대적으로 최신으로 유지하는 것이라면 그렇습니다. 모든 기반을 덮는 것 같습니다. 블록, 부서진 등으로 자주 물릴 것이라고 상상할 수 있기 때문에 이것이 오랫동안 당신을 위해 일한 것에 놀랐습니다. 지난 몇 년 동안 나는 도매 업데이트에 대해 훨씬 더주의를 기울였습니다. 업데이트 트리를 본 후 단편적으로 수행하도록 선택합니다. 젠투 개발은 전성기를 지나간 것 같습니다. 우분투의 부상 때문일 수 있습니다.

어쨌든, 전체 프로세스에 대해 정말 까다로워하기 위해 시도해야 할 또 하나의 일은 distfile을 정리하는 것입니다. 검색하면 스크립트가 있습니다.

3
Adam D'Amico

이것이 제가하는 것입니다:

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

1
Eric Leschinski

이것이 내 VPS에서 수행하는 방식입니다.

0 단계 (/ etc/crontab에서)

0 0   * * *     root    emerge --sync &> /dev/null

1 단계:

emerge --update --deep --newuse world -av

2 단계:

emerge --depclean && revdep-rebuild && eclean-pkg && rm /usr/portage/distfiles/*
0
yanchenko

Depclean을 너무 빨리 실행하지는 않지만 괜찮아 보입니다.

HDD 공간 부족과 같은 요구 사항이없는 한 정기적 인 간격으로 돌아와서 깨끗하게 정리할 수 있습니다. 짧은 시간 동안 주변에 해를 끼치 지 않습니다. 업데이트 후 일부 손상된 패키지를 발견 할만큼 운이 좋지 않은 경우 느슨한 종속성을 제거한 결과가 아니라고 확신 할 수 있습니다.

0
Dan Carley

오랫동안 저는 항상이 절차를 사용했습니다.

emerge -f --update --newuse --deep world && emerge --update --newuse --deep world

나는 밤새도록 업데이트하는 것을 선호합니다. 그러나 때때로 문제가 발생하여 모든 (또는 일부) 프로그램을 다시 다운로드해야합니다.

아마도 --newuse 스위치는 필요하지 않지만 종종 make.conf를 편집하여 나에게 적합합니다.

0
hajowieland

모든 명령을 실행할 필요는 없지만 일반적으로 동기화 및 업데이트 세계를 수행하지만 프로세스가 정확합니다. Emerge는 메이저 Python 업그레이드 중)과 같이 파일을 다시 빌드하기 위해 스크립트를 실행해야하는지 여부와 일반적으로 구성 변경 사항을 병합 할시기를 알려줍니다. 젠투에는 실제로 당신이 세계에 등장하는 순간 당신은 최신 버전을 얻었습니다.

0
John Downey