web-dev-qa-db-fra.com

Obtenir les dépendances du paquet .deb pour un ordinateur Ubuntu hors ligne sous Windows

En gros, je veux "télécharger" en lots un fichier .deb et toutes ses dépendances en même temps sur une machine Windows 7 (sur laquelle je n'ai pas d'accès administrateur, c'est un ordinateur public.) J'ai vu beaucoup de correctifs basés sur Ubuntu qui besoin terminal et apt, je demande comment faire cela sur Windows. (Je ne sais pas si cette question convient, mais je n'ai trouvé nulle part ailleurs où elle pourrait aller.)

J'ai essayé Keryx et Sushi-huh d'essayer de récupérer les paquetages et leurs dépendances, mais ceux-ci nécessitent Python. Python ne peut pas être installé normalement sans l'autorisation de l'administrateur. (Remarque: je pense avoir déjà vu les programmes bundle python afin qu'ils puissent fonctionner sans l'installer dans c :, cette solution est-elle possible? Google ne résout pas le problème)

Si quelqu'un veut savoir, j'essaie de télécharger Krita et Blender pour Ubuntu 12.10/AMD64

J'ai été en mesure de télécharger manuellement des fichiers .deb uniques et des dépendances jusqu'à 38 paquets dépendants, mais ces 38 paquets dépendent ensuite d'autres paquets. Il est navrant de ne pas avoir un moyen de le faire automatiquement sous Windows.

* Modifier Désolé, j'ai oublié de préciser que mon ordinateur personnel sous Ubuntu 12.10 est actif et que l'ordinateur public que je télécharge est Windows 7.

6
Riskii

Vous pouvez générer un fichier avec script de téléchargement avec synaptic, sélectionnez vos packages et cliquez sur "Fichier -> Générer un script de téléchargement de paquet", pour en savoir plus sur buntu/PackageDownloadScript , générez un fichier du type:

#!/bin/sh
wget -c http://ftp.usf.edu/pub/ubuntu/pool/universe/i/ibm-3270/3270-common_3.3.10ga4-2build2_AMD64.deb

remove #!/bin/sh et wget -c pour obtenir uniquement les URL, et avec un nouveau fichier que vous pouvez télécharger dans n'importe quel système d'exploitation, vous pouvez utiliser dans Windows 7 wget for windows

6
white-shy-guy

Je devais faire cela l'autre jour; d'abord, courez

$ apt-get install -y (yourpackage) --print-uris > dependencies

Vous n'avez pas besoin des privilèges Sudo pour le faire, car rien n'est installé.

En utilisant votre éditeur de texte préféré, vous pouvez ensuite supprimer les premières lignes du fichier dependencies qui ressemblent à ceci:

 Lecture des listes de paquets ... Terminé 
 Création d'un arbre de dépendance 
 Lecture des informations d'état ... Terminé 
 Les packages supplémentaires suivants seront installés: 
 ncurses-term ssh-import-id 
 Paquets suggérés: 
 rssh molly-guard openssh-blacklist liste noire openssh-blacklist-extra monkeysphere 
 Les nouveaux paquets suivants seront installés 
 ncurses-term openssh-server ssh-import-id 
 0 mis à niveau, 3 nouvellement installés, 0 à supprimer et 26 non mis à niveau. 
 Besoin de disposer de 771 ko d'archives. 
 Après cette opération, 3 056 Ko d'espace disque supplémentaire seront utilisés. 

puis utilisez sed pour supprimer le contenu inutile qui ne vous laissera que les URL:

$ sed -i 's/ .*//' "dependencies"

et enfin utiliser wget pour télécharger toutes ces dépendances

$ wget -i dependencies

5
jackweirdy

J'ai utilisé apt-cache depends packagepour obtenir tous les paquets requis dans tous les cas si le sont déjà installé sur le système ou non. Donc cela fonctionnera toujours correctement.
Étant donné que la commande apt-cache fonctionne différemment, vous devez essayer cette commande sur votre système et l'adapter. apt-cache dépend de votre paquet
Sur un système anglais, vous obtenez:

$ apt-cache depends yourpackage
node
  Depends: libax25
  Depends: libc6


Sur un système allemand, vous obtenez: noeud

  Hängt ab von: libax25
  Hängt ab von: libc6


La version anglaise avec le terme:
"Depends:"
Vous devez changer le terme "yourpackage" par votre souhait deux fois dans cette commande, prenez-en soin!

$ Sudo apt-get --print-uris --yes -d --reinstall install yourpackage $(apt-cache depends yourpackage | grep "  Depends:" |  sed 's/  Depends://' | sed ':a;N;$!ba;s/\n//g') | grep ^\' | cut -d\' -f2 >downloads.list


Et la version allemande avec le terme:
"Hängt ab von:"
Ce texte est utilisé deux fois dans cette commande, si vous voulez l’adapter à votre langue, prenez-en soin!
Vous devez changer le terme "yourpackage" par votre souhait deux fois dans cette commande, prenez-en soin!

$ Sudo apt-get --print-uris --yes -d --reinstall install yourpackage $(apt-cache depends yourpackage | grep "Hängt ab von:" |  sed 's/  Hängt ab von://' | sed ':a;N;$!ba;s/\n//g') | grep ^\' | cut -d\' -f2 >downloads.list


Vous obtenez la liste des liens dans downloads.list
Consultez la liste, allez dans votre dossier et lancez la liste:

$ cd yourpathToYourFolder

$ wget --input-file downloads.list


Tous vos paquets requis sont dans:

$ ls yourpathToYourFolder
3
michbau