web-dev-qa-db-fra.com

Quelle est la différence entre dpkg et aptitude / apt-get?

Lors de l’installation d’un logiciel via dpkg -i packageA.deb, les dépendances requises par packageAseront-elles téléchargées et installées automatiquement? En quoi est-ce différent d'utiliser apt-get ou aptitudename__?

123
Aniket Thakur

Non, dpkg n’installe qu’un paquet. Par conséquent, le fait dpkg -i packageName.deb n’installe que ce paquet Deb et vous avertit des dépendances à installer, mais il va pas les installer, et il va not configurez le packageName.deb car bien ... les dépendances ne sont pas là.

apt-get est un système de gestion de paquets qui gère l’installation des paquets Deb sur distributions Linux basées sur Debian . Un système de gestion de paquets est un ensemble d’outils qui vous aideront à installer, supprimer et modifier facilement les paquets. Donc, apt-get est comme un intelligent dpkg.

J'aime penser à la chronologie de cette façon (ce qui suit est juste moi qui parle d'expérience. Cela a pour but de vous donner une idée de tout cela):

  • Ils ont mis au point un moyen de "stocker" les fichiers d'une application dans un "package" afin de faciliter son installation. Ainsi, le paquet Deb ( .deb extension file ) est né.

    Un fichier .deb contient les fichiers nécessaires à l'exécution d'une application, ainsi que (j'aime l'appeler) "méta-données" contenant d'autres informations, telles que les noms de les dépendances dont l'application a besoin. Si vous voulez voir le contenu d'un fichier .deb, vous pouvez utiliser la commande dpkg -c packageName.deb et si vous voulez voir ces informations "méta-données", utilisez la commande dpkg -I pacakgeName.deb (et si vous voulez voir uniquement les dépendances, faites dpkg -I packageName.deb | grep Depends. ).

  • Ils avaient besoin d'un outil pour installer ces fichiers .deb. Ils ont donc créé l'outil dpkg. Cependant, cet outil n’installe que le fichier .deb, mais pas ses dépendances, car il n’a pas ces fichiers et il n’a pas accès aux "référentiels" pour obtenir les dépendances.

  • Ensuite, ils ont proposé apt-get, qui automatise les problèmes du point précédent. Sous le capot, apt-get est fondamentalement dpkg (j'aime bien le penser comme apt-get étant une interface pour dpkg), mais un astucieux qui recherchera les dépendances et les installera. Il examine même les dépendances actuellement installées et détermine celles qui ne sont pas utilisées par d'autres packages, et vous informera que vous pouvez les supprimer.

aptitude est arrivé. Il utilise le bibliothèques apt-get utilise et possède en fait une interface utilisateur interactive (interface utilisateur). Si vous voulez voir cette interface utilisateur, tapez simplement aptitude dans le terminal. C'est aptitude. Il exploite les bibliothèques pour fournir plus d'options et d'avantages que apt-get. Par exemple, aptitude supprimera automatiquement les packages éligibles, alors que apt-get aura besoin d'une commande distincte pour le faire. Mais finalement, faire Sudo aptitude install packageName.deb devrait au moins être identique à Sudo apt-get install packageName.deb. Il y a peut-être des différences subtiles ici et là que je ne connais pas, mais ils vont tous les deux rechercher les dépendances et faire tout ça. Vous pouvez lire la réponse ici pour plus d'informations sur les différences entre aptitude et apt-get.

De plus, aptitude n’a pas de super pouvoirs de vache.

EDIT: Apparemment, c'est le cas. aptitude -v[v[v[v[v]]]] moo.

aptitude n'est peut-être pas installé par défaut. Pour l’installer, faites Sudo apt-get install aptitude ou cliquez sur ceci: aptitude Install aptitude .


Supplémentaire

Les informations suivantes ne répondent pas directement directement " Quelle est la différence entre dpkg et aptitude/apt-get? " mais contribue à la grande image.


De Carlos Campderrós ' commentaire ci-dessous :

gdebi est un autre outil qui est une sorte de mélange entre apt-get et aptitude. Lorsque vous l'utilisez pour installer un package .deb (gdebi packageName.deb), il identifie les dépendances manquantes, les installe à l'aide de apt-get, puis installe et configure enfin le package à l'aide de dpkg. Il a même ne interface graphique simple et soignée qui vous donne des informations sur le paquetage .deb, les fichiers inclus dans le paquetage et les dépendances à installer. Pour voir cette interface graphique, vous feriez gdebi-gtk packageName.deb. Vous pouvez essayer gdebi en l’installant avec Sudo apt-get install gdebi ou en cliquant dessus: gdebi Install gdebi .


Je ne veux pas confondre qui que ce soit, mais pour vous donner une autre partie de l'image, il existe un autre format de paquet Linux populaire appelé RPM, et ses fichiers ont l'extension .rpm. Ce format de paquet est utilisé sur distributions RPM basées sur RPM (telles que Red Hat, CentOS et Fedora). Ils utilisent la commande rpm pour installer un paquet, et yum est son interface, c’est l’astucieux. Ainsi, leurs fichiers .rpm sont nos fichiers .deb, leur outil rpm est notre outil dpkg et leur yum est notre apt-get.

De Paddy Landa 's commentaire ci-dessous :

alien est un outil permettant de convertir les packages .rpm et .deb. Donc, si vous tombez dans la situation où vous avez un paquet .rpm et que vous voulez installer sur votre Ubuntu (ou toute autre distribution basée sur Debian), vous pouvez utiliser la commande alien rpm_packageName.rpm pour le convertir en .deb, puis l'installer. en utilisant dpkg. Vous pouvez faire l’inverse (convertir .deb en .rpm) en utilisant alien -r packageName.deb.

165
Alaa Ali

apt-get

La gestion des paquets via apt-get est exécutée conjointement avec le fichier /etc/apt/sources.list.

apt-get install <package_name> installe un nouveau package sur votre ordinateur.

apt-get build-dep <package_name> Cette commande effectue une recherche dans les référentiels et installe les dépendances de construction. Si le paquet ne se trouve pas dans les référentiels, une erreur sera renvoyée.

apt-get install <package1_name> <package2_name> <package3_name> apt-get autorise l'installation de plusieurs paquets. séparez les paquets par un espace.

auto-apt run <command_string> Lorsqu'elle est appelée, la commande auto-apt installe automatiquement les packages en cas d'accès au fichier manquant. Si un programme tente d'accéder à un fichier appartenant à un package désinstallé, auto-apt l'installera à l'aide de apt-get. Cette fonctionnalité nécessite apt et Sudo pour fonctionner.

Visitez la page d'instruction apt-get

aptitude

aptitude fournit les fonctionnalités de dselect et apt-get ainsi que de nombreuses fonctionnalités supplémentaires non trouvées dans les deux programmes.

aptitude a son propre shell qui est activé au clavier ou à la souris et qui s'exécute dans une fenêtre de terminal

aptitude build-dep <package> - Installez les dépendances de construction des paquets - ce qui signifie les paquets nécessaires pour compiler (ou construire ) son paquet source. Par exemple, de nombreux packages nécessitent la construction de debhelper ou autotools, mais ils n’en ont pas besoin pour fonctionner.

Visitez la page d'instruction d'aptitude

dpkg

est un outil pour installer, construire, supprimer et gérer les paquets Debian. lien

dpkg -i <package.deb> installe un paquet Debian sur votre ordinateur. Il n’installe aucune dépendance dans la mesure où je peux me renseigner à partir des fichiers d’aide.

Pour plus de détails, saisissez dpkg --help dans une fenêtre de terminal.

Des guides

un guide de gestion de fichiers peut être trouvé ici

5
SimplySimon

Je pense que la chose la plus importante et une différence est à noter est que vous devriez utiliser l'outil apt-get pour installer les paquets. (apt ou aptitude convient également).

Ceci parce que dpkg est destiné à installer des packages sans installer de packages dépendants. À cause de cela, installer un paquet avec dpkg peut conduire à un problème ultérieur dans lequel la résolution de la dépendance peut aboutir à un système en panne.

Vous devez utiliser l'outil apt-get ou apt (depuis 14.04) de la ligne de commande pour installer des packages. Ces outils utilisent dpkg pour vous et ont en même temps le mécanisme de résolution des dépendances.

0
prosti