Ich bin in einer Situation, in der die Liste der verwaisten Pakete, die entfernt werden sollen, apt-get autoremove
ein Paket enthält, das ich behalten möchte. Anscheinend habe ich versehentlich ein Paket entfernt, das davon abhing. Wie kann ich nun das Paket als explizit gewünscht markieren, damit apt-get autoremove
es nicht entfernt wird?
apt
package-management
bluenote10
quelle
quelle
Antworten:
Verwenden
apt-mark
So
Jetzt
autoremove
wird es nicht entfernt.Rückgängig machen
Jetzt
autoremove
wird das Paket entfernt, wenn es nicht von einem anderen Paket abhängig ist.quelle
Ein paar weitere Google-Versuche brachten eine Lösung :
Es ist entweder möglich, nur explizit zu installieren:
oder als manuell installiert markieren über
apt
wird nicht erneut installiert, die Ausgabe sieht einfach so aus:quelle
Dies ist bereits gut beantwortet, aber ich fand eine Situation, in der ich viele der Pakete nicht "markieren" wollte (und sie danach wieder abmelden wollte
autoremove
).Wenn die Liste der Pakete , die Sie wollen zu autoremove ist leicht definiert, dann können Sie Rohr /
sed
/xargs
sie aus.Ich habe kein komplexes Beispiel für viele Pakete, aber wenn ich das folgende Szenario habe:
und ich möchte nur die
linux*
Pakete entfernen , ich kann dies tun:Von hier aus ist es einfach, diese
xargs
als Kommandozeilenargumente an das simple zu übergebenapt-get remove -y
:Normalerweise
xargs
würde ich mich bei der Verwendung vor Leerzeichen in den Argumenten schützen (z. B.find ... -print0 | xargs -0 ...
), aber da Paketnamen keine Leerzeichen enthalten, kann ich problemlos Argumente mit Zeilenumbrüchen verwenden.(Ich würde es für andere Situationen halten, es wäre sinnvoller, ein Hold zu "markieren", das die Pakete auspackt. Das geht auch mit Regexes und
xargs
, ist aber wahrscheinlich eine Überentwicklung der Situation.)quelle