Marquer un paquet deb comme utilisé, il n'est donc pas suggéré pour la suppression automatique

8

J'ai un tas de bibliothèques partagées installées sur mon système qui ne sont pas des dépendances d'un paquet concret mais qui sont nécessaires pour les bibliothèques non gérées par apt que j'ai construites à partir des sources (comme les dernières SDL, Allegro, SFML, ...) et autre logiciel construit à partir de la source. Le problème est que ces bibliothèques sont considérées par APT comme inutilisées, et sont donc candidates à la suppression automatique, et celles-ci sont mélangées avec des packages inutilisés légitimes qui sont libres de supprimer.

Existe-t-il un moyen de marquer les packages comme utilisés afin qu'ils ne soient pas suggérés pour la suppression automatique? Ma première pensée a été de créer mon propre métapaquet juste pour contenir les dépendances (comme par exemple ubuntu-desktop), mais je ne sais pas comment faire ça.

Boris B.
la source

Réponses:

9

Bien qu'il apt-get installmarque également les packages comme installés, il fait d'autres choses comme la mise à niveau des packages (si une mise à niveau est disponible). Le programme correct pour modifier les états installés automatiquement est apt-mark.

Usage

Marquage d'un package comme installé manuellement (de sorte qu'il ne sera pas supprimé par apt-get autoremove):

sudo apt-mark manual package1 package2 ... packageN

Pour marquer un package comme installé automatiquement (de telle sorte qu'il sera supprimé apt-get autoremovesi aucun package n'en dépend):

sudo apt-mark auto package1 package2 ... packageN

Plus de détails sont disponibles dans la page de manuel apt-mark (8) .

Lekensteyn
la source
4

Utilisez simplement apt-get install:

sudo apt-get install [your-packages]

Il ne les installera pas réellement. Il suffit de définir l'indicateur sur installé manuellement.

jasmin
la source
2

Vous n'avez rien à faire de plus compliqué que de créer vos propres métapaquets.

Supposons que vous souhaitiez vous assurer qu'un package appelé foon'est jamais éligible à la suppression automatique.

Ouvrez une fenêtre de terminal ( Ctrl+ Alt+ T) et exécutez:

sudo apt-get install foo

Autrement dit, la même commande qui installe les packages manuellement les marquera comme installés manuellement afin qu'ils ne soient pas supprimés automatiquement même lorsque les packages pour lesquels ils ont été initialement installés en tant que dépendances sont eux-mêmes supprimés.

Eliah Kagan
la source
@BorisB. Si vous avez installé manuellement un package, peu importe comment vous l'avez fait, tant qu'il n'a pas été supprimé ou marqué comme installé automatiquement par la suite, il ne sera pas supprimé automatiquement.
Eliah Kagan
2
Vous devez les avoir installés en tant que dépendance à autre chose. Vous l'avez probablement fait apt-get install yyyet xxxinstallé en tant que dépendance. Ensuite, vous avez supprimé yyyet a xxxété marqué pour suppression automatique. Maintenant c'est le cas apt-get install xxx.
Vitalie Ciubotaru
Je suis 99% sûr que je n'installer ces bibliothèques en utilisant (puisque je ne connais pas d' autre moyen de les installer), mais ils sont toujours offerts pour les auto-élimination. apt-get install
Boris B.
@VitalieCiubotaru Oui, ça doit être ça. Je vous remercie.
Boris B.