3 votes

Interdire les paquets virtuels dans le fichier /etc/apt/preferences de Debian

Je sais que je peux interdire un paquet particulier dans Debian en ajoutant /etc/apt/preferences avec :

Package: *x11*
Pin: release
Pin-Priority: -1

Mais comment puis-je faire cela pour un virtuel comme httpd ? J'aimerais interdire l'installation de todos qui fournissent ce service virtuel httpd mais celui que j'ai sélectionné. Existe-t-il un moyen (simple) de faire cela ?

La raison : récemment, un apt-get dist-upgrade supprimée nginx et installé lighttpd à la place, parce qu'un autre paquet ( phppgadmin AFAIR ) dépendait de httpd et quelque chose nginx a commencé qui dépendait de cette mise à jour n'était pas installable. J'aimerais vraiment que toute la mise à jour échoue dans ce cas, plutôt que d'arrêter le service http. Aussi : est-il possible de rendre un paquet "désinstallable" ? Ce serait aussi une bonne solution.

0voto

Axel Beckert Points 398

Je préfère construire un petit méta-paquet avec équivalents avec selon Conflicts et peut-être Depends . Cela permet un contrôle plus fin des paquets qui doivent être installés et de ceux qui ne doivent pas l'être.

L'épinglage sert plutôt à choisir la bonne version d'un paquet (et jusqu'à très récemment, les paquets virtuels ne pouvaient pas avoir de version) et non à installer l'un ou l'autre paquet -- même si cela devrait être possible en théorie.

Une autre possibilité consiste à utiliser un outil qui conserve dans une liste tous les paquets installés ou désinstallés, par exemple aptitude-robot . (Cependant, aptitude-robot n'applique que les listes de paquets configurées lorsqu'il est utilisé pour mettre à niveau des paquets, il ne s'applique pas à la mise à jour normale des paquets. aptitude ou apt-get fonctionne.

Si vous n'utilisez que aptitude Une troisième possibilité est d'utiliser le logiciel Aptitude. forbid-version (Shift-F) dans une situation comme celle de votre exemple. Cela ne s'appliquera toutefois pas si vous utilisez ultérieurement la fonction apt-get encore une fois.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X