Question Comment installer les packages .deb locaux avec apt-get


Existe-t-il un moyen d’installer des packages de stockage sur votre disque dur avec apt-get, comme apt-get install ./package.deb?

Sinon, comment gérer les dépendances de manière très simple?


128
2017-10-07 08:02


origine




Réponses:


habituellement je fais dpkg -i <deb file>, il échouera en disant qu'il a besoin de dépendances. Après cela, quand vous faites un apt-get update il va dire à la fin quelque chose comme "les dépendances sont prêtes à être installées" je pense qu'il conseille alors d'utiliser apt-get install -f.

Une fois cela fait, j'utilise dpkg -i encore.

J'ai bien travaillé ces dernières années.

edit: regarder un peu plus loin, apparemment un outil appelé gdebi peut le faire comme gdebi [deb file].


109
2017-10-07 08:19



Merci j'ai fait la même chose par "erreur" dpkg puis apt-get install -f et ça a fonctionné. - Louis
gdebi est travaillé pour moi, et le plus simple que j'ai vu jusqu'à présent. - ctrl-alt-delor


Sirex l'a plus ou moins correct, mais sa réponse n'est pas claire. Je viens de résoudre ce problème, alors voici ce que j'ai fait:

sudo dpkg -i /path/to/filename.deb

Si cela échoue avec un message sur le paquet en fonction de quelque chose qui n’est pas installé, vous pouvez probablement le réparer si vous exécutez

sudo apt-get -f install

Cela installera les dépendances (en supposant qu'elles sont disponibles dans les repos que votre système connaît) ET le paquet que vous aviez à l'origine demandé à installer ('f' est l'option 'fix' et 'y' est le 'supposer oui aux invites' ou 'ne me demandez pas si ça va, installez-le déjà' option - très utile pour les installations silencieuses par script). Sur le système sur lequel j'étais, il n'y avait plus besoin de lancer dpkg (Ubuntu lucid 10.04).

Je l'ai trouvé intéressant que si vous laissez le -f lorsque vous exécutez sudo apt-get install, il répertoriera votre package comme n'étant pas configuré en raison d'une dépendance non résolue et suggère utilement: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Modifier:

Si vous voulez installer sans avoir à répondre "y" à toutes les questions, vous pouvez ajouter le y modificateur comme je l'avais initialement inclus: sudo apt-get -fy install. Cependant, un commentateur a souligné qu'apt va parfois vous suggérer de désinstaller tout votre environnement de bureau. Je faisais ce travail sur une machine virtuelle et je n'avais pas ce problème, mais cet article a été mis à jour pour refléter un peu plus de prudence.


54
2018-01-16 20:21



Si tous les fichiers de paquetage se trouvent déjà dans un répertoire, y a-t-il un moyen de dire qu’il s’agit d’un nouveau dépôt, alors je n’aurai pas à forcer l’installation de quelque chose sans dépendances? - Berry Tsakala
Je suis désolé, mais je ne sais pas. Je suggère de demander cela comme une autre question de haut niveau. - Akrikos
Bizarre étrange que cela soit nécessaire. Sur raspian, cela nécessitera sudo (pour dpkg et apt-get): sudo dpkg -i mypackages.deb, etc. - Brent Faust
Accès root @Rubistro requis sur tous les systèmes. Je suppose que les réponses supposent que ces commandes sont exécutées par root (par exemple, à partir d’un shell racine interactif ou d’un script qui s’exécute en tant que root). - Amos Shapira
Pour toi bien, fais ne pas ajouter le -y option. Il est assez courant que, par exemple, vous puissiez désinstaller tout votre environnement de bureau si vous essayez ceci avec le mauvais paquet au mauvais moment (au moins sur Debian). - oseiskar


Vous pouvez également installer le fichier .deb en utilisant gdebi. Exécutez les commandes ci-dessous pour installer gdebi,

sudo apt-get install gdebi-core

Installer les paquets .deb avec gdebi,

sudo gdebi /path/to/filename.deb

Il corrige également les dépendances.


46
2018-01-07 17:58



Notez que gdebi ne prend qu'un seul argument et silencieusement laisse tomber le reste sur le sol. Cela signifie que si vous installez plusieurs debs en même temps (peut-être parce qu'elles dépendent les unes des autres), vous devrez élaborer avec soin gdebi les commandes qui leur permettent de s'installer. imo cette moitié défait le but de gdebi, mais vous pouvez toujours le trouver utile pour un seul fichier - Anthony Sottile
@Anthony alors find -name *.deb -exec gdebi {} \; - jjmontes
@jjmontes qui ne fonctionneront que si les interdépendances sont en ordre alphabétique, ce que je parie est assez rare - Anthony Sottile
J'ai suivi cette freesoftwaremagazine.com/articles/ (bug que le repo local devait être à / var / www / html / debs) et synaptic continuait d'essayer de télécharger à distance, même sans internet, donc gdebi fonctionnait bien avec le repo local! aussi, les fichiers .deb devaient être chmod +r *.deb - Aquarius Power


Oui, la commande que vous avez proposée est correcte.

sudo apt-get install ./package.deb

va installer le paquet que vous avez obtenu d'une autre source que APT et utiliser simultanément les capacités APT pour résoudre ses dépendances automatiquement. Malheureusement, ceci apt-get fonctionnalité n'est pas documentée dans le page de manuel.

Voir https://askubuntu.com/a/769542/250300 pour plus de détails.


14
2017-08-26 07:13



Cela aurait dû être la réponse acceptée. - Peter