samedi 7 avril 2007

avoir les dépôt sur un disque

Aujourd'hui nous allons voir comment accéder à TOUS les dépôts debian, 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 debian à 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 debian 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 :

    #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

    #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 :

#mkdir /media/usbdisk-1/apt-mirror

#mkdir /media/usbdisk-1/apt-mirror/mirror

#mkdir /media/usbdisk-1/apt-mirror/skel

#mkdir /media/usbdisk-1/apt-mirror/var

Ensuite éditons le fichier mirror.list :

     #nano  /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://ftp2.fr.debian.org/debian/ etch main non-free contrib
deb-src http://ftp2.fr.debian.org/debian/ etch main non-free contrib
deb http://security.debian.org/ etch/updates main non-free contrib
deb-src http://security.debian.org/ etch/updates main non-free contrib
deb http://www.debian-multimedia.org/ etch main

puis ajouter les lignes suivantes afin d'éviter de télécharger l'inutile.

clean http://security.debian.org/
clean http://ftp2.fr.debian.org/


skip-clean http://ftp2.fr.debian.org/doc/
skip-clean http://ftp2.fr.debian.org/tools/
skip-clean http://ftp2.fr.debian.org/debian-cd/
skip-clean http://ftp2.fr.debian.org/debian-minicd/
skip-clean http://ftp2.fr.debian.org/debian/dists/sarge/main/installer-i386/
skip-clean http://ftp2.fr.debian.org/debian/dists/sid/main/installer-i386/
skip-clean http://ftp2.fr.debian.org/debian/doc/
skip-clean http://ftp2.fr.debian.org/debian/tools/
skip-clean http://ftp2.fr.debian.org/debian/project/
skip-clean http://ftp2.fr.debian.org/debian-non-US/project/




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 en root : #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 Debian a été fraichement installée :

deb file:/media/usbdisk-1/apt-mirror/ftp2.fr.debian.org/debian/ etch main non-free contrib
deb file:/media/usbdisk-1/apt-mirror/security.debian.org/ etch/updates main non-free contrib
deb file:/media/usbdisk-1/apt-mirror/debian-multimedia.org/ etch 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

#apt-get update

Vous pouvez maintenant déconnecter votre cable éthernet et installer votre debian . :-D



très fortement inspiré de ce tuto dispo sur :

http://planet.kubuntu-fr.org/

Aucun commentaire: