Quelle est la différence entre dpkg et aptitude / apt-get?
125
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-getou aptitude?
Non, dpkgseulement installe un paquet, donc cela dpkg -i packageName.debn'installe que ce paquet Deb et vous informera de toutes les dépendances à installer, mais ne les installera pas et ne le configurera paspackageName.deb parce que ... les dépendances sont pas ici.
apt-getest un système de gestion de paquets qui gère l'installation de paquets Deb sur des 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. Alors, apt-getc'est comme un malin 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 ( .debfichier d'extension ) était né.
Un .debfichier contient les fichiers requis par une application à exécuter, ainsi que (je préfère l'appeler) « méta-données » qui détient d' autres informations, telles que les noms des dépendances les besoins de l' application. Si vous voulez voir le contenu d'un .debfichier, 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-le dpkg -I packageName.deb | grep Depends).
Ils avaient besoin d'un outil pour installer ces .debfichiers, ils sont donc venus avec l' dpkgoutil. Cependant, cet outil n’installe que le .debfichier, mais pas ses dépendances, car il ne possède pas ces fichiers et n’a pas accès aux "référentiels" pour obtenir les dépendances.
Ensuite, ils sont venus avec apt-get, ce qui automatise les problèmes dans le point précédent. Sous le capot, apt-getc’est fondamentalement dpkg(j’aime penser que c’est apt-getun frontal pour dpkg), mais c’est un habile qui cherche les dépendances et les installe. 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.
aptitudepuis est venu. Il utilise les bibliothèques apt-getutilise et a en fait une interface utilisateur interactive (interface utilisateur). Si vous voulez voir cette interface, tapez simplement aptitudele terminal. Ça c'estaptitude . Il exploite les bibliothèques pour offrir plus d'options et d'avantages que apt-get. Par exemple, aptitudesupprimera automatiquement les packages éligibles, tout en ayant apt-getbesoin d'une commande séparée pour le faire. Mais à la fin, faire sudo aptitude install packageName.debdevrait au moins être comme 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 aptitudeet apt-get.
En outre, aptituden'a pas de super pouvoirs de vache.
EDIT: Apparemment, c'est le cas. aptitude -v[v[v[v[v]]]] moo.
aptitudepeut ne pas être installé par défaut. Pour l'installer, faites sudo apt-get install aptitudeou cliquez ceci: aptitude .
Supplémentaire
Les informations suivantes ne répondent pas directement " Quelle est la différence entre dpkg et aptitude / apt-get? " Mais contribuent à la grande image.
gdebiest un autre outil qui est une sorte de mélange entre apt-getet aptitude. Lorsque vous l'utilisez pour installer un .debpackage ( gdebi packageName.deb), il identifiera les dépendances manquantes, les installera avec apt-get, puis finalement installera et configurera le paquet avec dpkg. Il possède même une interface graphique simple et soignée qui vous donne des informations sur le .debpaquet, les fichiers inclus dans le paquet et les dépendances à installer. Pour voir cette interface graphique, vous feriez gdebi-gtk packageName.deb. Vous pouvez gdebiessayer en l'installant avec sudo apt-get install gdebiou en cliquant dessus: gdebi .
Je ne veux confondre personne, 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' .rpmextension. Ce format de paquet est utilisé sur les distributions Linux basées sur RPM (telles que Red Hat, CentOS et Fedora). Ils utilisent la commande rpmpour installer un paquet, et yumest le front-end pour cela, c'est le plus malin. Donc, leurs .rpmfichiers sont nos .debfichiers, leur rpmoutil est notre dpkgoutil et leur yumest notre apt-get.
alienest un outil qui convertit entre .rpmet des .debpackages. Donc, si vous tombez dans la situation où vous avez un .rpmpaquet et que vous voulez l'installer sur votre Ubuntu (ou sur toute autre distribution basée sur Debian), vous pouvez utiliser la commande alien rpm_packageName.rpmpour le convertir .deb, puis l'installer à l'aide de dpkg. Vous pouvez faire l'inverse (convertir .deben .rpm) en utilisant alien -r packageName.deb.
C'était très utile et exactement ce que je cherchais. Tx!
Aniket Thakur
4
En outre, vous pouvez utiliser gdebi( apt-get install gdebi-core) qui mélange apt-get/ aptitudeavec dpkg. Vous l'appelez avec gdebi some_package.debet il analysera ses dépendances, appelera apt-getpour installer celles qui manquent et lorsque toutes les dépendances seront remplies, puis appellera dpkgpour installer enfin votre paquet.
Carlos Campderrós
2
@Alaa Sous Extra , vous pouvez également mentionner que alienconvertit les packages entre .rpmet .deb. Ceci est utile pour les paquetages disponibles pour RPM mais pas pour DEB (ou inversement). Par exemple, alien packagename.rpmpour le rendre utilisable pour Ubuntu.
@edwardtorvalds AskUbuntu est un site de questions et réponses. Cherchez votre réponse ici sur le site parmi les milliers de vieilles questions, et si vous ne la trouvez pas, posez votre propre question, des personnes plus expérimentées que moi y répondront, espérons-le.
Alaa Ali
5
apt-get
La gestion des paquets via apt-gets'exécute en même temps que le /etc/apt/sources.listfichier.
apt-get install <package_name>
installe un nouveau package sur votre ordinateur.
apt-get build-dep <package_name>
Cette commande 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 permet 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 lorsque l'accès aux fichiers est manquant. Si un programme tente d'accéder à un fichier appartenant à un paquet désinstallé, auto-apt l'installera à l'aide de apt-get. Cette fonctionnalité nécessite apt et sudo pour fonctionner.
aptitudefournit les fonctionnalités de dselect, apt-getainsi que de nombreuses fonctionnalités supplémentaires non trouvées dans les deux programmes.
aptitude a sa propre coque qui est activée au 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 à la compilation (ou à la génération ) de son package source. Par exemple, beaucoup de paquets doivent debhelperou autotoolsdoivent être construits, mais n’ont pas besoin d’être exécutés.
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, tapez dpkg --helpdans une fenêtre de terminal.
Des guides
un guide sur la gestion des fichiers peut être trouvé ici
Je pense que la chose la plus importante et une différence est de noter que vous devez utiliser un apt-getoutil pour installer des paquets. ( aptou aptitudeva bien aussi).
En effet, il dpkgest conçu pour 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 dépendance peut aboutir à un système en panne.
Vous devez utiliser la ligne de commande apt-getou apt(depuis 14.04) l’outil pour installer des packages. Ces outils utilisent dpkgpour vous et contiennent en même temps le mécanisme de résolution des dépendances.
Réponses:
Non,
dpkg
seulement installe un paquet, donc celadpkg -i packageName.deb
n'installe que ce paquet Deb et vous informera de toutes les dépendances à installer, mais ne les installera pas et ne le configurera paspackageName.deb
parce que ... les dépendances sont pas ici.apt-get
est un système de gestion de paquets qui gère l'installation de paquets Deb sur des 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. Alors,apt-get
c'est comme un malindpkg
.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
fichier d'extension ) était né.Ils avaient besoin d'un outil pour installer ces
.deb
fichiers, ils sont donc venus avec l'dpkg
outil. Cependant, cet outil n’installe que le.deb
fichier, mais pas ses dépendances, car il ne possède pas ces fichiers et n’a pas accès aux "référentiels" pour obtenir les dépendances.apt-get
, ce qui automatise les problèmes dans le point précédent. Sous le capot,apt-get
c’est fondamentalementdpkg
(j’aime penser que c’estapt-get
un frontal pourdpkg
), mais c’est un habile qui cherche les dépendances et les installe. 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
puis est venu. Il utilise les bibliothèquesapt-get
utilise et a en fait une interface utilisateur interactive (interface utilisateur). Si vous voulez voir cette interface, tapez simplementaptitude
le terminal. Ça c'estaptitude
. Il exploite les bibliothèques pour offrir plus d'options et d'avantages queapt-get
. Par exemple,aptitude
supprimera automatiquement les packages éligibles, tout en ayantapt-get
besoin d'une commande séparée pour le faire. Mais à la fin, fairesudo aptitude install packageName.deb
devrait au moins être commesudo 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 entreaptitude
etapt-get
.En outre,
aptitude
n'a pas de super pouvoirs de vache.aptitude
peut ne pas être installé par défaut. Pour l'installer, faitessudo apt-get install aptitude
ou cliquez ceci: aptitude .Supplémentaire
De Carlos Campderrós de commentaire ci - dessous :
gdebi
est un autre outil qui est une sorte de mélange entreapt-get
etaptitude
. Lorsque vous l'utilisez pour installer un.deb
package (gdebi packageName.deb
), il identifiera les dépendances manquantes, les installera avecapt-get
, puis finalement installera et configurera le paquet avecdpkg
. Il possède même une interface graphique simple et soignée qui vous donne des informations sur le.deb
paquet, les fichiers inclus dans le paquet et les dépendances à installer. Pour voir cette interface graphique, vous feriezgdebi-gtk packageName.deb
. Vous pouvezgdebi
essayer en l'installant avecsudo apt-get install gdebi
ou en cliquant dessus: gdebi .Je ne veux confondre personne, 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'
.rpm
extension. Ce format de paquet est utilisé sur les distributions Linux basées sur RPM (telles que Red Hat, CentOS et Fedora). Ils utilisent la commanderpm
pour installer un paquet, etyum
est le front-end pour cela, c'est le plus malin. Donc, leurs.rpm
fichiers sont nos.deb
fichiers, leurrpm
outil est notredpkg
outil et leuryum
est notreapt-get
.De Paddy Landau de commentaire ci - dessous :
alien
est un outil qui convertit entre.rpm
et des.deb
packages. Donc, si vous tombez dans la situation où vous avez un.rpm
paquet et que vous voulez l'installer sur votre Ubuntu (ou sur toute autre distribution basée sur Debian), vous pouvez utiliser la commandealien rpm_packageName.rpm
pour le convertir.deb
, puis l'installer à l'aide dedpkg
. Vous pouvez faire l'inverse (convertir.deb
en.rpm
) en utilisantalien -r packageName.deb
.la source
gdebi
(apt-get install gdebi-core
) qui mélangeapt-get
/aptitude
avecdpkg
. Vous l'appelez avecgdebi some_package.deb
et il analysera ses dépendances, appeleraapt-get
pour installer celles qui manquent et lorsque toutes les dépendances seront remplies, puis appelleradpkg
pour installer enfin votre paquet.alien
convertit les packages entre.rpm
et.deb
. Ceci est utile pour les paquetages disponibles pour RPM mais pas pour DEB (ou inversement). Par exemple,alien packagename.rpm
pour le rendre utilisable pour Ubuntu.aptitude
n'est pas une interface pourapt-get
. Les deux programmes sont des interfaces pour lalibapt-pkg
bibliothèque.apt-get
La gestion des paquets via
apt-get
s'exécute en même temps que le/etc/apt/sources.list
fichier.apt-get install <package_name>
installe un nouveau package sur votre ordinateur.apt-get build-dep <package_name>
Cette commande 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 permet 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 lorsque l'accès aux fichiers est manquant. Si un programme tente d'accéder à un fichier appartenant à un paquet désinstallé, auto-apt l'installera à l'aide deapt-get
. Cette fonctionnalité nécessite apt et sudo pour fonctionner.Visitez la page d'instruction apt-get
aptitude
aptitude
fournit les fonctionnalités dedselect
,apt-get
ainsi que de nombreuses fonctionnalités supplémentaires non trouvées dans les deux programmes.aptitude
a sa propre coque qui est activée au clavier ou à la souris et s'exécute dans une fenêtre de terminalaptitude build-dep <package>
- Installez les dépendances de construction des packages - ce qui signifie les packages nécessaires à la compilation (ou à la génération ) de son package source. Par exemple, beaucoup de paquets doiventdebhelper
ouautotools
doivent être construits, mais n’ont pas besoin d’être exécutés.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, tapez
dpkg --help
dans une fenêtre de terminal.Des guides
un guide sur la gestion des fichiers peut être trouvé ici
la source
Je pense que la chose la plus importante et une différence est de noter que vous devez utiliser un
apt-get
outil pour installer des paquets. (apt
ouaptitude
va bien aussi).En effet, il
dpkg
est conçu pour installer des packages sans installer de packages dépendants. À cause de cela, installer un paquet avecdpkg
, peut conduire à un problème ultérieur dans lequel la résolution de dépendance peut aboutir à un système en panne.Vous devez utiliser la ligne de commande
apt-get
ouapt
(depuis 14.04) l’outil pour installer des packages. Ces outils utilisentdpkg
pour vous et contiennent en même temps le mécanisme de résolution des dépendances.la source