====== Comment faire de la programmation sur liveCD? ======
Cette page est destinée à tous ceux qui ont l'habitude de programmer sur Ubuntu et n'ont pas toujours un ordinateur où Ubuntu est installé sous la main. La solution consiste à le faire en session live à partir d'un [[:live_cd|CD live]]. Encore faut-il que les paquets nécessaires soient installés. Cette page a donc pour objectif de recenser les manipulations à faire pour [[:tutoriel:comment_installer_un_paquet|installer les paquets]] manquants.
Comme il va s'agir d'une session live, il faudra bien penser à sauvegarder son travail sur clé usb avant de fermer sa session. Pour la même raison, les manipulations décrites seront à faire à chaque nouvelle session live. Pour un usage fréquent il pourra être utile d'utiliser un [[https://forum.ubuntu-fr.org/viewtopic.php?id=132294|liveCD personnalisé]]
Cette page regroupe des informations qui sont dispersées dans une dizaine d'autre pages. Il y a donc une certaine redondance, mais le but est de donner une solution clés en main à tous ceux qui ne connaissent rien d'Ubuntu à part le strict minimum requis pour la programmation.
==== Programmer en C ====
== - si vous utilisez un liveCD standard Gusty ==
Sur ce type de liveCD (cas le plus courant), les paquets nécessaires sont présents, il suffit de les installer, et il n'est même pas nécessaire d'avoir accès à internet. Ouvrez simplement un [[:terminal|terminal]] et tapez :
sudo apt-get install build-essential
Cette méthode fonctionne aussi dans le cas où vous n'avez pas ce type de CD mais que vous avez une connexion Internet. Simplement les paquets seront téléchargés depuis Internet au lieu de l'être du CD.
== - si la méthode précédente ne fonctionne pas ==
Il va falloir que vous téléchargiez & installiez vous mêmes les paquets. Voir la page [[:installation_paquet_hors_ligne|comment ajouter des paquets sans internet ?]] Notez que deux cas de figures se présentent alors :
-soit vous utilisez une méthode qui va vous permettre d'ajouter les paquets en gérant les dépendances, par exemple en utilisant [[:apt-offline]]. Dans ce cas, vous avez juste à appliquer la méthode au paquet build-essential et les paquets additionnels requis serons ajoutés automatiquement.
-Dans le cas contraire, par exemple si vous ne pouvez vous connecter à internet que depuis un ordinateur Windows et que vous ne pouvez le démarrer avec un [[https://fr.wikipedia.org/wiki/LiveCD|CD live]] pour cause de [[http://fr.wikipedia.org/wiki/Bios|BIOS]] protégé, vous allez devoir télécharger manuellement tous les paquets requis, à savoir :
[[http://archive.ubuntu.com/ubuntu/pool/main/l/linux-source-2.6.22/linux-libc-dev_2.6.22-14.46_i386.deb|linux-libc-dev_2.6.22-14.46_i386.deb]]
[[http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc6-dev_2.6.1-1ubuntu9_i386.deb|libc6-dev_2.6.1-1ubuntu9_i386.deb]]
[[http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.1/libstdc++6-4.1-dev_4.1.2-16ubuntu2_i386.deb|libstdc++6-4.1-dev_4.1.2-16ubuntu2_i386.deb]]
[[http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.1/g++-4.1_4.1.2-16ubuntu2_i386.deb|g++-4.1_4.1.2-16ubuntu2_i386.deb]]
[[http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-defaults/g++_4.1.2-9ubuntu2_i386.deb|g++_4%3a4.1.2-9ubuntu2_i386.deb]]
[[http://archive.ubuntu.com/ubuntu/pool/main/p/patch/patch_2.5.9-4_i386.deb|patch_2.5.9-4_i386.deb]]
[[http://archive.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg-dev_1.14.5ubuntu16_all.deb|dpkg-dev_1.14.5ubuntu16_all.deb]]
[[http://archive.ubuntu.com/ubuntu/pool/main/b/build-essential/build-essential_11.3ubuntu1_i386.deb|build-essential_11.3ubuntu1_i386.deb]]
Cliquez juste sur les liens pour faire le téléchargement. Ayez un dossier dédié sur votre clé USB de travail où vous stockerez tous ces paquets. Lorsque vous aurez lancé une session live Ubuntu, appliquez la [[#paquet_.deb_telecharge|méthode du paquet téléchargé]]. A noter que Gdebi bugge parfois de façon incompréhensible, et que par ailleurs les paquets doivent être installés dans un ordre précis (l'installateur vous le signalera). Vous pouvez également procéder en utilisant [[https://forum.ubuntu-fr.org/viewtopic.php?id=79113|apt-off]]. Dans ce cas, renommez le dossier qui contient tous vos paquets nouvellement téléchargés en "deb" et créez un fichier nommé "offline.packages" contenant le code suivant :
cd deb/
wget -O linux-libc-dev_2.6.22-14.46_i386.deb 'http://archive.ubuntu.com/ubuntu/pool/main/l/linux-source-2.6.22/linux-libc-dev_2.6.22-14.46_i386.deb'
wget -O libc6-dev_2.6.1-1ubuntu9_i386.deb 'http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc6-dev_2.6.1-1ubuntu9_i386.deb'
wget -O libstdc++6-4.1-dev_4.1.2-16ubuntu2_i386.deb 'http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.1/libstdc++6-4.1-dev_4.1.2-16ubuntu2_i386.deb'
wget -O g++-4.1_4.1.2-16ubuntu2_i386.deb 'http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.1/g++-4.1_4.1.2-16ubuntu2_i386.deb'
wget -O g++_4%3a4.1.2-9ubuntu2_i386.deb 'http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-defaults/g++_4.1.2-9ubuntu2_i386.deb'
wget -O patch_2.5.9-4_i386.deb 'http://archive.ubuntu.com/ubuntu/pool/main/p/patch/patch_2.5.9-4_i386.deb'
wget -O dpkg-dev_1.14.5ubuntu16_all.deb 'http://archive.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg-dev_1.14.5ubuntu16_all.deb'
wget -O build-essential_11.3ubuntu1_i386.deb 'http://archive.ubuntu.com/ubuntu/pool/main/b/build-essential/build-essential_11.3ubuntu1_i386.deb'
cd ..
(n'oubliez pas le retour à la ligne en fin de fichier). Enregistrez [[https://forum.ubuntu-fr.org/viewtopic.php?id=79113|apt-off]] dans le même dossier que celui qui contient le dossier deb et le fichier offline.packages, n'oubliez pas de faire un chmod +x pour pouvoir l'exécuter, et tapez
./apt-off -x build-essential