Bref, je veux pouvoir paramétrer le package abc
pour que:
apt-get remove abc
devrait échouer.apt-get purge abc
devrait échouer.apt-get upgrade abc
devrait marcher.
Si les dépendances du package changent et que cela abc
doit être désinstallé pendant un dist-upgrade
je suis heureux d'être obligé de faire quelque chose et puis de dist-upgrade
nouveau.
abc
, mais il a été supprimé de toute façon ... Je pense que vous devez recompiler leabc
paramètreEssential: yes
etPriority: required
dansdebian/control
def
selonabc
aurait dû fonctionner. A étédef
supprimé? Est-ce que ça aide si vous faitesdef
Priority: required
?Essential: yes
etPriority: required
et il a été enlevé sans avertissement. J'ai créé ce petit script pour faire le paquet, si vous voulez y jeter un œil: paste.org/44184Essential: yes
été ignoré, donc ceequivs
n'est pas suffisant pour cela ... Peut-être que si le paquet est créé avecdebuild
, je vais essayer.Réponses:
Pas vraiment quoi que ce soit pour «épingler» un paquet pour pouvoir empêcher sa suppression, mais pour permettre la mise à niveau.
Vous pouvez marteler un pic dans un package, ne peut pas être supprimé, purgé, mis à niveau, léché, quoi que ce soit ...
Mais c'est un peu plus compliqué que la plupart des choses.
Par exemple, nous souhaitons épingler firefox: (vous utiliseriez le nom complet correct du paquet, bien sûr)
ce qui rendrait alors ' firefox ' immortel. MAIS , il ne peut pas non plus être mis à niveau dans cet état.
Pour supprimer l'état de maintien est un peu plus facile, mais c'est une sorte de geste de balayage:
supprime le statut HOLD de TOUT! Donc, si vous vouliez conserver quelques paquets, vous feriez mieux de garder une liste pour réappliquer plus tard
C'est en fait assez agréable et facile à réaliser en utilisant aptitude ou synaptics , car ils ont des options de menu pour tenir / retirer un paquet, en prenant soin de toute la comptabilité en arrière-plan pour vous. Je recommanderais d'utiliser l'un de ceux-ci (ou l'un des nombreux autres gestionnaires de packages que vous pourriez rencontrer)
Avec Aptitude, l'utilisation de la ligne de commande est également possible:
N'oubliez pas cependant que vous devrez « détacher » quelque chose si vous souhaitez le mettre à niveau. Bien que si vous utilisez le côté GUI d'Aptitude, il devrait vous dire si quelque chose qui est détenu est évolutif
la source
apt-get
se fera un plaisir de désinstaller un paquet en attente.