Dans Ubuntu / Debian, comment puis-je marquer un paquet comme non amovible automatiquement?

9

Supposons que j'ai un package (un package Python dans ce cas) que j'installe à l'aide de Synaptic. Étant donné que la version de ce package est quelque peu dépassée, je le supprime dans Synaptic, puis l'installe à l'aide easy_install. L'une de ses dépendances a également été installée à l'aide de Synaptic, mais je préfère conserver la version installée par Synaptic plutôt que la easy_installingmême.

Le seul problème est que la dépendance est désormais marquée comme amovible automatique. Existe-t-il un moyen de le marquer comme étant installé manuellement autre que de le supprimer et de le réinstaller? Si cela fait une différence, j'utilise Ubuntu Jaunty.

Jason Baker
la source

Réponses:

3

Vous pouvez "conserver" un paquet dans Ubuntu.

Tenir un package signifie essentiellement que vous dites au gestionnaire de packages de conserver la version actuelle, quoi qu'il arrive. Cela est utile si une version plus récente d'un programme en cours de travail tombe en panne après une mise à jour.

Vous pouvez le faire via Synaptic ou sur la ligne de commande via apt / dpkg. La version en ligne de commande pour contenir un package est:

echo package_name hold | dpkg --set-selections

La documentation de la communauté Ubuntu contient un guide plus complet expliquant comment épingler ou conserver des packages .


la source
Merci! askubuntu.com/questions/140136/…
Andrejs Cainikovs
2
Hold est normalement utilisé pour empêcher les mises à niveau vers des versions plus récentes; il ne doit pas être utilisé pour conserver un paquet. L'utilisation de hold vous empêchera de recevoir des mises à jour de sécurité et de distribution et sera un fardeau supplémentaire lors des mises à niveau. Marquer le package comme installé manuellement devrait être la bonne façon (voir ma réponse ...).
Thomas Guyot-Sionnest
6

Je sais que tu peux le faire en aptitude. Vous pouvez le faire soit dans son interface graphique en sélectionnant package et en appuyant sur «m» ou en sélectionnant «Mark manual» dans le menu «Package», ou en utilisant la ligne de commande:

installation d'aptitude <package_name> & m
danadam
la source
5

Vous pouvez utiliser apt-mark manual <package>pour cela, de Synaptic, Package=> [ ] Automatically Installed(décochez-le).

ex:

# Mark <some_package> as manually-installed:
apt-mark manual <some_package>

# Mark <other_package> as automatically-installed (ex if you know it's a
# dependency to something else and you want to make sure it'll be
# auto-removable if it's no longer used):
apt-mark auto <other_package>

De plus, si vous utilisez apt-get install <package>un package déjà installé, il sera implicitement marqué comme manuel.

Thomas Guyot-Sionnest
la source
Cela semble faire exactement comme souhaité. Cela a changé le statut de mon colis de [installed,auto-removable]juste [installed].
mwfearnley