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
?
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
?
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 commandedpkg -c packageName.deb
, et si vous voulez voir cette information "meta-data", utilisez la commandedpkg -I pacakgeName.deb
(et si vous voulez seulement voir les dépendances, fairedpkg -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.
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 .
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
.
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
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
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.
Vous trouverez un guide de gestion des fichiers ici
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.