Wenn ich emerge --sync
meine älteren .ebuild-Dateien verwende, werden sie gelöscht. Wie bekomme ich neuere .ebuild-Dateien, ohne die älteren zu verlieren?
Antwort1
Eine Möglichkeit, dies zu tun, besteht darin, die Standard-Rsync-Optionen von Portage außer den Löschoptionen zu überschreiben. Die Standardoptionen sind /usr/lib/portage/pym/_emerge/actions.py
bei mir derzeit ab Zeile 2039 fest einprogrammiert.
Ohne "--force" und "--delete" würden Sie hinzufügen
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --whole-file --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
zu /etc/make.conf
. Hierzu sollen keine Dateien oder Verzeichnisse mehr gelöscht werden.
Bearbeiten:Beachten Sie, dass Sie normalerweise nicht behalten möchtenbeliebigsolche Ebuilds innerhalb des Portage-Baums, mit dem Sie synchronisieren.
Wenn Sie bestimmte Ebuilds beibehalten möchten, gibt es zwei typische Szenarien:
- Sie verwenden ein veraltetes Ebuild, das Sie behalten möchten.
- Sie haben selbst ein Ebuild geschrieben oder irgendwo ein Ebuild gefunden und es dem Portage-Baum hinzugefügt, mit dem Sie synchronisieren.
In beiden Fällen ist es die beste Lösung, diese Ebuilds in ein lokales Overlay zu kopieren. Möglicherweise müssen Sie auch die Ebuilds kopieren, von denen sie abhängen. So erstellen Sie ein einfaches lokales Overlay:http://forums.gentoo.org/viewtopic-t-827407.html