J'ai un ami qui a un ordinateur qui n'est pas connecté à l'Internet. Existe-t-il un moyen d'installer facilement un logiciel hors ligne ?
Réponses
Trop de publicités?La première chose que vous pouvez faire avant l'installation d'un paquet hors ligne est de mettre à jour le ou les référentiels dont vous avez besoin. Vous devriez certainement comme une mise à jour du Principal (pour les logiciels libres et officiellement supportés).
Les applications que vous cherchez à installer peuvent se trouver dans d'autres dépôts comme le Univers (gratuit mais pas de support officiel), ou encore le Restreint (non libre, supporté officiellement), ou la version Multivers (non libre, pas de support officiel). Il se peut donc que vous ayez besoin d'un ou plusieurs de ces dépôts.
La première étape du processus consiste donc à créer un référentiel hors ligne mis à jour, puis à générer la liste des "to-download" et à les télécharger, et enfin l'insatllation. Voici comment cela se passe : fuente
-
Entrez l'url : http://archive.ubuntu.com/ubuntu/dists/ nom de la suiteCodename donde nom de la suiteCodename doivent être substitués de manière appropriée disent précis pour Ubuntu 12.04 (Precise Pangolin) [ou utopique pour Ubuntu 14.10 (Licorne utopique)] pour que vous soyez maintenant en http://archive.ubuntu.com/ubuntu/dists/precise/ ou tout autre spécifique à la suite que vous avez.
-
Télécharger les fichiers Communiqué de presse , Release.gpg et le Contenu- ????.gz pour votre architecture (c'est-à-dire Contenu-i386.gz (en supposant que votre architecture est i386). Sauvegardez ces trois fichiers dans un répertoire/dossier nommé d'après votre nom d'utilisateur. nom de la suiteCodename ( précis pour Pangolin précis).
-
Ensuite, vous devrez effectuer les opérations suivantes pour chacun des référentiels (parmi les suivants Principal, Univers, Restreint, Multivers ) que vous souhaitez.
a. Allez dans le répertoire du référentiel cible, par exemple. principal et ensuite dans le répertoire d'architecture, par exemple binaire-i386 pour que tu sois dans http://archive.ubuntu.com/ubuntu/dists/suiteCodename/repositoryName/binary-????/
b. télécharger le contenu Packages.bz2, Packages.gz, Release et les sauvegarder dans un répertoire nommé d'après le nom du dépôt, par exemple. principal et placez ce répertoire dans le répertoire précédemment créé nom de la suiteCodename répertoire.
c. répétez a. et b. pour chacun des référentiels que vous voulez.
-
Enfin, vous devriez avoir une structure semblable à celle-ci :
precise Contents-i386.gz main binary-i386 Packages.bz2 Packages.gz Release.txt Release.gpg Release.txt universe binary-i386 Packages.bz2 Packages.gz Release.txt
(en supposant que votre suiteCodename = précise, que l'architecture est i386, et que vous avez besoin des dépôts main et universe)
-
Ensuite, après avoir téléchargé les référentiels mis à jour, vous placerez les fichiers téléchargés disposés selon une structure appropriée (comme indiqué ci-dessus) dans un répertoire de l'ordinateur hors ligne cible. Sauvegarder la structure du répertoire
precise
dans un dossier nommé Dépôt hors ligne/distes/précises dans votre maison d'utilisateur (~/offlineRepository/dists/precise
) ou n'importe où ailleurs (/home/offlineRepository/dists/precise
en utilisant sudo previleges dans un terminal ou avec le gestionnaire de fichiers Nautilus lancé avecgksu nautilus
; assurez-vous également que vous disposez des bonnes autorisations pour la structure copiée). Les informations de votre référentiel hors ligne seront alors prêtes à être utilisées. -
Ajouter le référentiel local dans votre liste des sources . Avec Centre logiciel Ubuntu Allez sur Edition -> Sources du logiciel ... -> Autres logiciels -> Ajouter... et ensuite dans le champ pour la ligne APT, ajouter :
deb file:///home/offlineRepository precise main universe
et cliquez sur Ajouter une source . Veillez à modifier la ligne en fonction de la structure de votre répertoire/fichier et de votre suite. Ensuite, rechargez les paquets ou exécutezsudo apt-get update
dans un terminal. -
Maintenant, avec les dépôts mis à jour (et probablement aussi les dépôts nouvellement ajoutés), vous pouvez vider la liste des urls pour les paquets et les dépendances.
J'emprunte la ligne de code suivante à l'un des messages précédents de askUbuntu :
sudo apt-get install packageName --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
Par exemple, pour installer le gestionnaire de paquets Synaptic :
sudo apt-get install synaptic --print-uris | grep -o '\'http.*\' | tr "\'" " " > /tmp/package-list.txt
(Vous pouvez également générer des listes de mise à jour d'une manière similaire).
La liste générée peut être utilisée pour télécharger le paquet et l'ensemble des dépendances sur un ordinateur en ligne. Créez un script pour télécharger ou utilisez la liste pour un téléchargement par lot dans certains gestionnaires de téléchargement. (Notez également que le fichier texte généré utilise la terminaison de ligne d'Unix/Linux, et que vous pourriez vouloir changer pour Windows). Il existait auparavant une méthode plus simple pour cela quand Gestionnaire de paquets Synaptic était une application par défaut dans Ubuntu.
-
Enfin dans le système cible, vous pouvez installer les paquets avec
dpkg
ou par tout autre moyen.
Obtenir la base de données des paquets mis à jour, y compris les mises à jour de sécurité
La structure suivante, en plus de l'explication ci-dessus, devrait vous donner une idée :
/opt/offlineRepoList/ dists precise Contents-i386.gz main binary-i386 Packages.bz2 Packages.gz Release.txt Release.gpg Release.txt universe binary-i386 Packages.bz2 Packages.gz Release.txt precise-security Contents-i386.gz main binary-i386 Packages.bz2 Packages.gz Release Release Release.gpg universe binary-i386 Packages.bz2 Packages.gz Release precise-updates Contents-i386.gz main binary-i386 Packages.bz2 Packages.gz Release Release Release.gpg universe binary-i386 Packages.bz2 Packages.gz Release
Si vous n'avez aucune connexion à l'Internet et que vous n'avez personne à proximité où vous pouvez vous connecter à l'Internet, il existe une option non mentionnée jusqu'à présent : demandez à quelqu'un d'envoyer les fichiers sources par la poste.
Vous pouvez obtenir le système d'exploitation Ubuntu complet par courrier en payant un DVD. De la même manière, vous pouvez demander à un ami en ligne de vous envoyer les fichiers DEB ou même les fichiers sources d'un logiciel comme VLC. Cependant, il peut être intéressant de demander à quelqu'un d'envoyer un DVD complet avec tous les paquets. Ainsi, vous pourrez l'installer à partir de ce DVD.
J'ai un petit Python script qui peut être exécuté sur Windows qui analyse le site web des paquets ubuntu pour trouver l'arbre de dépendance et télécharger tous les paquets nécessaires + faire la vérification de la somme de contrôle.
Cela peut évidemment télécharger plus que nécessaire, mais c'était la solution la plus simple pour moi.
https://gist.github.com/Zitrax/2bad212a3b0571357e1b
Tous les paquets téléchargés peuvent ensuite être installés avec dpkg -i E pkg\*
. Il évite la réinstallation des paquets déjà installés.
Utilisation :
usage: ubuntu-deps.py [-h] [-a ARCH] [-r RELEASE] [-m MIRROR] [-f FALLBACK] [-d DIRECTORY] dep [dep ...]
Download ubuntu dependencies
positional arguments:
dep The main/top package
optional arguments:
-h, --help show this help message and exit
-a ARCH, --arch ARCH The architecture to use (default: amd64)
-r RELEASE, --release RELEASE Ubuntu release (default: trusty)
-m MIRROR, --mirror MIRROR Mirror to use for download (default: http://no.archive.ubuntu.com/)
-f FALLBACK, --fallback FALLBACK Mirror to use when main mirror is not found (default:
http://security.ubuntu.com/)
-d DIRECTORY, --directory DIRECTORY Target directory (default: pkg)
Je suggère de personnaliser les CD Live et les installer.
Vous pouvez également télécharger les fichiers sur http://packages.ubuntu.com/ nom de fichier mais il faut aussi faire attention aux dépendances.
Il ne s'agit pas d'une réponse détaillée, mais à un niveau élevé, vous pouvez le faire :
- récupérer les paquets .deb souhaités (et en créer une liste) (inclure les paquets dont ils dépendent et qui ne sont pas déjà installés)
- créer une archive apt qui les contient
- copier l'archive apt sur un CD ou une clé USB
- insérer le CD ou la clé USB dans le système cible
- configurer apt sur le système cible pour inclure l'archive apt du CD ou de l'USB en tant que source
- installer les paquets de votre liste avec apt-get install (liste de pkgs)