Contrassegna un pacchetto deb come utilizzato, quindi non è consigliato per autoremoval


8

Ho un sacco di librerie condivise installate sul mio sistema che non sono dipendenze di alcuni pacchetti concreti ma sono necessarie per le librerie non gestite da apt che ho creato dal sorgente (come gli ultimi SDL, Allegro, SFML, ...) e altro software creato dalla fonte. Il problema è che quelle librerie sono viste da APT come inutilizzate e sono quindi candidate per la rimozione automatica, e quelle si confondono con pacchetti inutilizzati legittimi che sono liberi di rimuovere.

Esiste un modo per contrassegnare i pacchetti come utilizzati in modo che non vengano suggeriti per la rimozione automatica? Il mio primo pensiero è stato quello di creare il mio metapacchetto solo per contenere le dipendenze (come ad esempio Ubuntu-Desktop è), ma non so come farlo.

Risposte:


9

Sebbene apt-get installcontrassegni anche i pacchetti come installati, fa altre cose come l'aggiornamento dei pacchetti (se è disponibile un aggiornamento). Il programma corretto per modificare gli stati installati automaticamente è apt-mark.

uso

Contrassegnare un pacchetto come installato manualmente (in modo che non venga rimosso da apt-get autoremove):

sudo apt-mark manual package1 package2 ... packageN

Per contrassegnare un pacchetto come installato automaticamente (in modo che verrà rimosso apt-get autoremovese nessun pacchetto dipende da esso):

sudo apt-mark auto package1 package2 ... packageN

Maggiori dettagli sono disponibili nella pagina di manuale apt-mark (8) .


4

Basta usare apt-get install:

sudo apt-get install [your-packages]

In realtà non li installerà. Imposta semplicemente il flag su installato manualmente.


2

Non devi fare nulla di così complicato come creare i tuoi metapacchetti.

Supponiamo di voler assicurarsi che un pacchetto chiamato foonon sia mai idoneo per autoremoval.

Apri una finestra Terminale ( Ctrl+ Alt+ T) ed esegui:

sudo apt-get install foo

Cioè, lo stesso comando che installa i pacchetti manualmente li contrassegnerà come installati manualmente in modo che non vengano rimossi automaticamente anche quando i pacchetti per i quali sono stati originariamente installati come dipendenze vengono essi stessi rimossi.


@BorisB. Se hai installato manualmente un pacchetto, non importa come lo hai fatto, a condizione che non sia stato successivamente rimosso o contrassegnato come installato automaticamente, non verrà rimosso automaticamente.
Eliah Kagan,

2
Devi averli installati come dipendenza da qualcos'altro. Probabilmente l'hai fatto apt-get install yyye xxxinstallato come dipendenza. Quindi hai rimosso yyyed è xxxstato contrassegnato per autoremoval. Adesso lo fai apt-get install xxx.
Vitalie Ciubotaru,

Sono sicuro al 99% che ha installato le librerie usando apt-get install(in quanto non conosco nessun altro modo di installarli), ma sono ancora offerto per auto-rimozione.
Boris B.

@VitalieCiubotaru Sì, deve essere così. Grazie.
Boris B.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.