Question 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 packageA être téléchargé et installé automatiquement? En quoi est-ce différent d'utiliser apt-get ou aptitude?


116
2018-06-17 07:08


origine


En relation (surtout en ce qui concerne les dépendances): askubuntu.com/q/40779/250300 - Melebius


Réponses:


Non, dpkg installe seulement un paquet, faisant ainsi dpkg -i packageName.deb installera uniquement ce paquet Deb et vous informera de toutes les dépendances à installer, mais ne pas installez-les, et ce sera ne pas configurer le packageName.deb parce que bien ... les dépendances ne sont pas là.

apt-get est un Système de gestion des paquets qui gère l'installation des paquets Deb sur 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. Alors apt-get est comme un malin dpkg.

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

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

    UNE .deb fichier contient les fichiers nécessaires à une application à exécuter, ainsi que (J'aime l'appeler) "meta-data" qui contient d'autres informations, telles que les noms des dépendances dont l'application a besoin. Si vous voulez voir le contenu d'un .deb fichier, vous pouvez utiliser la commande dpkg -c packageName.deb, et si vous voulez voir cette information "méta-données", utilisez la commande dpkg -I pacakgeName.deb (et si vous voulez seulement voir les dépendances, faites dpkg -I packageName.deb | grep Depends).

  • Ils avaient besoin d'un outil pour les installer .deb fichiers, donc ils sont venus avec le dpkg outil. Cet outil, cependant, installera simplement le .deb fichier, mais n’installera pas ses dépendances car il n’a pas ces fichiers et n’a pas accès aux «référentiels» pour extraire les dépendances.

  • Ensuite, ils sont venus avec apt-get, qui automatise les problèmes dans le point précédent. Sous le capot, apt-get est fondamentalement dpkg (J'aime y penser comme apt-get être un front-end pour dpkg), mais un outil intelligent 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 utilisées par aucun autre package, et vous informera que vous pouvez les supprimer.

aptitude est venu ensuite. Il utilise le bibliothèques apt-get les usages 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 paquets éligibles, 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 le même que 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. Tu peux lire la réponse ici pour plus d'informations sur les différences entre aptitude et apt-get.

Aussi, aptitude n'a pas de super pouvoirs de vache.

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, faire sudo apt-get install aptitude ou cliquez sur ceci: aptitude Install aptitude.


Supplémentaire

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


De Carlos Campderrós' commentaires 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 .deb paquet (gdebi packageName.deb), il identifiera les dépendances manquantes, les installera en utilisant apt-get, puis enfin installer et configurer le package en utilisant dpkg. Il a même un interface graphique simple et soignée qui vous donne des informations à propos de .deb package, les fichiers inclus dans le package et les dépendances à installer. Pour voir cette interface graphique, vous feriez gdebi-gtk packageName.deb. Tu peux donner gdebi un essai en l'installant avec sudo apt-get install gdebi ou cliquez sur ceci: 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 paquetage Linux populaire appelé RPM, et ses fichiers ont .rpm extension. Ce format de paquet est utilisé sur Basé sur les RPM Distributions Linux (tels que Red Hat, CentOS et Fedora). Ils utilisent la commande rpm installer un paquet, et yum est le front-end, c'est le plus intelligent. Donc leur .rpm les fichiers sont notre .deb fichiers, leur rpm l'outil est notre dpkg outil, et leur yum est notre apt-get.

De Paddy Landau's commentaires ci-dessous:

alien est un outil qui convertit entre .rpm et .deb paquets. Donc, si vous tombez dans la situation où vous avez un .rpm package, et que vous souhaitez l’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 installez-le en utilisant dpkg. Vous pouvez faire l'inverse (convertir .deb à .rpm) en utilisant alien -r packageName.deb.


156
2018-06-17 07:30



C'était très utile et exactement ce que je cherchais. Tx! - Aniket Thakur
En outre, vous pouvez utiliser gdebi (apt-get install gdebi-core) qui mélange apt-get/aptitude avec dpkg. Vous l'appelez avec gdebi some_package.deb et il analysera ses dépendances, appelez apt-get pour installer les manquants et quand toutes les dépendances sont remplies, alors appelez dpkg pour enfin installer votre paquet. - Carlos Campderrós
@ CarlosCampderrós, j'ai ajouté gdebi dans ma réponse. - Alaa Ali
@Alaa Under Supplémentaire, vous pouvez également mentionner que alien convertit les paquets entre .rpm et .deb. Ceci est utile pour les packages disponibles pour RPM mais pas pour DEB (ou vice-versa). Par exemple, alien packagename.rpm pour le rendre utilisable pour Ubuntu. - Paddy Landau
@AlaaAli aptitude n'est pas une interface pour apt-get. Les deux programmes sont des frontends pour la libapt-pkg bibliothèque. - Eliah Kagan


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 package 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 la fonctionnalité de dselect et apt-get ainsi que de nombreuses fonctionnalités supplémentaires non trouvées dans les deux programmes.

aptitude a un shell propre qui est activé par le clavier ou la souris et fonctionne dans une fenêtre de terminal

aptitude build-dep <package>   - Installer les dépendances de construction des paquets - ce qui signifie les paquets à compiler (ou construire) son paquet source. Par exemple, de nombreux paquets ont besoin debhelper ou autotools être construit, mais ne les ont pas besoin de courir.

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 aucune dépendance dans la mesure où je peux le découvrir dans les fichiers d'aide.

Pour le type de détails dpkg --help dans une fenêtre de terminal.

Des guides

un guide pour la gestion des fichiers peut être trouvé ici


5
2018-06-17 07:29





Je pense que la chose la plus importante et aussi une différence est de noter que vous devez utiliser apt-get outil pour installer des paquets. (apt ou aptitude c'est bien aussi).

Ceci est dû au fait dpkg est destiné à installer des packages sans installer de packages dépendants. À cause de cela, installer un paquet avec dpkg, peut entraîner un problème ultérieur où la résolution des dépendances peut se retrouver avec un système cassé.

Vous devriez utiliser la ligne de commande apt-get ou apt (depuis 14.04) outil pour installer les paquets. Ces outils utilisent dpkg pour vous et en même temps avoir le mécanisme de résolution de dépendance à l'intérieur.


0
2017-08-16 19:24