Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriel:comment_ajouter_des_paquets_sans_internet [Le 16/01/2009, 07:49] YannUbuntu titre |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>paquet tutoriel installation_logiciel}} | ||
- | ---- | ||
- | |||
- | |||
- | |||
- | ====== Comment ajouter des paquets sans internet ? ====== | ||
- | |||
- | |||
- | Ce tutoriel est destiné à tous ceux qui ont installé Ubuntu sur un ordinateur qui n'a pas de connexion à internet, mais qui aimeraient bien néanmoins maintenir leur système à jour et installer les applications qui leur manquent. | ||
- | |||
- | <note warning>Ce tutoriel n'est pas adapté aux [[:debutant|débutants]]. Il vous faudra apprendre a utiliser les [[:tutoriel:console_ligne_de_commande|lignes de commandes]].</note> | ||
- | |||
- | Rappelons rapidement que l'installation de nouvelles applications se fait par l'intermédiaire de | ||
- | [[:installation_logiciel|l'installation de paquets]]. Ceux-ci sont téléchargeables à partir de [[:depots|dépots]] dont les adresses sont listées dans votre fichier [[:sources.list|sources.list]]. | ||
- | |||
- | |||
- | **L'ensemble des méthodes listées ci-dessous suppose que vous pouvez avoir accès à un ordinateur disposant d'une connexion internet haut débit sur lequel vous n'avez pas les droits de [[:sudo|sudo]], et d'une clé USB (1GO serait confortable).** Ce tuto s'adressant plutôt aux [[:debutant|débutants en linux]], nous serons assez explicites, cependant si vous ne comprenez pas certaines [[:tutoriel:console_ligne_de_commande|lignes de commandes]] à taper dans la [[:console|console]], reportez vous aux pages correspondantes. Vous pouvez aussi consulter [[:tutoriel:learn_unix_in_10_minutes|le guide pour apprendre linux en 10 minutes]]. Précisons enfin que pour chaque [[:tutoriel:script_shell|script]] que vous trouverez dans ce tuto, vous devrez après l'avoir enregistré taper | ||
- | chmod +x nom_du_script | ||
- | dans un | ||
- | [[:terminal|terminal]] pour pouvoir l'exécuter ensuite. Notez les phrases commençant par 'je', synonymes de "ça n'engage que moi" ;=) | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ===== Mise à jour de votre sources.list. ===== | ||
- | |||
- | Si vous venez d'installer Ubuntu, votre sources.list est sans doute bien succinct, pour le vérifier, ouvrez simplement un terminal sur votre ordinateur et tapez : | ||
- | <code>cat /etc/apt/sources.list</code> | ||
- | Si vous avez juste trois lignes non commentées (ne commençant pas par un #), vous n'avez que les dépôts paramétrés à l'installation. | ||
- | |||
- | Le topic [[http://forum.ubuntu-fr.org/viewtopic.php?id=147793|Generateur de sources.list en Français]] du forum est dédié à sa mise à jour. Il aiguille vers un [[http://www.sourceslist.org/|Générateur]] très pratique. | ||
- | <note tip>Depuis quelques mois, ce générateur est en maintenance. Heureusement un [[http://forum.ubuntu-fr.org/viewtopic.php?id=237550|générateur de secours]] a été mis en place, dont voici un [[http://sources-list.ubuntu-fr-secours.org/|lien direct]]. Pour savoir à quoi correspond chaque dépot, se reporter à [[:depots#diverses_branches|la page concernée]].</note> | ||
- | Copiez le script qu'il vous retourne dans un fichier texte sur votre clé USB. Examinons ce script : il y a par exemple des blocs de texte comme celui-ci : | ||
- | |||
- | <code>######################################### | ||
- | ### Depot Ubuntu | ||
- | |||
- | #section: Ubuntu Gutsy Updates | ||
- | deb http://ubuntu.osuosl.org/ gutsy-updates main | ||
- | deb http://ubuntu.osuosl.org/ gutsy-updates restricted | ||
- | deb http://ubuntu.osuosl.org/ gutsy-updates universe | ||
- | deb http://ubuntu.osuosl.org/ gutsy-updates multiverse | ||
- | |||
- | #section: Ubuntu Gutsy 7.10 | ||
- | deb http://ubuntu.osuosl.org/ gutsy main | ||
- | deb http://ubuntu.osuosl.org/ gutsy restricted | ||
- | deb http://ubuntu.osuosl.org/ gutsy universe | ||
- | deb http://ubuntu.osuosl.org/ gutsy multiverse</code> | ||
- | |||
- | ceux-ci ne poseront pas de problème, car aucune clé de sécurité n'est requise. Par contre des blocs du type celui là : | ||
- | |||
- | <code>######################################### | ||
- | ### Depot Medibuntu | ||
- | ## KEY GPG: wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add - | ||
- | |||
- | #section: Medibuntu packages for Ubuntu Gutsy 7.10 | ||
- | deb http://fr.packages.medibuntu.org/ gutsy free</code> | ||
- | |||
- | vont poser problème car une clé de sécurité est requise pour les activer. Vous ne pouvez bien sûr pas exécuter telle quelle la commande donnée. Il va falloir procéder en deux fois. | ||
- | |||
- | |||
- | === sur l'ordinateur relié à internet === | ||
- | |||
- | tout d'abord ouvrez un terminal et placez vous sur votre clé USB : typiquement | ||
- | <code>cd /media/disk</code> | ||
- | méfiez vous quand même, le nom des clés USB n'est pas fixe. Si vous avez un doute, tapez | ||
- | <code>ls /media/</code> | ||
- | Ensuite dans le cadre de cet exemple, il faut taper : | ||
- | <code>wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- >> medibuntu</code> | ||
- | procédez de même pour les autres clés. | ||
- | |||
- | |||
- | === sur votre ordinateur === | ||
- | |||
- | ensuite rentrez chez vous. Copier le dossier avec vos clés quelque par sur le disque dur, ouvrez un terminal et placez vous dans ce dossier puis tapez : | ||
- | <code>cat medibuntu | sudo apt-key add -</code> | ||
- | et procédez de même pour les autres clés. | ||
- | |||
- | Vous pouvez maintenant mettre à jour votre fichier sources.list. Les commandes suivantes sont bien sûr à effectuer séparément et successivement. | ||
- | <code>#on se place dans le bon répertoire | ||
- | cd /etc/apt/ | ||
- | # on effectue à tout hasard une copie de sauvegarde du fichier actuel | ||
- | sudo cp sources.list sources.list.bak | ||
- | # on ouvre le fichier actuel avec les droits de modification | ||
- | sudo gedit sources.list</code> | ||
- | Vous pouvez maintenant coller dedans le contenu du sources.list que vous avez obtenu par le générateur. N'oubliez pas d'enregistrer. | ||
- | |||
- | <note help>Vous êtes perdu? Vous pouvez également consulter le tutoriel [[tutoriel:comment_modifier_sources_maj|Comment modifier les sources de mise à jour]] pour davantage de détails sur le système de mise à jour.</note> | ||
- | |||
- | ===== Mise à jour de vos listes de paquets ===== | ||
- | |||
- | Maintenant que vous avez mis à jour votre fichier sources.list, vous allez avoir accès à bien plus de paquets. Encore faudrait-il que votre [[:gestionnaire_de_paquets|gestionnaire de paquets]] en connaisse l'existence. Quelqu'un qui à accès à internet se contenterait d'un clic sur recharger les listes de paquets dans [[:synaptic|synaptic]] ou de la commande : | ||
- | <code>sudo apt-get update</code> | ||
- | Je connais trois moyens de mettre les listes à jour sans internet : | ||
- | |||
- | |||
- | |||
- | ==== Le bricolage fastidieux (et pas très propre) ==== | ||
- | |||
- | A tester si rien d'autre ne marche. Cependant il est bon de l'exposer car ça permet de voir ce qui se passe vraiment. | ||
- | ouvrez un terminal et tapez : | ||
- | <code>sudo apt-get update -qq --print-uris >> toto.txt && gedit toto.txt</code> | ||
- | dans le fichier qui s'ouvre, vous trouverez notamment une url par ligne. Enrgistrez le fichier sur votre clé, allez sur l'ordinateur (linux) où vous avez internet, et pour chaque url, tapez | ||
- | <code>wget <url></code> | ||
- | puis ramenez les fichiers téléchargés sur votre ordinateur. Placez vous dans le dossier où vous avez téléchargé (on suppose dans les prochaines commandes que ce sont les seuls fichiers .gz du répertoire). Comme précédemment afin d'alléger la présentation de la page, voici les commandes successives en un seul bloc. | ||
- | |||
- | <code> | ||
- | #on copie les paquets dans le bon répertoire | ||
- | sudo cp *.gz /var/lib/apt/lists/ | ||
- | #on se place dans ce répertoire | ||
- | cd /var/lib/apt/lists/ | ||
- | #on dézippe les listes de paquets | ||
- | sudo gunzip *.gz | ||
- | </code> | ||
- | |||
- | A ce stade cela pourrait marcher, mais vous allez avoir des problèmes en lançant l'utilitaire de mise à jour qui va vous dire qu'il n'a pas réussi à dévérouiller les fichiers. C'est pourquoi il faut ajouter : | ||
- | <code>sudo chmod 755 *_Packages</code> | ||
- | Vos listes sont désormais à jour. | ||
- | |||
- | |||
- | ==== Un bricolage un peu plus poussé ==== | ||
- | Sur le forum bertrand0 m'a obligeamment fournit les deux scripts shell suivants : | ||
- | |||
- | === à enregistrer sous le nom <gen-myupdate-download> === | ||
- | |||
- | <code>#!/bin/bash | ||
- | MYSH=myupdate-download | ||
- | MYTB2=myupdate.tar.bz2 | ||
- | cat > $MYSH << EOF | ||
- | #!/bin/bash | ||
- | TMPDIR="\$(mktemp -dt)" || exit 1 | ||
- | trap 'rm -rf "\$TMPDIR"' EXIT | ||
- | |||
- | OLDDIR="\$PWD" | ||
- | cd "\$TMPDIR" | ||
- | EOF | ||
- | apt-get update -qq --print-uris \ | ||
- | | awk '!/\.bz2/{print "wget",$1,"-O",$2};\ | ||
- | /\.bz2/{sub("\.bz2'\''","",$1);\ | ||
- | printf "(wget %s.bz2'\'' -O- | bunzip2 > %s) \ | ||
- | || (wget %s.gz'\'' -O- | gunzip > %s) \ | ||
- | || wget %s'\'' -O%s\n",$1,$2,$1,$2,$1,$2}' >> $MYSH | ||
- | |||
- | echo "tar --mode 644 --owner root --group root -cjf \"\$OLDDIR/$MYTB2\" *" >> $MYSH | ||
- | chmod 755 $MYSH</code> | ||
- | |||
- | === à enregistrer sous le nom <myupdate-copy> === | ||
- | |||
- | <code>#!/bin/bash | ||
- | MYTB2=my-update.tar.bz2 | ||
- | [ -f "$MYTB2" ] || exit 1; | ||
- | OLDDIR="$PWD" | ||
- | cd /var/lib/apt/lists | ||
- | tar -xjf "$OLDDIR/$MYTB2" | ||
- | touch /var/lib/apt/periodic/update-stamp</code> | ||
- | |||
- | . | ||
- | |||
- | **Procédure d'utilisation :** | ||
- | |||
- | i) sur l'ordinateur qui n'a pas internet : | ||
- | <code>sudo bash gen-myupdate-download</code> | ||
- | ce script crée un autre script nommé <myupdate-download> à emporter sur la machine (linux) reliée à internet. | ||
- | |||
- | ii) sur l'ordinateur qui a internet : | ||
- | <code>./myupdate-download</code> | ||
- | Ce script télécharge les listes dans un fichier nommé <myupdate.tar.bz2> qu'il faut ramener sur son ordi. | ||
- | |||
- | iii) à nouveau sur l'ordinateur qui n'a pas internet : | ||
- | On peut alors exécuter le troisième script dans le même dossier, bien sûr que celui où se trouve myupdate.tar.bz2 : | ||
- | <code>sudo bash myupdate-copy</code> | ||
- | ... et vos listes sont à jour :D. | ||
- | |||
- | |||
- | |||
- | |||
- | ==== Utiliser le super script de Skippy le grand gourou ==== | ||
- | |||
- | Ce script permet à la fois la mise à jour des listes et le téléchargement des paquets, il télécharge même les clés de sécurité. Il est particulièrement utile dans le cadre des mises à jour du système. Skippy l'avait autrefois développé et avait eu l'obligeance de mettre à la disposition de tous, et même s'il ne s'en sert plus, il a eu la gentillesse de le moderniser et de le débugger jusqu'à ce qu'il atteigne son efficacité actuelle. Voici le [[http://forum.ubuntu-fr.org/viewtopic.php?id=79113&p=4|lien vers le forum]] où poster si vous avez un souci. | ||
- | |||
- | Le script à enregistrer sous le nom de <apt-off> est un peu long pour le poster ici, vous le trouverez [[http://forum.ubuntu-fr.org/viewtopic.php?id=79113|ici]], en tête du topic. | ||
- | |||
- | Pour l'utiliser dans le but de mettre à jour les listes de paquets, il suffit de supprimer (traduction : déplacer dans un dossier de sauvegarde) les listes de paquets déjà présentes dans votre dossier /var/lib/apt/lists/, c'est à dire tous les fichiers textes sauf lock. | ||
- | |||
- | <code>#creation du dossier de sauvegarde dans le home | ||
- | mkdir save | ||
- | #sauvegarde des listes | ||
- | cp /var/lib/apt/lists/*_Packages save/ | ||
- | #on se place dans le répertoire | ||
- | cd /var/lib/apt/lists/ | ||
- | #suppression des listes | ||
- | sudo rm -f *_Packages</code> | ||
- | |||
- | Si vous n'êtes pas à l'aise avec la console, vous pouvez préalablement naviguer jusqu'à votre répertoire /var/lib/apt/lists/ et sélectionner les fichiers à la souris puis les coller dans le dossier de sauvegarde. | ||
- | |||
- | <note warning>Attention!! : un utilisateur pressé pourrait être tenté de remplacer les deux dernières lignes par la simple commande | ||
- | <code>sudo rm -f /var/lib/apt/lists/*_Packages</code> | ||
- | Je vous le déconseille très vivement. En effet si jamais vous faites des erreurs dans la commande comme par exemple glisser un espace entre le / et le var, il y a de grands risques d'endommager gravement votre système. | ||
- | </note> | ||
- | Bien maintenant placez vous sur votre clé USB, et tapez : | ||
- | <code>./apt-off -g dist-upgrade</code> | ||
- | le script se lance puis affiche un avertissement vous invitant à exécuter la commande | ||
- | <code>./apt-off -c</code> | ||
- | sur un ordinateur disposant d'internet. Remarquez qu'un dossier config_files s'est créé. Vous devez l'avoir avec vous sur l'ordinateur relié à internet. Effectuez y la commande. Normalement, des téléchargements devraient s'afficher dans le terminal. Revenez sur votre ordinateur (toujours avec le script et le dossier config_files qui s'est un peu rempli) et tapez à nouveau | ||
- | <code>./apt-off -g dist-upgrade</code> | ||
- | Ceci devrait mettre à jour vos listes. Remarquez aussi qu'un fichier offline packages s'est créé. C'est ce fichier qui va permettre la mise à jour de votre système. | ||
- | |||
- | |||
- | |||
- | ===== Mise à jour du système et installation de nouveaux paquets ===== | ||
- | |||
- | Je connais 5 façons de faire. Finissons tout d'abord les explications sur apt-off. | ||
- | |||
- | ==== Apt-off : la suite ==== | ||
- | |||
- | Que vous ayez exécuté la mise à jour des listes avec [[http://forum.ubuntu-fr.org/viewtopic.php?id=79113|apt-off]] ou non importe peu du moment qu'elles sont à jour. | ||
- | Enregistrez apt-off sur votre clé USB et placez vous dans le répertoire. Puis tapez | ||
- | <code>#si vous voulez installer un paquet | ||
- | ./apt-off -g nom_du_paquet | ||
- | #si vous voulez mettre à jour le système | ||
- | ./apt-off -g dist-upgrade | ||
- | </code> | ||
- | |||
- | notez l'apparition du fichier <offline.packages> qui va contenir toutes les commandes de téléchargement. Vous pouvez bien sûr demander plusieurs paquets à la fois, ou encore exécuter deux commandes successives, qui vont se concaténer, sauf si à la question du script, vous optez pour l'écrasement. Allez sur l'ordinateur relié à internet et tapez la commande | ||
- | <code>./apt-off -d</code> | ||
- | vous devez avoir suffisamment de place sur votre clé bien sûr, surtout si vous mettez à jour le système. Un dossier deb se crée dans le répertoire courant qui contient tous les paquets téléchargés. Revenez sur votre ordinateur personnel et exécutez | ||
- | <code>#si vous vouliez installer un paquet | ||
- | ./apt-off -x nom_du_paquet | ||
- | #si vous vouliez mettre à jour le système | ||
- | ./apt-off -x dist-upgrade</code> | ||
- | fin de la pocédure avec apt-off. | ||
- | <note tip>Notez que si vous avez un doute sur une option, vous pouvez taper | ||
- | <code>#pour afficher l'aide de apt-off | ||
- | ./apt-off -h | ||
- | #pour afficher juste les options | ||
- | ./apt-off -o</code> | ||
- | et appuyez sur <q> pour sortir de ces écrans.</note> | ||
- | |||
- | |||
- | |||
- | ==== Utiliser Synaptic ==== | ||
- | |||
- | Cette méthode est très semblable à la précédente à ceci près qu'elle est un peu plus fastidieuse et ne permet pas la mise à jour du système. Ouvrez [[:synaptic|Synaptic]] : | ||
- | <code>synaptic&</code> | ||
- | Puis utilisez les outils de recherche pour trouver et sélectionner les paquets qui vous intéressent. Allez ensuite dans fichier -> générer un script de téléchargement de paquets. Enregistrez le script sur votre clé USB, emportez le sur un ordinateur (linux) disposant d'internet, et exécutez le. Revenez sur votre ordinateur avec vos paquets téléchargés, relancez synaptic et utilisez fichier -> ajouter les paquets téléchargés, et le tour sera joué. | ||
- | |||
- | |||
- | ==== Utiliser aptoncd ==== | ||
- | |||
- | Cette méthode suppose que vous avez un ami qui dispose d'un ordinateur avec Ubuntu relié à internet. Persuadez le d'installer tous les paquets dont vous avez besoin, et d'installer le paquet aptoncd. Il pourra alors l'utiliser pour créer un cd de paquets avec tous ceux dont vous avez besoin. Voir les pages dédiées à [[:aptoncd|aptoncd]]. | ||
- | |||
- | |||
- | ==== Utiliser Wubdepends sous Windows pour télécharger les dépendances ==== | ||
- | |||
- | Cette solution peut être pratique dans le cas l'ordinateur connecté à Internet fonctionne sous Windows. **[[http://wubdepends.sourceforge.net/|Wubdepends]]** d'une petite application (codée en Python, Glade et GTK) qui permet pour le paquet souhaité, en spécifiant la distribution et l'architecture, de télécharger le paquet souhaité et ses dépendances. | ||
- | |||
- | {{ tutoriel:wubdepends.png }} | ||
- | |||
- | Les paquets pourront ensuite être reversés à un [[:tutoriel/comment_installer_un_depot_local|dépôt local]] sur l'ordinateur sous Ubuntu, afin de simplifier [[:tutoriel:comment_installer_un_paquet|l'installation]] et de préserver la gestion des dépendances. | ||
- | |||
- | On notera que : | ||
- | * cet outil ne peut pas être utilisé à travers un proxy ; | ||
- | * cet outil travaille à partir d'une liste de dépôts pré-établie (dépôts officiels uniquement?). | ||
- | |||
- | <note important>Ce logiciel n'a pu être testé (à cause du proxy! ;-) ) FIXME</note> | ||
- | |||
- | |||
- | |||
- | |||
- | ==== Utiliser des CD de paquets ==== | ||
- | |||
- | Tout d'abord si vous avez le choix lorsque vous installez ubuntu, faites le à partir du DVD qui est plus complet que le CD. Ensuite il y a des gens qui créent des CDs de packages spécialement pour faciliter la vie des gens qui n'ont pas internet, citons par exemple Renzo dont [[:addon_cd|l'addonCD]] qui est dispo pour chaque version d'ubuntu, apporte de nombreux paquets inédits ! Disponible sur son site [[http://imaginux.com/roadtolinux/dotclear/index.php|Road To Linux]]. Il a fait aussi des packs [[:rtu|RTU]] qui permettent de rendre Ubuntu plus opérationnel en quelques clics. | ||
- | |||
- | Notez également que si vous avez une version d'Ubuntu antérieure à la version actuelle et que vous souhaitez passer de l'une à l'autre, vous pouvez le faire au moyen d'un cd d'install, c'est expliqué [[:installation:migrer_sans_connexion_internet|ici]]. | ||
- | |||
- | |||
- | ==== Téléchargement manuel ==== | ||
- | |||
- | Terminons par la méthode la plus malcommode : télécharger les paquets à la main directement depuis les [[http://packages.ubuntu.com/|dépots]]. Seul avantage : si le seul ordinateur relié à internet auquel vous pouvez avoir accès ne fonctionne pas sur linux et que vous ne pouvez le booter avec un [[http://fr.wikipedia.org/wiki/LiveCD|CD live]] pour cause de [[http://fr.wikipedia.org/wiki/Bios|BIOS]] protégé, vous pouvez tout de même utiliser cette méthode. Elle est particulièrement compliquée parce que tous les paquets linux sont dépendants entre eux, ainsi si vous téléchargez à la main un paquet A, il y a des chances qu'il dépende d'autres paquets nommés B, C, et D, eux même dépendants de F, G, H, I et entre eux, avec G et I qui dépendent de A et C, et F qui ne dépend de rien, tandis que H dépend encore de 4 autre paquets, bref vous avez besoin d'un seul paquet, et vous devez en télécharger 30, tous à la main. Il ne vous restera plus qu'à les copier sur votre ordinateur et à les installer selon la [[tutoriel/comment_installer_un_paquet#paquet_.deb_telecharge|méthode du paquet téléchargé]]. | ||
- | |||
- | ===== Pages en rapport avec les dépôts APT ===== | ||
- | {{topic>dépôts}} | ||
- | {{tag>dépôts apt}} | ||
- | |||
- | ---- | ||
- | //Contributeurs: [[:utilisateurs:Aldian]], [[:utilisateurs:mavosaure]].// |