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

115

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

    
posée Aniket Thakur 17.06.2013 - 09:08
la source

3 réponses

155

Non, dpkg installe uniquement un package, donc dpkg -i packageName.deb installera uniquement ce package Deb et vous informera des éventuelles dépendances à installer, mais ne pas les installer, et pas configurera packageName.deb car les dépendances ne sont pas présentes.

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

J'aime penser à la chronologie de cette façon (ce qui suit est juste mon expérience. Elle est destinée à vous donner une idée de tout cela):

  • Ils ont trouvé un moyen de "stocker" les fichiers d’une application dans un "package" afin de pouvoir l’installer facilement. Donc, le paquet Deb ( fichier d'extension .deb ) est né.

      

    Un fichier .deb contient les fichiers nécessaires à l'exécution d'une application, ainsi que (j'aime l'appeler) "métadonné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 cette information "meta-data", utilisez la commande dpkg -I pacakgeName.deb (et si vous voulez seulement voir les dépendances, faire dpkg -I packageName.deb | grep Depends ).

  • Ils avaient besoin d’un outil pour installer ces fichiers .deb , ils ont donc créé l’outil dpkg . Cet outil, cependant, installera simplement le fichier .deb , mais n'installe pas ses dépendances car il ne possède pas ces fichiers et il n'a pas accès aux "référentiels" pour extraire les dépendances.

  • Ensuite, ils ont créé apt-get , ce qui automatise les problèmes du point précédent. Sous le capot, apt-get est essentiellement composé de dpkg (j'aime bien penser que apt-get est une interface pour dpkg ), mais intelligent qui recherche les dépendances et les installe. Il examine même les dépendances actuellement installées et détermine celles qui ne sont utilisées par aucun autre package, et vous informera que vous pouvez les supprimer.

aptitude est ensuite arrivé. Il utilise les bibliothèques apt-get utilise et possède 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, tandis que apt-get a besoin d'une commande séparée pour le faire. Mais finalement, faire sudo aptitude install packageName.deb devrait au moins être identique à sudo apt-get install packageName.deb . Il pourrait y avoir des différences subtiles ici et là que je ne connais pas, mais elles chercheront toutes les deux des dépendances et feront tout cela. 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 superpuissance.

  

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

aptitude peut ne pas être installé par défaut. Pour l'installer, faites sudo apt-get install aptitude ou cliquez sur ceci: aptitude .

Extra

  

Les informations suivantes ne permettent pas de répondre directement à " Quelle est la différence entre dpkg et aptitude / apt-get? " mais cela contribue à l’ensemble.

De Carlos Campderrós commentaire ci-dessous :

gdebi est un autre type 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 le package à l'aide de dpkg . Il y a même une interface graphique simple et soignée qui vous donne des informations sur le package .deb , les fichiers inclus dans le package, et quelles dépendances doivent être installées. Pour voir cette interface graphique, vous feriez gdebi-gtk packageName.deb . Vous pouvez donner à gdebi un essai en l'installant avec sudo apt-get install gdebi ou cliquez sur ceci: 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 paquetage Linux populaire appelé RPM, et ses fichiers ont l'extension .rpm . Ce format de package est utilisé sur les distributions Linux basées sur RPM (telles que Red Hat, CentOS et Fedora). Ils utilisent la commande rpm pour installer un paquet, et yum est le front-end, c'est le plus intelligent. Ainsi, leurs fichiers .rpm sont nos fichiers .deb , leur outil rpm est notre outil dpkg et leur yum est notre apt-get .

De Paddy Landau a commentaire ci-dessous :

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

    
réponse donnée Alaa Ali 17.06.2013 - 09:30
la source
5

apt-get

La gestion des paquets via apt-get s'exécute main dans la main avec le fichier /etc/apt/sources.list.

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

apt-get build-dep <package_name> Cette commande recherche les référentiels et installe les dépendances de génération pour. Si le package n'est pas dans les référentiels, une erreur est renvoyée.

apt-get install <package1_name> <package2_name> <package3_name> apt-get permet l'installation de plusieurs paquets. séparer les paquets avec un espace.

auto-apt run <command_string> Lorsqu'elle est invoquée, la commande auto-apt installe automatiquement les packages en cas d'accès aux fichiers manquants. Si un programme tente d'accéder à un fichier connu pour appartenir à un paquet désinstallé, auto-apt installera ce paquet en utilisant apt-get. Cette fonctionnalité nécessite que apt et sudo fonctionnent.

Visitez la page d’instruction d’apt-get

aptitude

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

aptitude a son propre shell activé par le clavier ou la souris et s'exécute dans une fenêtre de terminal

aptitude build-dep <package> - Installez les dépendances de construction des packages - ce qui signifie les packages nécessaires pour compiler (ou build ) son package source. Par exemple, beaucoup de paquets ont besoin de debhelper ou de autotools pour être construits, mais ils n'ont pas besoin d'être exécutés.

Visitez la page d'instructions 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 pas de dépendances dans la mesure où je peux les trouver dans les fichiers d'aide.

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

Guides

Vous trouverez un guide de gestion des fichiers ici

    
réponse donnée SimplySimon 17.06.2013 - 09:29
la source
0

Je pense que la chose la plus importante et la plus importante est de noter que vous devez utiliser l'outil apt-get pour installer les paquets. ( apt ou aptitude est bien aussi).

Ceci est dû au fait que dpkg est destiné à installer des packages sans installer de packages dépendants. En raison de cela, l'installation d'un package avec dpkg peut entraîner un problème ultérieur où la résolution des dépendances peut aboutir à un système défectueux.

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

    
réponse donnée prosti 16.08.2018 - 21:24
la source

Lire d'autres questions sur les étiquettes