So habe ich Gentoo für eine lange Zeit aktualisiert. Ist dies die empfohlene Methode? Irgendwelche Fallstricke oder bessere Methoden?
emerge --sync
emerge -uDav --tree world
emerge -av --depclean
revdep-rebuild -v -- --ask
dispatch-conf
glsa-check -t all
glsa-check -f all
Antworten:
Es scheint, als hättest du alles abgedeckt. Der einzige andere Tipp ist, es vielleicht etwas langsamer zu machen als ein blindes Wholesale-Update. Sie können die Pakete oder Abhängigkeitsketten immer aktualisieren individuell mit
emerge -DNuav <atom>
stattworld
(verwenden --oneshot für Dinge , die Sie in der Welt - Datei hinzufügen möchten, wie System - Libs zum Beispiel nicht).Beachten Sie, dass dies immer einfacher ist, wenn Sie regelmäßig auf dem neuesten Stand sind, anstatt alle paar Monate monolithische Stapelaktualisierungen durchzuführen. Um zu viele Überraschungen zu vermeiden, ist es möglicherweise hilfreich, eine der Mailinglisten wie
gentoo-user
(WARNUNG: ~ 100 Mails pro Tag auf dieser Liste) zu abonnieren, da so gut wie alle größeren Aktualisierungsprobleme in der Liste mit auftauchen dürften Viele Diskussionen erklären, wie man sie löst.Ich würde vermuten, dass das nächste große "Problem" -Update die Migration auf openrc sein wird, sobald es stabil ist (es wurde Mitte letzten Jahres mit nur wenigen Problemen durchgeführt, hauptsächlich mit Netzwerkänderungen).
quelle
Ich habe fast die gleichen Schritte ausgeführt wie Sie, mit Ausnahme von:
eix-sync
anstattemerge --sync
weil ich die Änderungen am Portage-Tree sehen möchte. Dies ist besonders hilfreich, wenn Sie feststellen möchten, dass Pakete, die ich installieren möchte, neu im Baum sind.layman -S
(gelegentlich) bevor das Hauptfenster zum Synchronisieren von Änderungen in Überlagerungen auftaucht.eclean-dist -d
nach denrevdep-rebuild
zu bereinigenden veralteten tarballs. Ich mache das nach jedem Auftauchen, weil Paket-Downgrades nicht so häufig sind.eix-test-obsolete
Als letzten Schritt, um meine / etc / portage-Dateien aufgeräumt und auf dem neuesten Stand zu halten. Dadurch erfahre ich auch, wann ich Pakete installiert habe, die vollständig aus portage entfernt wurden, sodass ich das Ebuild aus dem Repository holen muss. Als aktuelles Beispiel muss ich alle Versionen von iproute2> 2.6.22.20070710 maskieren, da auf meinem Xen VPS ein älterer Kernel ausgeführt wird, der jedoch kürzlich aus dem Portage entfernt wurde.eix-sync
undeix-test-obsolete
sind in app-portage / eix.eclean-dist
ist in App-Portage / Gentoolkit.quelle
emerge --sync
odereix-sync
oderemerge-delta-webrsync
undeix-update
emerge -av portage
eclean-dist
Überprüfen Sie, ob einer der Linux-Header, Glibc, Binutils, Libtool oder Gcc Magor-Update hat (z. B. Gcc-Updates von 4.6 auf 4.8). Wenn dies nicht der Fall ist, fahren Sie mit Schritt 11 fort.
Voller Umbau:
rm -rf PKGDIR/*
Ersetzen Sie PKGDIR durch Ihren Pfad zum Paket dir!emerge -av linux-headers glibc binutils gcc-config libtool gcc
gcc-config <number of new gcc>
Wechsle zu neuem gccsource /etc/profile
emerge -avb glibc binutils gcc libtool
emerge -avbke system
emerge -avbke world
Wenn Sie ein Problem in Schritt 10 oder 11 haben, beheben Sie es und versuchen Sie es erneut
Welt aktualisieren:
/var/lib/portage/world
von unnötigen Paketen und überprüfen Sie die/etc/portage
Entitätenfixpackages
emerge -avuDN world
eselect python update
python-updater -- -av
perl-cleaner --all -- -av
emerge -a --depclean
revdep-rebuild -i -- -av
Wenn Sie in den Schritten 14-18 Probleme haben, beheben Sie diese und wiederholen Sie alle Schritte ab Schritt 13
etc-update
oderdispatch-conf
glsa-check -vp affected
Sie können betroffene Pakete in Slots nach dem Update habenemaint --check all
quelle
Wenn es Ihr Ziel ist, das absolut neueste aller Pakete zu haben, dann deckt dies anscheinend alle Grundlagen ab. Ich bin überrascht, dass dies für Sie schon lange funktioniert hat, da ich mir vorstellen würde, dass Sie häufig von Blöcken, kaputten Deps usw. gebissen werden. Wählen Sie stattdessen, um es nach dem Anzeigen des Update-Baums schrittweise zu tun. Die Gentoo-Entwicklung scheint ihre Blütezeit hinter sich zu haben. Vielleicht liegt es am Aufstieg von Ubuntu.
Eine weitere Sache, die Sie versuchen könnten, um den gesamten Prozess zu überdenken, ist das Löschen Ihrer Distfiles. Es gibt Skripte da draußen, wenn Sie suchen.
quelle
Das ist, was Sie zuerst laufen sollten. Es ist nicht erforderlich, wenn Sie alle Pakete aktualisieren.
Ach und ich bevorzuge cfg-update;)
quelle
Das ist was ich mache:
Wenn Sie die Kommentare nicht vollständig verstehen, lesen Sie diese, da dies die Autorität für die Aktualisierung Ihrer gentoo-Pakete ist.
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
quelle
Ihr Prozess ist korrekt, obwohl es wahrscheinlich nicht notwendig ist, jeden Befehl auszuführen. Normalerweise führe ich nur eine Synchronisierung und ein Update durch. Emerge teilt Ihnen normalerweise mit, ob Sie ein Skript ausführen müssen, um eine Datei neu zu erstellen, z. B. während eines größeren Python-Upgrades. Außerdem erfahren Sie, wann Sie Konfigurationsänderungen zusammenführen müssen. Da Gentoo eigentlich keinen Upgrade-Pfad von Version zu Version hat. In dem Moment, in dem Sie auftauchen, haben Sie die neueste Version.
quelle
Ich habe seit langem immer dieses Verfahren angewendet:
Ich für meinen Fall aktualisiere lieber über Nacht. Manchmal schlägt jedoch etwas fehl und Sie müssen alle (oder einige) Programme erneut herunterladen.
Vielleicht ist der --newuse-Schalter unnötig, aber ich bearbeite oft meine make.conf, damit es für mich Sinn macht.
quelle
Sieht gut aus, obwohl ich nicht so schnell depclean laufen würde.
Wenn Sie keinen geringen Festplattenspeicher benötigen, können Sie mit weniger regelmäßigen Intervallen zurückkehren und die Daten reinigen. Es schadet nicht, sie für eine kurze Zeit zu haben. Wenn Sie das Pech haben, nach dem Update einige defekte Pakete zu bemerken, sind Sie sicher, dass diese nicht auf das Entfernen loser Abhängigkeiten zurückzuführen sind.
quelle
So mache ich das auf meinem VPS:
Schritt 0 (aus / etc / crontab)
Schritt 1:
Schritt 2:
quelle