Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/09/2005, à 16:40

martinclic

apt-get via un autre ordinateur, c'est possible !

Bonjour à tous,

c'est mon premier post ici d'apprenti pingouin.
J'essaie depuis quelque jour ubuntu, j'en suis ravi, mais j'ai été confronté à un problème simple et récurrent visiblement.
Effectivement, je n'ai pas le haut débit, mais un simple modem 56k. Faire une mise à jour du système, ou installer les multiples programmes que l'on souhaite s'avère totalement illusoire via apt dans ces conditions. Et évidemment comme tout le monde, des copains avec l'adsl me propose leur services...
Aprés avoir chercher, je vous propose la solution trouvée pour faire des mises à jour ou installer des programmes avec apt-get, en récupérant les fichiers nécessaire sur un autre poste, c'est possible. L'essentiel est tiré de la doc debian "apt-doc" chapitre "Using APT Offline".


* préliminaires
- On va quand même avoir besoin de se connecter sur l'internet pour récupérer plein d'informations. Or le seul moyen (du moins pour ce que j'ai trouvé) de se connecter aprés une installation vierge d'ubuntu, c'est par le menu Système->Administration->Réseau et de configurer le modem. Mais les performances sont catastrophiques... On va donc installer gnome-ppp.
- Les dépots ("adresses où sont stockées les programmes", pour les nouveaux comme moi) par défaut sont un peu juste, personnellement j'ai modifier la liste en suivant scrupuleusement les indications de http://fr.ubuntuguide.org/#repositories, sans ajouter les backports pour l'instant (les trois dernières lignes).
- donc connectez vous avec les performances médiocres, faites les modifications de la liste de dépots. Afin de  mettre à jour la liste des programmes disponibles, 2 solutions. Soit vous ouvrez un terminal (une console) et tapez "sudo apt-get update". Soit vous ouvrez synatic (Système->Administration->Gestionnaire de packets Synaptic) et vous cliquer sur Recharger. Attention, quand je dis que les performances sont déplorables, personnellement il m'a fallu 2 heure pour cette étape !
Vous pouvez enfin installé gnome-ppp, dans une console :

sudo apt-get gnome-ppp

Déconnectez vous, et vous pouvez dorénavant vous connectez via  Applications->Internet->Gnome PPP. Ouf, les perfs sont normales.


* Création d'un script utilisable par wget
Wget est disponible sur de multiples plateforme, MS windows compris, et gpl.
Toutes les commandes d'installation d'apt-get sont possible, par exemple "apt-get dist-upgrade" pour mettre à jour le système, "apt-get install gnome-ppp kubuntu-desktop apache" pour installer ces 3 programmes. Dans la suite je prendrai dist-upgrade comme exemple.

Toutes les commandes suivantes sont à faire avec les droits root, donc sudo, ou ouvrez une console root (Applications->Outils système->Terminal superutilisateur.

On crée un dossier :

#mkdir /disc

on se place dans ce repertoire

# cd /disc

vérification

#apt-get dist-upgrade

répondre non, mais vérifier qu'aucune erreur n'est renvoyée. On peut evidement mettre n'importe quelle commande compréhensible par apt-get à la place de dist-upgrade, par exemple "install bluefish".

un fichier temporaire :

#apt-get -qq --print-uris dist-upgrade > uris

si le fichier de script sera utilisé sur un système nix

#awk '{print "wget -a wget-script.log -O " $2 " " $1}' < uris > /disc/wget-script

si le fichier de script sera utilisé sur un système windows ou DOS (nommé en bat pour être directement executable sous win)

#awk '{print "wget -a wget-script.log -O " "\"" $2 "\" " $1}' < uris > /disc/wget-script.tmp

transformer les simples quotes en doubles pour windows
et echapper les '%' pour windows

#sed -e "s/'/\"/g" -e "s/%/%%/g" wget-script.tmp > wget-script.bat

on efface le fichier temporairement créé

#rm wget-script.tmp

* utilisation du script
Si l'autre ordinateur est un système nix, wget) est quasi surement installé, sinon installez le.
Si c'est un MS windows, la version (gpl) que j'ai récupéré est http://users.ugent.be/~bpuype/wget/
Si c'est un mac, certaine version de l'OS contienne wget, les plus récentes visiblement pas, mais j'ai trouvé   CocoaWget , gpl, plutôt léger, qui l'installe.

Récupérer le script généré et eventuellement wget, et copiés les sur l'autre ordinateur, dans un dossier vide.

Sous nix tapez dans une console :

sh -x ./wget-script

Sous MS fenetres, double-cliquer sur wget-script.bat, une console s'ouvre, elle se refermera toute seule quand les téléchargements seront finis.

Lorsque les téléchargements sont finis, un fichier wget-script.log a été créé. Vous pouvez y vérifier qu'il n'y a pas eu d'erreur (si il est trés long, faite une recherche de "error" et "failed" dans un éditeur de texte).

Vous gravez le tout, et vous retournez chez vous.


* installation différée
Une fois chez vous, copiez tous les fichiers dans /disc. 2 solutions pour installer le tous.

solution 1
copiez tous les fichiers dans le cache de apt

#cp /disc/* /var/cache/apt/archives/

et installez, sans être connecté :

#apt-get dist-upgrade

solution 2
indiquez à apt-get le cache provisoire :
il faut alors créer un dossier supplémentaire, sinon çà ne marche pas:

#mkdir /disc/partial
#apt-get -o dir::cache::archives="/disc/" dist-upgrade

solution 3
Oui, je sais j'ai dis 2, mais il y en a une autre.
copiez tous les fichiers dans le cache de apt

#cp /disc/* /var/cache/apt/archives/

et lancer synaptic. Choisir les mêmes programmes que ceux récupérés et appliquer. pour mettre à jour, c'est cliquer sur "Tout mettre à jour".


* une petite note
Entre le moment où vous générer le script et tant que vous n'avez pas installer ces programmes, ne mettez pas à jour la liste des programmes disponibles, c'est à dire ne faites pas de "apt-get update", ou ne rechargez pas les informations via synaptic, les programmes pourrait changer de version.

Ouf, c'est long à écrire, mais beaucoup moins à faire. Personnellement je préconise (mais c'est purement intuitif) de faire un dist-upgrade, d'installer, et de procéder à l'installation  de nouveaux programmes dans un second temps.
J'ai été soufflé par la puissance de apt-get, j'ai installé d'un coup 1 Go de programme compressés, sans erreur notable !!

* des sources.
installez apt-doc, et vous y trouverez '/usr/share/doc/apt-doc/offline.html'


* pour aller un peu plus loin

Vous aimeriez pouvoir choisir de nouveaux programmes via synaptic, parce que c'est plus pratique avec une description et tout, et procéder comme précédement quand même. Et vous avez raison.
Ouvrez synaptic, choisissez vos programmes, puis faites "Fichier->Enregistrer les selections sous..."
Appelons le fichier mesapps, et enregistrons le dans le dossier /disc
Puis dans une console, placer vous dans le repertoire :

#cd /disc
#awk '{print  $1}' < mesapps > mesapps.tmp
#(echo -n 'apt-get install '; sed ':a; /.$/N; s/\n/ /; ta' mesapps.tmp) > mesapps.sh

le fichier /disc/mesapps.sh contient simplement
'apt-get install appli1 appli2 appli3 ....'
Vous pouvez le lancer par

#sh mesapps.sh

Répondre non en vérifiant qu'il n'y a pas d'erreur
Puis ouvrez ce fichier dans éditeur de texte, modifier le pour qu'il ressemble à :
'apt-get -qq --print-uris install appli1 appli2 appli3 ... > uris'
Lancer ce nouveau fichier par sh, et continuer comme précédement.
A la fin, copier les fichiers récupérés sur l'autre ordinateur dans /var/cache/apt/archives/
Ouvrez synaptic, Fichier->Lire les sélections, choisir mesapps dans /disc. Cliquer sur appliquer.

Il doit également être posible de se servir de apt-get sans aucun accés internet, mais je n'ai pas chercher, ce n'était pas le but présentement.

Voilà, je m'excuse pour la longueur de ce post, mais j'ai tenté d'être assez clair pour des débutants comme moi. Merci aux pointus du forum qui auront eu la patience de lire ceci de me signaler d'eventuels erreurs, que je modifie le texte en conséquence.
Et si certains font ces manip' sur un mac, merci de signaler ce qui marche ou pas, que çà serve à d'autre.

En espérant que celà soit utile à certains.

Hors ligne

#2 Le 13/09/2005, à 13:36

benohite

Re : apt-get via un autre ordinateur, c'est possible !

Bonjour,

Chapeau bas, je suis soufflé par ce 1er post !

J'apporte juste un petit grain de sable dans cet immense tutoriel.
Tu peux utiliser l'option simulation d'apt qui te permet de tester avant d'installer/supprimer, exemple:

sudo apt-get -s install paquet1 paquet2 paquet3

Ca t'évitera de répondre non à chaque question pour voir si il n'y a pas d'erreur (surtout dans la cas où tu installes beacoup de paquets).


Ben


You are legally entitled and encouraged to copy, share and redistribute this CD for yourself and your friends. Share the spirit of Ubuntu !

Hors ligne

#3 Le 14/09/2005, à 15:51

martinclic

Re : apt-get via un autre ordinateur, c'est possible !

Je m'insurge wink
sudo apt-get -s install paquet1 paquet2 paquet3 ne me réclame qu'un seul et unique non, et non pas trois.

Mais effectivement l'option que tu proposes, lui n'en demande aucun. Merci de me faire remarquer cette option j'étais passé à côté. Je t'explique pas le nombre de man que j'ai tapé depuis quelques jours..:lol:

Le seul avantage que je trouve à ne pas la mettre, est que dans ce cas on est informé de la taille des téléchargements.

Hors ligne