Il y a quelque temps, j'ai lu que aptitude
c'était l'outil préféré pour l'installation sur des systèmes basés sur Debian. Mais lorsque vous cherchez comment administrer un système basé sur Debian, il est rarement fait mention d'aptitude. La plupart des gens semblent préférer apt-get
- et c'est même vrai pour les pages du wiki Debian!
Ainsi, je me demande si j'ai oublié quelque chose. Quel est le bon outil à utiliser?
aptitude
par défaut.apt-get source package-name
va le faire, mais je n'ai vu aucun équivalent d'aptitudeaptitude search package-name
fonctionne dans l'aptitude. Un autre estaptitude why package-name
également utile mais pas dansapt-get
. Je pense aussi que la ligne de commandeaptitude
est un peu nettoyée par rapport àapt-get
. Mais comme vous l'avez remarqué, il n'y en aaptitude build-dep package-name
pasaptitude source package-name
.Réponses:
aptitude
etapt-get
fonctionnent de la même manière pour de nombreuses tâches, mais dans les cas les plus difficiles, tels que les mises à niveau de distribution (apt-get dist-upgrade
vsaptitude full-upgrade
), elles ont des règles différentes, et les règles d’aptitude sont presque toujours meilleures dans la pratique où elles sont en désaccord.La raison pour laquelle vous voyez plus de documentation pour
apt-get
plusaptitude
est la plupart du temps d' inertie:aptitude
n'a pas été l'avant recommandé d'APT pour tout ce temps, tant de la documentation existante n'a pas été mis à jour, et il y a beaucoup de gens qui reconnaissent les avantages deaptitude
plusapt-get
mais utilisez parapt-get
réflexe.Je suis récemment arrivé au point où je suis généralement suivi
apt
avec uni
mot et non pas-
lorsque je tape.Post-scriptum Notez que les règles utilisées dans
apt-get
etaptitude
sont des cibles mobiles - comme le note Hubert dans des commentaires, le chemin de mise à niveau recommandé par Debian Lenny utilise maintenantapt-get
, pasaptitude
. Cela témoigne du fait queapt-get
le paquet actuel conserve moins d’état que le précédentaptitude
, il n’a donc pas à craindre que l’état APT ne soit pas «propre», et que lesapt-get
règles soient plus intelligentes qu’avant. J'utilise toujours et recommandeaptitude
plusapt-get
, mais c'est une recommandation plus nuancéela source
apt-get
a l'avantage d'être plus efficace en termes de mémoire. Il est peu probable que cela soit perceptible par la plupart des utilisateurs. Je n'étais pas vraiment au courant avant d'essayer de mettre à niveau des paquets sur une installation complète de Debian avec 32 Mo de RAM.aptitude
a fini par se débattre dans l'échange environ une heure par course; apt-get était nettement plus rapide.aptitude
mise à niveau de Lenny, même si elle était prise en charge pour les mises à niveau précédentes. Je ne pense donc pas que ce soit seulement de l'inertie ...apt-get
presque toujours jette des erreurs (expérience du serveur Ubuntu 12.10, 14.04) alors que vousaptitude
pouvez réellement faire quelque chose. Je ne comprends toujours pas comment apt-get existe toujours.aptitude
il est pratique de montrer quels programmes dans une recherche que vous avez déjà installés sur le système (avec l’aide degrep
):En fait,
aptitude
la recherche est beaucoup plus puissante que ce que vous obtenez par le biais de la tuyauteriegrep
, car elle prend en charge la recherche contextuelle:Par exemple, ceci trouve tous les paquets avec le nom 'flash' installé dans le nom du paquet:
Une "forme longue" équivalente à la "forme courte"
~i
:Notez que les modèles de recherche sont libres (sans ancrage) par défaut. Pour les ancrer, vous devez utiliser des modèles d'ancrage '
^
' (début de chaîne) et / ou '$
' (fin de chaîne).Pour trouver tous les paquets dont le nom commence par 'ttf' ou par 'font':
(Remarque: il s'agit d'une solution de contournement pour un bogue dans la
aptitude
mesure où l'expression rationnelle correcte'^(ttf|font)'
ne fonctionne pas correctement. Elle recherche les packages dont les noms commencent par «ttf» ou contiennent «font».)Autres
aptitude
caractéristiques intéressantes:Montrer tous les paquets avec 'firmware' dans leur nom qui ont aussi AUSSI 'sans fil' dans leur description:
ou forme longue:
(Remarque: dans la forme abrégée, les arguments délimités par des espaces sont AND dans des guillemets; s'ils sont passés en tant qu'arguments de ligne de commande argv [] distincts, ils sont OU).
~U
affiche tous les paquets pouvant être mis à niveau à partir de leurs versions actuelles avec les nouvelles versions:Montrer les paquets qui recommandent 'gcc-multilib'
Expliquez pourquoi il est peut-être nécessaire d'installer des «utilitaires de fusion»
(Cet exemple montre une partie de la folie résultant de la configuration par défaut depuis Squeeze (?) D'installer tous les paquets "Recommends". L'installation de gnome-terminal finit par installer ntfsprogs et fuse-utils, egad! Je pense que la plupart des gens veulent juste la perspective du terminal et pas l'intégration NTFS intégrée, qui est facultative, à moins d'indication contraire.)
Trouvez tous les paquets qui fournissent le service "mail-transport-agent":
Affiche tous les noms de paquetages installés, qui ne sont ni essentiels ni installés automatiquement par dépendances:
Malheureusement, ce matériel est plutôt mal documenté et difficile à trouver, mais voici la meilleure référence (du mainteneur d'aptitude).
la source
apt-get
viaapt-cache search NAME
Selon la FAQ de Debian GNU / Linux sur la gestion des paquets , aptitude est plus complexe que apt-get et dépend des outils de gestion de paquets moins complexes apt-get et dpkg.
Par conséquent, pour des besoins plus simples, vous pouvez utiliser des outils plus simples, tandis que pour des besoins plus complexes, vous pouvez compter sur un outil plus sophistiqué (apitude).
Extrait de la FAQ Debian: "aptitude fournit les fonctionnalités de dselect et d’apt-get, ainsi que de nombreuses fonctionnalités supplémentaires, qui ne figurent dans aucun de ces programmes."
la source
aptitude marque les paquets qui ont été installés en raison d’une dépendance avec la balise automatique. Si vous purgez ou supprimez un paquet, aptitude supprimera automatiquement les paquetages installés automatiquement qui ne sont plus utilisés parallèlement au paquet que vous voulez purger ou supprimer.
C'est la raison principale pour laquelle je pense personnellement que l'aptitude est toujours meilleure qu'apt.
la source
apt-get
fait cela aussi, avecapt-get autoremove <package-name>
. Les deux marquesapt-get
etaptitude
les packages installés automatiquementaptitude
nettoyez les packages automatiques à chaque utilisation. Bien queapt-get
vous ayez besoin de commencer cela explicitement.Il n'y a pas d'outil adéquat, vous pouvez combiner les deux en fonction de celui que vous trouvez le plus pratique pour la tâche à accomplir. aptitude est un excellent outil pour tester / utiliser les utilisateurs, mais il a tendance à être moins fiable pour la mise à niveau distante d’une stable à l’autre. Voir mon article apt-get, aptitude,… choisissez le bon gestionnaire de paquets pour vous .
la source