Différence entre `dpkg -i` et` apt-get install`

16

De tous les autres Q&R (comme: Quelle est la différence entre dpkg et aptitude / apt-get? ) Je comprends que apt-getc'est un wrapper dpkget fournit une gestion des dépendances.

En supposant que j'installe quelque chose qui n'a aucune dépendance (ou ils sont également installés en même temps), y aurait-il une différence entre l'installer en utilisant apt-getvsdpkg

Par exemple (un peu des différences concrètes que je recherche)

  • dire dpkgne peut pas télécharger le paquet de quelque part, je dois télécharger avant de commencer l'installation, alors que apt-getje le ferai en mon nom.
  • dpkgne configurera pas pkg, il copiera uniquement les fichiers. apt-getconfigurera aussi.

...

Kashyap
la source

Réponses:

16

dpkg -iinstalle des *.debpackages, c'est-à-dire des packages que vous avez déjà téléchargés quelque part. Il les configure également, mais ne télécharge / n'installe pas de dépendances. Vous devez avoir téléchargé le ou les fichiers de package binaire manuellement quelque part. Il peut également y avoir des risques à télécharger des packages à partir d'emplacements qui ne sont pas les référentiels que votre distribution avait inclus / activé par défaut, car les packages tiers peuvent être de nature malveillante.


apt-get/aptitude install accède automatiquement aux référentiels et index PPA que vous avez activés, recherche le meilleur candidat, le télécharge et toutes ses dépendances et les installe et les configure automatiquement.

En utilisant apt-get install -f, vous pouvez installer automatiquement les dépendances manquantes des packages installés par exemple dpkg -i.

Byte Commander
la source
5
Une note rapide ici, apt-getpeut installer des dépendances à partir de packages installés avec dpkg -i. Courez apt-get install -fpour accomplir cela.
noirscape
1
@ Ev1l0rd Correct, j'ai ajouté cela à ma réponse.
Byte Commander
2
Une autre différence importante, et un cas d'utilisation de apt-getou aptitude, est qu'ils se souviennent si un package a été installé manuellement (spécifiquement demandé), ou s'il a été installé pour répondre à une dépendance. De cette façon, lorsque vous supprimez plus tard un package, ils sont capables de supprimer automatiquement (ou du moins de vous parler) des packages qui ont été "installés automatiquement et ne sont plus nécessaires". Si vous avez installé chaque package avec, dpkgvous devez vous souvenir et supprimer manuellement non seulement votre package, mais toutes ses dépendances (en supposant que rien d'autre ne dépend d'eux).
Benjamin Staton
1
@BenjaminStaton Eh bien, comme peu importe les dpkg -idépendances, tout ce qui est installé avec lui est bien sûr installé "manuellement".
Byte Commander