Installer Ubuntu sans connexion Internet à partir des dépôts sur un disque dur externe
Aujourd’hui nous allons voir comment accéder à TOUS les dépôts Ubuntu, mais aussi les dépôts exotiques de votre choix, à partir d’un disque dur externe ou d’une très grosse clé usb. L’intérêt est de pouvoir installer une Ubuntu à jour et de disposer de tous les paquets sur un PC sans connexion internet ou avec une connexion bas débit comme un modem 56K.
On trouve pas mal de tutos sur le net, pour l’ajout de dépots sur CD, DVD, et disques locaux (qui nécessite en plus l’installation et la configuration d’un serveur web Apache), mais rien de simple pour les gros installateurs nomades dont je fais partie. Ce tuto s’adresse donc à ceux qui souhaite installer Ubuntu chez leur copains(ines) ne disposant pas d’un accès haut-débit ou même pas d’Internet du tout.
Prérequis : Je dispose d’un d’un disque externe de 40go qui me servira à stocker ces dépots mais un disque de 20 go devrais largement suffire pour contenir tous les dépots (sans les sources).
Pour rédiger ce billet, je me suis fortement inspiré de ce fil de discussion sur le forum ubuntu-fr et tout particulièrement du message de madden.
Ce billet à l’air très long, mais en fait il n’en est rien, il est juste ponctué de nombreux exemples et de retour de la console. En moins de deux minutes, vous aurez terminé toute la phase de configuration.
Chez vous :
Tout d’abord nous allons, si cela n’est pas encore fait, installer apt-mirror, dans un terminal tapez :
sudo apt-get install apt-mirror
Il va générer un fichier dans /etc/apt/ qui se nomme mirror.list et que nous allons éventuellement sauvegarder par
sudo cp /etc/apt/mirror.list /etc/apt/mirror.list.backup
Maintenant, je vais supposer que votre disque USB est monté sur /media/usbdisk-1 Nous allons donc créer une arborescence pour accueillir nos futurs dépôts :
sudo mkdir /media/usbdisk-1/apt-mirror sudo mkdir /media/usbdisk-1/apt-mirror/mirror skel var
Ensuite éditons le fichier mirror.list :
sudo gedit /etc/apt/mirror.list
Supprimons tout ce qui s’y trouve puis insérez-y les lignes suivantes :
############# config ################## # set base_path /media/usbdisk-1/apt-mirror # # if you change the base path you must create the directories below with write privileges # set mirror_path $base_path/mirror set skel_path $base_path/skel set var_path $base_path/var set cleanscript $var_path/clean.sh ## set defaultarch xxxx (votre architecture i386/hppa/powerPC/ia64...) set defaultarch i386 set nthreads 2 set tilde 0 # ############# end config ##############
Ne sauvegardez pas encore le fichier, prenez bien soin de remplacer, /media/usbdisk-1/apt-mirror dans notre exemple, par le chemin vers le répertoire situé sur votre disque USB ainsi que l’architecture que vous utilisez, généralement i386 convient dans la plupart des cas.
Maintenant en dessous de la ligne ############# end config ############## rajoutez toutes les lignes de votre sources.list, le reste du fichier devrais ressembler à ça :
deb http://archive.ubuntu.com/ubuntu/ edgy main restricted deb http://archive.ubuntu.com/ubuntu/ edgy-updates main restricted deb http://archive.ubuntu.com/ubuntu/ edgy-security main restricted deb http://archive.ubuntu.com/ubuntu/ edgy universe multiverse deb http://archive.ubuntu.com/ubuntu/ edgy-updates universe multiverse deb http://archive.ubuntu.com/ubuntu/ edgy-security universe multiverse deb http://archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse
Profitez-en pour rajouter les autre dépots bien utiles comme par exemple Medibuntu ou Wine tout autre dépôt à votre convenance :
deb http://wine.budgetdedicated.com/apt edgy main deb http://medibuntu.sos-sts.com/repo/ edgy free non-free
Notez que ces exemples sont valables pour Edgy. A vous de les adapter si vous utilisez Dapper ou Feisty, en outre je n’ai pas ajouter les dépôts sources qui ne sont pas indispensables si vos amis n’ont aucunement l’intention de compiler. Vous devrez également penser à télécharger les clés pour les dépôts qui en requièrent une.
Sauvegardez votre fichier. La partie la plus pénible est terminée, mais avouez que ce n’étais pas si difficile. Par contre la partie la plus longue va maintenant débuter avec le rapatriement intégral des paquets sur votre disque dur externe. Dans une console tapez : sudo apt-mirror Vous devriez obtenir un message de ce type :
Downloading 74 index files using 2 threads... Begin time: Fri Mar 30 23:48:00 2007 [2]... [1]... [0]... End time: Fri Mar 30 23:53:07 2007 Proceed indexes: [PPPPPPPPPPP] 16.1 GiB will be downloaded into archive. Downloading 21443 archive files using 2 threads... Begin time: Fri Mar 30 23:53:15 2007 [2]...
Ce qui signifie que les paquets sont en cours de téléchargement. L’opération peut durer plusieures heures ou plusieurs jours selon votre bande passante. Par ailleurs je vous conseille de démarrer cette opération dans un TTY avec CTRL+ALT+F1 par exemple. Cela vous permettra de relancer votre session Gnome en cas de plantage de ce dernier sans interrompre le téléchargement, mais dans tous les cas pour pour pouvez reprendre la procédure à l’endroit ou elle avais été interrompue. Vous pouvez à tout moment contrôler la taille occupée par les fichiers en tapant dans un autre terminal :
du -h --max-depth=0 /media/usbdisk-1/apt-mirror/
Une fois tous les dépôts récupérés intégralement vous devriez obtenir le message final suivant :
End time: Sat Apr 7 07:30:46 2007
0.0 bytes in 0 files and 0 directories can be freed. Run /media/usbdisk-1/apt-mirror/var/clean.sh for this purpose.
Vous pouvez démonter votre disque et l’emmener avec vous.
Chez le “client” :
Il suffira d’ajouter les lignes suivantes/ dans le fichier /etc/apt/sources.list de la machine sur laquelle Ubuntu a été fraichement installée :
deb file:/media/usbdisk-1/apt-mirror/archive.ubuntu.com/ubuntu/ edgy main restricted multiverse universe deb file:/media/usbdisk-1/apt-mirror/asher256-repository.tuxfamily.org edgy main dupdate french deb file:/media/usbdisk-1/apt-mirror/medibuntu.sos-sts.com/repo/ edgy free non-free deb file:/media/usbdisk-1/apt-mirror/wine.budgetdedicated.com/apt edgy main
N.B. Pensez à remplacer usbdisk-1 dans mon exemple par le nom obtenu lors du montage automatique du disque externe ou de la clé usb.
Sauvegardez le fichier puis terminez par un
sudo apt-get update
Vous pouvez maintenant déconnecter votre cable éthernet et installer votre paquet Ubuntu.
Edit 1 : Vous pouvez réaliser ces opérations a partir de n’importe quelle Ubuntu, le principal étant d’utiliser les dépôts spécifiques à la distrib que vous compter installer.
Edit 2 : Pour mettre à jour les dépôts du disque, il suffit de reconnecter le disque sur la machine qui à récupérer le dépot puis faire à nouveau un apt-get mirror.
Trackback
RSS Feed
32 Commentaires
1.
syfer Le 07. avril 2007 - 22:47
salut, comment on fait pour mettre à jour les dépots sur le dd externe ?
2.
Cakeman Le 07. avril 2007 - 23:11
Même question
3.
racoon97
Le 07. avril 2007 - 23:53
Pour mettre à jour, il suffit de reconnecter le disque sur la machine qui à récupérer le dépot puis faire à nouveau un apt-get mirror.
4.
syfer Le 08. avril 2007 - 0:10
ok merci.
5.
termitor Le 08. avril 2007 - 0:31
Note: pour ceux qui dispose de plusieurs machine (genre petite entreprise ou fou a domicile avec 10 pc) , un petit "cron" et un miroir local c’est bien pratique, ca accélérer les chargements des mise a jour , et permet d’économie la bande passante aussi bien de votre réseau, que de nos chére petits dépots fatiqués sous l’augmentation du nombre d’utilisateur heureux d’Ubuntu.
6.
tenshu
Le 08. avril 2007 - 4:08
D’ailleurs ce que tu décrit termitor est un des projet pour Ubuntu depuis plusieurs version.
Ca devrait débarquer dans feisty +1 voire +2
7.
syfer Le 08. avril 2007 - 10:41
salut, quand je lance sudo apt-mirror j’obtiens:
apt-mirror: can’t chdir to skel at /usr/bin/apt-mirror line 313.
8.
racoon97
Le 08. avril 2007 - 11:06
Tu as tout à fait raison. J’ai oublié de préciser qu’il faut créer manuellement les répertoires
mirror, skel et var à la racine de apt-mirror donc, à faire :
sudo mkdir /media/usbdisk-1/apt-mirror/mirror skel var
Je rajoute dans le billet.
9.
syfer Le 08. avril 2007 - 11:20
ok c’est bon ca fonctionne, merci.
10.
Hells_Dark Le 08. avril 2007 - 14:49
Woah !
Il me faut ça !
Dommage que j’ai pas de DD externe :’(
J’ai un PC sans le net qui n’a pas été mis à jour depuis Dapper :/
11.
syfer Le 08. avril 2007 - 15:15
salut,
il n’y a pas une erreur dans les lignes a rajouter dans le sources.list du client ?
ce serait pas plustot :
deb file:/media/usbdisk-1/apt-mirror/mirror/archive.ubuntu.com/ubuntu/ edgy main restricted multiverse universe
12.
Xarkam
Le 08. avril 2007 - 15:45
Salut,
Le plus utile c’est de coupler cela avec un serveur httpd ou nfs pour avoir son propre dépôt Ubuntu en entreprise par exemple ou encore pour des installs party où il n’y aurait pas d’accès au net.
13.
racoon97
Le 08. avril 2007 - 16:49
@Xarkam
Oui mais ce n’est justement pas le but de ce tuto, il y en des dizaines d’autres pour ça. Comme je l’ai dit plus haut, l’intéret est de pouvoir installer Ubuntu sur des machines isolées, chez un particulier par exemple, qui ne sont pas connecté à un réseau quel qu’il soit.
14.
Bastes Le 09. avril 2007 - 9:42
En voilà un billet qu’il est bon !
Merci, ça va me permettre de clouer enfin le bec aux gnagnans qui se plaignent "gnagnagna ubuntu c’est pas user-friendly parce qu’il faut internet pour l’installer gnagnagna"
15.
traaf
Le 09. avril 2007 - 16:37
petite astuce que j’utilise :
partition de 20GO en ext3 pour le miroir,
mettre un label avec e2label par exemple
sudo e2label /dev/sda2 depot
et le système utilisera ce label pour la création du point de montage : /media/depot
ça simplifie la situation en cas de périphériques USB multiples, voire pire s’il y a plusieurs partitions sur ces périphériques
16.
golgot200 Le 09. avril 2007 - 21:14
Bonjour
Superbe,
Encore merci.
Je n’avais jamais réussi à rapatrier autre que les dépots ubuntu en local. les autre dépots maintenant sont sur mon HDD interne.
Un petit coup avec le sript actualiser pour le Packages.gz et le tour est joué.
Encore merci.
17.
lucaslezer0 Le 10. avril 2007 - 14:17
euh,quel est la taille exacte minimale du dd externe,svp?
18.
Nizarus Le 10. avril 2007 - 17:17
Bravo pour ce billet;
) et l’autre chez moi (pas de connexion). L’idée est de apporter les paquets téléchargés (maj de sécurité, etc..) par le premier PC au second ?
Peut t’on transposer l’idée pour l’appliquer juste aux paquets de mise à jour téléchargés par le premier PC.
Je m’explique, je dispose de deux PC avec la même version ubuntu l’un connecté à internet (moyen débit
19.
racoon97
Le 11. avril 2007 - 6:43
@lucaslezer0
17 go depots ubuntu, medibuntu, asher, wine (sans les sources)
@ Nizarus
Je comprends ce que tu veux dire, mais malheureusement en pratique, juste télécharger les paquets ne suffit pas, il faut recontruire l’architecture d’un dépot pour synaptic ou apt-get puisse s’en sortir à moins d’installer les deb à la main avec toutes les dépendances… J’espère avoir bien compris ta question
20.
lucaslezer0 Le 11. avril 2007 - 11:21
ah la vache…17 go…
je vais être obligé de racheter un dd,moi(ou réussir a mettre le wifi,mais avec network manager qui arrive pas a se connecter,c’est la galère…)
merci quand même!
et 17 go,ca va mettre du temps a telecharger,ca!
21.
golgot200 Le 12. avril 2007 - 5:53
Bonjour,
Voilà, il y a juste vers l’édition du sources.list ou je bloque.
Je suis obligé de mettre comme ceci:
#deb file:/media/Stockage/apt-mirror/mirror/asher256-repository.tuxfamily.org/ ./
mais cela ne suffit pas. Donc, comme je l’ai dit dans mon post 16, je lance le script actualiser.sh. Si je ne fait pas cela, Synaptic me mettra toujours qu’il ne trouve pas packages.gz. Est-ce que je n’ai pas loupé quelque chose ou un truc que j’oublie de faire ?
Merci par avance.
22.
racoon97
Le 12. avril 2007 - 6:55
@golgot200
Euh, je ne vois pas de quoi tu parles exactement. Normalement, cela devrais fonctionner, il y aurais peut-être alors quelque chose que j’ai oublié ? Mais pour l’instant je ne vois pas, si tu arrives à résoudre ton problème fais-le moi savoir, je peux encore modifier le billet au cas où…
23.
golgot200 Le 12. avril 2007 - 17:33
Oui je viens de voir ou ça clochait chez moi.
Dans mon sources.list, il fallait mettre
deb asher256-repository.tuxfa… edgy main dupdate french
et non
deb file:/media/Stockage/apt-mirror/mirror/asher256-repository.tuxfamily.org/ ./
C’est pour cela que je générais le package.gz avec actualiser.sh
Maintenant plus besoin,tout est OK.
Merci encore.
24.
Hells_Dark
Le 16. avril 2007 - 12:31
Yes,
Ca y est, ton billet vient de me faire franchir le pas pour acheter un DD externe
Je viens de commander un 500 giga, je crois que cela devrait suffire très largement.
Donc, moi, j’ai un PC sous feisty (celui avec le net) et un autre qui est sous Dapper que je voudrais passer sous feisty aussi.
N’ayant pas de limite de sockage (500 go !), je me demandais si pour mettre à jour le PC sous Dapper vers Feisty, je devais mettre tous les dépots edgy, et tous les dépots feisty dessus.
Merci encore pour ce tuto !
25.
Hells_Dark Le 16. avril 2007 - 17:44
Au passage, cette commande :
sudo mkdir /media/usbdisk-1/apt-mirror/mirror skel var
ne place pas les répértoires skel et var dans /media/usbdisk-1/apt-mirror/ mais dans le répértoire courant.
26.
tcherny Le 17. avril 2007 - 19:06
Très intéressant comme méthode. J’aimerai justement mettre à jour une xubuntu : edgy -> feisty chez mon amie qui n’a pas internet.
A votre avis ça fonctionne aussi dans le cadre d’une mise à jour ?
27.
stroky.l Le 18. avril 2007 - 16:30
On peut coupler tout cela avec un serveur xampp pour que ça soit une adresse style localhost/blablabla
28.
Hells_Dark
Le 23. avril 2007 - 9:54
J’ai voulu mettre tous les dépos de dapper à feisty sur le Disque.
Mais quand je suis arrivé sur le PC sans le net, ça m’a indiqué qu’il manquait plein de paquets..
Se peut il qu’avec plusieurs version à la fois, il y ait des conflits ?
Je vais séparer essayer Dapper pour voir.
29.
Hells_Dark Le 11. mai 2007 - 22:36
Juste pour dire que l’upgrade de distrib marche nickel finalement.
Je suis passé de Dapper à Feisty sans soucils au 2eme essai
30.
antistress Le 13. mai 2007 - 14:07
voir aussi l’addonCD et le RTU de Renzo imaginux.com/roadtolinux/…
31.
Diti
Le 21. août 2007 - 7:54
Plop,
Quand on sort d’une réinstallation et qu’on tombe sur un « apt-mirror: can’t write to intermediate file (ALL) at /usr/bin/apt-mirror line 329. » après le téléchargement des index, c’est bon signe ?
(En n’utilisant pas on « sudo apt-mirror » parce qu’il ne tient alors pas compte du fichier de configuration).
Tu devrais intégrer dans ton tuto de quoi régler CRON, aussi
32.
jeanbi Le 26. août 2007 - 9:37
Bonjour,
j’ai installer xubuntu sur un portable sans internet , j’ai donc suivi le tuto pour recupere les depots et leur contenu apres qelques tatonnement (sujet : repertoire skel et var a cree à la main)
autre chose sur ubuntu passer vous du sudo sous peine de voir vos dossier sur le dd externe inaccessible pour la derniere operation celle qui consiste a recupere les depots .
de plus le chemin sur le dd externe a partit du pc client est
deb file:/media/usbdisk-1/apt-mirror/mirror/archive.ubuntu.com/ubuntu/ edgy main restricted multiverse universe
et non
deb file:/media/usbdisk-1/apt-mirror/archive.ubuntu.com/ubuntu/ edgy main restricted multiverse universe
du moins c’est comme cela que ça a fonctionne chez moi.
a+
ps: merci pour le tuto ça ma bien depanné