--tree (-t) jest również przydatne do zrozumienia, co się dzieje
lkraav
Odpowiedzi:
5
Wygląda na to, że go masz. Jedyną inną wskazówką jest być może wolniej niż ślepa aktualizacja hurtowa. Zawsze można aktualizować pakiety lub łańcuchów zależnościami indywidualnie emerge -DNuav <atom>zamiast world(użyj --oneshot za rzeczy, które nie chcą, aby dodać do pliku światowej, jak bibliotekami systemowymi na przykład).
Pamiętaj, że zawsze jest to łatwiejsze, jeśli regularnie aktualizujesz informacje, zamiast wybierać monolityczne aktualizacje partii co kilka miesięcy. Ponadto, aby uniknąć zbyt wielu niespodzianek, pomocne może być zasubskrybowanie jednej z list mailingowych, takich jak gentoo-user(OSTRZEŻENIE: ~ 100 maili dziennie na tej liście), ponieważ prawie wszystkie poważne problemy z aktualizacją mogą pojawić się na liście z mnóstwo dyskusji wyjaśniających, jak je rozwiązać.
Domyślam się, że następną poważną aktualizacją „problemu” będzie migracja do openrc, gdy tylko się ustabilizuje (zostało to zrobione w połowie ubiegłego roku z kilkoma problemami, głównie ze zmianami sieci).
Tak, zdecydowanie +1 za regularne śledzenie, a nie w dużych kawałkach. Są sporadyczne zmiany, które po prostu bardzo psują. github.com/lkraav/gentoo-cron-weekly to mój uproszczony zestaw narzędzi do cotygodniowego raportowania.
lkraav
8
Używam prawie tych samych kroków, które robisz, z wyjątkiem:
eix-synczamiast emerge --syncponieważ lubię widzieć zmiany w drzewie portage. Jest to szczególnie przydatne do zauważania pakietów, które mogę chcieć zainstalować, które są nowe w drzewie.
layman -S (czasami) przed pojawieniem się głównego, aby zsynchronizować wszelkie zmiany nakładek.
eclean-dist -dpo revdep-rebuildwyczyszczeniu przestarzałych archiwów. Robię to po każdym pojawieniu się, ponieważ obniżanie pakietów nie jest tak powszechne.
eix-test-obsoletejako ostatni krok, aby pomóc utrzymać porządek i aktualność moich plików / etc / portage. Daje mi to również informację, kiedy zainstalowałem pakiety, które zostały całkowicie usunięte z Portage, więc muszę pobrać ebuild z repozytorium. Ostatni przykład, muszę zamaskować wszystkie wersje iproute2> 2.6.22.20070710 z powodu starszego jądra działającego na moim Xen VPS, ale został on niedawno usunięty z Portage.
eix-synci eix-test-obsoletesą w app-portage / eix.
Sprawdź, czy jeden z nagłówków linuxa, glibc, binutils, libtool lub gcc ma aktualizację magor (np. Aktualizacje gcc z 4.6 do 4.8). Jeśli nie, przejdź do kroku 11.
Pełna przebudowa:
rm -rf PKGDIR/* Zastąp PKGDIR ścieżką do pakietu reż!
Jeśli Twoim celem jest posiadanie najnowszej wersji wszystkich pakietów, to tak, wydaje się, że obejmuje wszystkie podstawy. Dziwi mnie, że działało to dla Ciebie od dłuższego czasu, ponieważ wyobrażam sobie, że często gryzą Cię bloki, zepsute deps itp. W ciągu ostatnich kilku lat znacznie bardziej ostrożnie podchodziłem do aktualizacji hurtowych, wybierając zamiast tego zrobić to fragmentarycznie po przejrzeniu drzewa aktualizacji. Wygląda na to, że rozwój Gentoo już minął. Może to z powodu wzrostu Ubuntu.
W każdym razie, jedną dodatkową rzeczą, którą możesz spróbować, aby być naprawdę wybrednym w całym procesie, jest czyszczenie plików dystansowych. Tam są skrypty, jeśli szukasz.
Jeśli trzymasz się zdemaskowanych ebuildów, to moim zdaniem Gentoo stało się dość stabilne i nie zawsze tak naprawdę się psuje, wykonując synchronizację i wyłaniając świat. Musisz wiedzieć, co robisz, ale to samo można powiedzieć o apt lub yum. Oboje ugryzły mnie.
John Downey
1
Trzy bardzo niedawne blokady / uszkodzenia, o których mogę myśleć, to libcomerr / e2fsprogs, firefox2 / 3 i xorg 1.3 / 1.5. We wszystkich tych przypadkach, aby aktualizacja hurtowa działała, konieczne było zastosowanie trywialnego masowania i nie było w niej ~ słów kluczowych.
Adam D'Amico,
2
Najnowsze wersje portage - powiedzmy w ciągu ostatnich 6 miesięcy - automatycznie rozwiązują prawie wszystkie bloki i przerwy. W tym libcomerr / e2fsprogs.
Dan Carley,
3
glsa-check -t all
glsa-check -f all
To powinieneś najpierw uruchomić. Niepotrzebne jest uaktualnienie wszystkich pakietów.
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.
Jeśli nie rozumiesz w pełni komentarzy, przeczytaj to, ponieważ to on jest autorytetem w zakresie aktualizacji pakietów gentoo.
Twój proces jest prawidłowy, chociaż uruchomienie każdego polecenia prawdopodobnie nie jest konieczne, zwykle synchronizuję i aktualizuję świat. Emerge poinformuje Cię zwykle, czy musisz uruchomić skrypt, aby odbudować plik, na przykład podczas ważnej aktualizacji Pythona, a także powie, kiedy scalić zmiany konfiguracji. Ponieważ Gentoo tak naprawdę nie ma ścieżki aktualizacji z wersji do wersji. W momencie pojawienia się świata masz najnowszą wersję.
Zamiast „--newuse” możesz użyć opcji „--reinstall updated-use”, co spowoduje ponowną instalację pakietów z flagami użycia, które zostały wyraźnie zmienione. Zamiast przestarzałych, dodawanych flag użycia itp. Od czasu do czasu powinieneś jednak uruchamiać komendę „--newuse”.
hayalci
0
Wygląda dobrze, chociaż nie byłbym tak szybki, żeby uciec od brudu.
Jeśli nie masz wymagań takich jak mało miejsca na dysku twardym, możesz wrócić i oczyścić w mniej regularnych odstępach czasu. Nie ma nic złego w utrzymywaniu ich przez krótki czas. Jeśli miałeś pecha, aby zauważyć niektóre uszkodzone pakiety po aktualizacji, byłbyś pewien, że nie są one wynikiem usunięcia luźnych zależności.
Odpowiedzi:
Wygląda na to, że go masz. Jedyną inną wskazówką jest być może wolniej niż ślepa aktualizacja hurtowa. Zawsze można aktualizować pakiety lub łańcuchów zależnościami indywidualnie
emerge -DNuav <atom>
zamiastworld
(użyj --oneshot za rzeczy, które nie chcą, aby dodać do pliku światowej, jak bibliotekami systemowymi na przykład).Pamiętaj, że zawsze jest to łatwiejsze, jeśli regularnie aktualizujesz informacje, zamiast wybierać monolityczne aktualizacje partii co kilka miesięcy. Ponadto, aby uniknąć zbyt wielu niespodzianek, pomocne może być zasubskrybowanie jednej z list mailingowych, takich jak
gentoo-user
(OSTRZEŻENIE: ~ 100 maili dziennie na tej liście), ponieważ prawie wszystkie poważne problemy z aktualizacją mogą pojawić się na liście z mnóstwo dyskusji wyjaśniających, jak je rozwiązać.Domyślam się, że następną poważną aktualizacją „problemu” będzie migracja do openrc, gdy tylko się ustabilizuje (zostało to zrobione w połowie ubiegłego roku z kilkoma problemami, głównie ze zmianami sieci).
źródło
Używam prawie tych samych kroków, które robisz, z wyjątkiem:
eix-sync
zamiastemerge --sync
ponieważ lubię widzieć zmiany w drzewie portage. Jest to szczególnie przydatne do zauważania pakietów, które mogę chcieć zainstalować, które są nowe w drzewie.layman -S
(czasami) przed pojawieniem się głównego, aby zsynchronizować wszelkie zmiany nakładek.eclean-dist -d
porevdep-rebuild
wyczyszczeniu przestarzałych archiwów. Robię to po każdym pojawieniu się, ponieważ obniżanie pakietów nie jest tak powszechne.eix-test-obsolete
jako ostatni krok, aby pomóc utrzymać porządek i aktualność moich plików / etc / portage. Daje mi to również informację, kiedy zainstalowałem pakiety, które zostały całkowicie usunięte z Portage, więc muszę pobrać ebuild z repozytorium. Ostatni przykład, muszę zamaskować wszystkie wersje iproute2> 2.6.22.20070710 z powodu starszego jądra działającego na moim Xen VPS, ale został on niedawno usunięty z Portage.eix-sync
ieix-test-obsolete
są w app-portage / eix.eclean-dist
jest w app-portage / gentoolkit.źródło
emerge --sync
lubeix-sync
lubemerge-delta-webrsync
ieix-update
emerge -av portage
eclean-dist
Sprawdź, czy jeden z nagłówków linuxa, glibc, binutils, libtool lub gcc ma aktualizację magor (np. Aktualizacje gcc z 4.6 do 4.8). Jeśli nie, przejdź do kroku 11.
Pełna przebudowa:
rm -rf PKGDIR/*
Zastąp PKGDIR ścieżką do pakietu reż!emerge -av linux-headers glibc binutils gcc-config libtool gcc
gcc-config <number of new gcc>
Przełącz na nowy gccsource /etc/profile
emerge -avb glibc binutils gcc libtool
emerge -avbke system
emerge -avbke world
Jeśli masz problem z krokiem 10 lub 11, napraw go i spróbuj ponownie
Zaktualizuj świat:
/var/lib/portage/world
z niepotrzebnych pakietów i sprawdź/etc/portage
jednostkifixpackages
emerge -avuDN world
eselect python update
python-updater -- -av
perl-cleaner --all -- -av
emerge -a --depclean
revdep-rebuild -i -- -av
Jeśli masz problemy w krokach 14-18, napraw je i powtórz wszystkie kroki od kroku 13
etc-update
lubdispatch-conf
glsa-check -vp affected
Po aktualizacji możesz mieć wpływ na pakiety w automatachemaint --check all
źródło
Jeśli Twoim celem jest posiadanie najnowszej wersji wszystkich pakietów, to tak, wydaje się, że obejmuje wszystkie podstawy. Dziwi mnie, że działało to dla Ciebie od dłuższego czasu, ponieważ wyobrażam sobie, że często gryzą Cię bloki, zepsute deps itp. W ciągu ostatnich kilku lat znacznie bardziej ostrożnie podchodziłem do aktualizacji hurtowych, wybierając zamiast tego zrobić to fragmentarycznie po przejrzeniu drzewa aktualizacji. Wygląda na to, że rozwój Gentoo już minął. Może to z powodu wzrostu Ubuntu.
W każdym razie, jedną dodatkową rzeczą, którą możesz spróbować, aby być naprawdę wybrednym w całym procesie, jest czyszczenie plików dystansowych. Tam są skrypty, jeśli szukasz.
źródło
To powinieneś najpierw uruchomić. Niepotrzebne jest uaktualnienie wszystkich pakietów.
Och i wolę aktualizację cfg;)
źródło
Tym się właśnie zajmuję:
Jeśli nie rozumiesz w pełni komentarzy, przeczytaj to, ponieważ to on jest autorytetem w zakresie aktualizacji pakietów gentoo.
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
źródło
Twój proces jest prawidłowy, chociaż uruchomienie każdego polecenia prawdopodobnie nie jest konieczne, zwykle synchronizuję i aktualizuję świat. Emerge poinformuje Cię zwykle, czy musisz uruchomić skrypt, aby odbudować plik, na przykład podczas ważnej aktualizacji Pythona, a także powie, kiedy scalić zmiany konfiguracji. Ponieważ Gentoo tak naprawdę nie ma ścieżki aktualizacji z wersji do wersji. W momencie pojawienia się świata masz najnowszą wersję.
źródło
Od dłuższego czasu zawsze korzystałem z tej procedury:
Ja, dla mnie, wolę aktualizować w nocy. Ale czasami zdarza się, że coś się nie udaje, więc musisz ponownie pobrać wszystkie (lub niektóre) programy.
Być może przełącznik --newuse nie jest konieczny, ale często edytuję plik make.conf, więc ma to dla mnie sens.
źródło
Wygląda dobrze, chociaż nie byłbym tak szybki, żeby uciec od brudu.
Jeśli nie masz wymagań takich jak mało miejsca na dysku twardym, możesz wrócić i oczyścić w mniej regularnych odstępach czasu. Nie ma nic złego w utrzymywaniu ich przez krótki czas. Jeśli miałeś pecha, aby zauważyć niektóre uszkodzone pakiety po aktualizacji, byłbyś pewien, że nie są one wynikiem usunięcia luźnych zależności.
źródło
Tak to robię na moim VPS:
krok 0 (z / etc / crontab)
krok 1:
krok 2:
źródło