apt-get et aptitude sont des interfaces utilisateur différentes qui font partie du même système de gestion de packages, APT, Advanced Packaging Tool . Par exemple, les deux sont configurés à l'aide /etc/apt/apt.conf
, les deux utilisent le même espace de fichier et les mêmes formats pour représenter l'état du package, et le même espace de fichier pour stocker les fichiers .debs téléchargés.
En quoi ils diffèrent, c'est leur système de règles internes pour représenter les conflits potentiels entre les packages, comment les résoudre (disons pendant apt-get dist-upgrade
vs aptitude full-upgrade
) et comment les exprimer lors de l'interaction avec l'utilisateur. D'une manière générale, les deux peuvent faire la mauvaise chose dans des situations délicates, mais apt-get est beaucoup plus susceptible de se tromper que l'aptitude.
Charles Stewart
la source
aptitude
les supprimera immédiatement, maisapt-get
ne vous invitera à les supprimer qu'en entrant la commandeapt-get autoremove
. En général, ils voudront supprimer les mêmes éléments. Voir ce lien, cependant, pour un cas complexe où ils n'étaient pas d'accord sur cela: forums.debian.net/viewtopic.php?f=10&t=49589&start=0Beaucoup de bons conseils sont déjà là, mais permettez-moi d'ajouter une chose que personne n'a mentionnée. Si vous décidez de changer, vous voudrez peut-être exécuter cette commande, selon ce que vous avez fait avec
apt-get
:Cette commande réinitialise
aptitude
le sens de quels paquets sont orphelins et doivent être supprimés.Voici la raison pour laquelle il est parfois utile: pendant un certain temps maintenant, les deux
apt-get
etaptitude
suivront les packages qui ont été installés automatiquement en tant que dépendance de quelque chose d'autre. Ainsi, par exemple, si vous installezmpd
, vous pourriez obtenirlib-so-and-so
une dépendance. Ils le font, de sorte que si vous supprimez plus tardmpd
, illib-so-and-so
est également supprimé. Maisaptitude
etapt-get
gérer ce nettoyage différemment.aptitude
essaie immédiatement de supprimer toutes les dépendances orphelines; maisapt-get
suggère simplement que vous couriezapt-get autoremove
pour nettoyer. (La logique derrière tout cela est que vous n'avez obtenu la bibliothèque que depuis que vous en avezmpd
besoin. Si vous ne la conservez pasmpd
, vous ne devriez plus avoir besoin de la bibliothèque. Si un autre paquet en dépend toujours, alors les deuxaptitude
etapt-get
le saura et n'essaiera pas de supprimer la bibliothèque.)Quel est mon point? Eh bien, si vous avez vu des coups de pouce constants
apt-get autoremove
et que vous passez àaptitude
, vous risquez d'être choqué la première fois que vous essayez d'installer quelque chose.aptitude
va tout de suite essayer de supprimer tous ces orphelins. En général, ce sera bien (ils sont orphelins après tout, et ce n'est pas nécessaire), mais il y a un cas compliqué. Les méta-packages de bureau impliquent tous une chaîne de dépendance complexe dans laquelle chaque programme individuel est extrait en tant que dépendance d'un wrapper de package virtuel. Par exemple, si Gnome est installé parce que vous avez installé legnome
package, tous vos programmes de bureau normaux ont été installés en tant que dépendances. Si vous avez désinstallé un seul de ces programmes (par exemple, Ekiga ou Gedit), aux yeux deaptitude
le reste de votre bureau devrait également être supprimé. Notez queaptitude
toujours demande avant de supprimer des choses, mais les gens entrent souvent «Y» sans lire. D'après mon expérience, c'est la plainte / confusion la plus courante pour les nouveaux utilisateurs de Debian.Deux conseils généraux:
aptitude
ouapt-get
attentivement, avant de dire oui à quoi que ce soit.aptitude -s safe-upgrade
ouaptitude -s install foo
. Le-s|--simulate
drapeau est ton ami.la source
Il a été dit sur la liste de diffusion Debian, il y a des années, que passer d'apt-get à aptitude était risqué. Il s'agit de deux versions de Debian (disons 10 ans). Tous ces problèmes semblent être résolus maintenant, et je n'ai certainement vu aucun problème sur Debian ou Ubuntu.
la source
apt-get
àaptitude
. À l'époque, ils géraient de nombreuses fonctions essentielles très différemment. Au fil du temps, ils sont devenus beaucoup plus similaires etaptitude
ont mûri une tonne. Pour 90% des cas maintenant, aucun changement ne devrait survenir. Voir mon article pour un cas de bord.Je dirais aussi allez-y et utilisez
aptitude
.Aptitude
a une meilleure gestion des dépendances queapt-get
. Cela aidera à maintenir le nombre de paquets orphelins à un niveau bas.J'ai lu il y a un moment qui
aptitude
a le meilleur algorithme de mise à niveau dist par rapport àapt-get
. Mais ce n'est guère une caractéristique mortelle car elle n'est pas utilisée très souvent dans la durée de vie d'un système.De plus, vous aurez plus de choses réunies dans un seul outil. Plutôt que de se rappeler quand appeler
apt-get
,apt-cache
oudpkg
et avec lequel je commute simplement utiliser les aptitudes et obtenir la plupart des choses.Quant aux complications lors du passage "au milieu": je ne me souviens pas en avoir eu quand je l'ai fait.
la source
Ne sont-ils pas simplement une interface différente du même backend?
la source
aptitude
est une interface plus fonctionnelle ...dpkg
. maisdpkg
installe simplement les packages; ce sont les frontaux qui sont chargés de la recherche, de la résolution des dépendances et du téléchargement.D'après mon expérience, ils ont une façon différente d'épingler les versions des packages. Dans mon cas, j'ai dit à aptitude de verrouiller certains packages, en supposant que je serais à l'abri des futures mises à jour. J'avais tort; le gestionnaire de mise à jour programmé cron, qui utilise apt-get, procède à sa mise à niveau à ma grande consternation.
Drats, pendant que j'écrivais ceci, j'ai googlé et découvert que le bug ( # 557580 aptitude n'obéit pas aux pins dans preferences.d / *) était déjà corrigé!
la source
J'utilise à la fois apt-get et aptitude sans aucun problème: j'ai la même question ... Pourquoi les gens disent ça ??? :RÉ
Continuez, et ne vous inquiétez pas: aptitude est juste une interface texte pour apt-get, que vous pouvez même utiliser comme application en ligne de commande, par exemple,
apt-get install foo
est la même queaptitude install foo
.Cordialement
la source
apt-get
proposent également la suppression automatique des packages installés uniquement en tant que dépendances. La différence restante à cet égard est qu'elleaptitude
supprime instantanément les dépendances (le cas échéant), maisapt-get
vous incite uniquement à exécuter la commandeapt-get autoremove
. Mais ils suivent tous les deux les dépendances de la même manière maintenant. Cependant, ils diffèrent toujours dans la gestion des dépendances complexes et des cas marginaux (installations ou suppressions très compliquées), mais pour la majorité des gens et la majorité des situations, ils fonctionnent de la même manière maintenant.