Überspringen Sie ein bestimmtes Upgrade in emerge -auvD-Welt

14657
ThiefMaster

Gibt es eine einfache Möglichkeit, ein bestimmtes Upgrade zu überspringen emerge -auvD world?

Im Portage-Tree ist z. B. derzeit ein Defekt media-sound/teamspeak-server-bin-3.0.5-r1 als stabil markiert, der das gesamte Upgrade unterbricht, da dieses Paket das erste in der Liste ist. Natürlich könnte ich diese Version einfach mit der package.maskDatei maskieren, aber ich würde eine Umgebungsvariable oder einen Befehlszeilenschalter vorziehen, um sie nur jetzt zu überspringen - sie wird wahrscheinlich bald behoben sein.

Beachten Sie, dass ich nicht verwenden möchte emerge -auvD1 list of working packages(dh nur die anderen Pakete durch Angabe aller Namen aktualisieren).

28

3 Antworten auf die Frage

36
ThiefMaster

Sieht aus wie die --excludeOption dies tut:

--exclude ATOMS
Eine durch Leerzeichen getrennte Liste von Paketnamen oder Slot-Atomen. Emerge installiert keine Ebuild- oder Binärpakete, die den angegebenen Paketatomen entsprechen.

Das hat also die Aufgabe für mich erledigt:

emerge -auvD --exclude=media-sound/teamspeak-server-bin world 
Ich konnte kein Beispiel finden, in dem jemand mehrere Pakete in einer Anweisung ausschließt, daher als Referenz: Für jedes Paket ist ein --exclude-Tag afaik erforderlich. `emerge --deep --update @world -av --exclude = Chrom --exclude = Firefox '. NuclearPeon vor 6 Jahren 0
11
Keith

Wenn Sie es nicht maskieren möchten, können Sie die --keep-goingOption verwenden. Das emerge setzt seine Liste zurück und setzt fort, ohne das fehlerhafte Paket in der Liste.

3
equaeghe

ThiefMasters Antwort ist der richtige Weg, aber es gibt eine andere Option, die meiner Meinung nach die Antwort von Keith verbessert . Mit seiner Antwort wird das Auftauchen nämlich versucht und kann Zeit in Anspruch nehmen. Wenn Sie wissen, dass das erste Paket problematisch ist, weil Sie gerade auf ein Problem gestoßen sind, können Sie --resumeund verwenden --skipfirst:

--resume(-r)

Setzt die letzte Zusammenführungsliste fort, die aufgrund eines Fehlers abgebrochen wurde. Dadurch werden die Argumente und Optionen wiederverwendet, die mit dem wiederaufgenommenen Originalbefehl angegeben wurden. Der Benutzer kann beim Aufruf auch zusätzliche Optionen bereitstellen --resume. Es ist ein Fehler, Atome oder Mengen als Argumente anzugeben --resume, da stattdessen die Argumente aus dem wiederaufgenommenen Befehl verwendet werden. Bitte beachten Sie, dass dieser Vorgang nur bei einem Fehler einen Fehler zurückgibt. Wenn portage nichts zu tun hat, wird portage mit einer Meldung und einer Erfolgsbedingung beendet. Eine Wiederaufnahmeliste bleibt bestehen, bis sie vollständig abgeschlossen ist oder durch eine andere abgebrochene Zusammenführungsliste ersetzt wird. Der Lebenslaufverlauf kann zwei Zusammenführungslisten speichern. Nachdem eine Wiederaufnahmeliste abgeschlossen ist, können Sie sie aufrufen--resumenoch einmal, um eine ältere Liste wieder aufzunehmen. Die Lebenslauflisten werden in gespeichert /var/cache/edb/mtimedbund können beim Ausführen explizit verworfen werden emaint --fix cleanresume(siehe emaint (1)).

--skipfirst

Diese Option ist nur gültig, wenn sie mit verwendet wird --resume. Es entfernt das erste Paket in der Lebenslaufliste. Abhängigkeiten werden für verbleibende Pakete neu berechnet, und alle, die unzufriedene Abhängigkeiten haben oder maskiert sind, werden automatisch gelöscht. Siehe auch die zugehörige --keep-goingOption.