Markieren Sie ein Deb-Paket als verwendet, daher wird es nicht für die automatische Entfernung empfohlen

8

Ich habe eine Reihe von gemeinsam genutzten Bibliotheken auf meinem System installiert, die keine Abhängigkeiten eines konkreten Pakets sind, aber für nicht apt-verwaltete Bibliotheken benötigt werden, die ich aus dem Quellcode erstellt habe (wie die neuesten SDL-, Allegro-, SFML-, ...) und andere Software aus dem Quellcode erstellt. Das Problem ist, dass diese Bibliotheken von APT als nicht verwendet angesehen werden und daher Kandidaten für die automatische Entfernung sind. Diese werden mit legitimen nicht verwendeten Paketen verwechselt, die frei entfernt werden können.

Gibt es eine Möglichkeit, Pakete als verwendet zu markieren, damit sie nicht zum automatischen Entfernen vorgeschlagen werden? Mein erster Gedanke war, mein eigenes Metapaket zu erstellen, nur um die Abhängigkeiten zu halten (wie zum Beispiel Ubuntu-Desktop), aber ich weiß nicht, wie ich das machen soll.

Boris B.
quelle

Antworten:

9

Obwohl apt-get installPakete ebenfalls als installiert markiert werden, werden andere Dinge wie das Aktualisieren von Paketen ausgeführt (sofern ein Upgrade verfügbar ist). Das richtige Programm zum Ändern der automatisch installierten Zustände ist apt-mark.

Verwendungszweck

Markieren eines Pakets als manuell installiert (so dass es nicht von entfernt wird apt-get autoremove):

sudo apt-mark manual package1 package2 ... packageN

So markieren Sie ein Paket als automatisch installiert (so dass es entfernt wird, apt-get autoremovewenn keine Pakete davon abhängen):

sudo apt-mark auto package1 package2 ... packageN

Weitere Details finden Sie auf der Handbuchseite apt-mark (8) .

Lekensteyn
quelle
4

Verwenden Sie einfach apt-get install:

sudo apt-get install [your-packages]

Es wird sie nicht wirklich installieren. Es wird nur das Flag auf manuell installiert gesetzt.

Jasmin
quelle
2

Sie müssen nichts so Kompliziertes tun, als Ihre eigenen Metapakete zu erstellen.

Angenommen, Sie möchten sicherstellen, dass ein aufgerufenes Paket fooniemals zur automatischen Entfernung berechtigt ist.

Öffnen Sie ein Terminalfenster ( Ctrl+ Alt+ T) und führen Sie Folgendes aus:

sudo apt-get install foo

Das heißt, der gleiche Befehl, mit dem Pakete manuell installiert werden, markiert sie als manuell installiert, sodass sie auch dann nicht automatisch entfernt werden, wenn die Pakete, für die sie ursprünglich als Abhängigkeiten installiert wurden, selbst entfernt werden.

Eliah Kagan
quelle
@ BorisB. Wenn Sie ein Paket manuell installiert haben, wird es nicht automatisch entfernt, unabhängig davon, wie Sie dies getan haben, solange es nicht später entfernt oder als automatisch installiert markiert wurde.
Eliah Kagan
2
Sie müssen sie als Abhängigkeit von etwas anderem installiert haben. Sie haben dies wahrscheinlich als Abhängigkeit getan apt-get install yyyund xxxinstalliert. Dann haben Sie entfernt yyyund xxxwurde für die automatische Entfernung markiert. Jetzt tust du es apt-get install xxx.
Vitalie Ciubotaru
Ich bin 99% sicher , dass ich habe diese Bibliotheken installieren verwenden apt-get install(da ich keine andere Art und Weise kennen sie von der Installation), aber sie sind immer noch für die automatische Entfernung angeboten.
Boris B.
@VitalieCiubotaru Ja, das muss es sein. Vielen Dank.
Boris B.