Je viens de créer le dépôt de miroir local en m’inspirant des tutos ci-dessus. Pour infos, voici le fichier de configuration que j’ai utilisé (/home/utilisateur1/miroir/apt-mirror-configuration):
[code]############# config ##################
set base_path /home/utilisateur1/miroir
if you change the base path you must create the directories below with write privlages
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 i386
set nthreads 20
set _tilde 0
############# end config ##############
deb http://ftp.fr.debian.org/debian lenny main contrib non-free
clean http://ftp.fr.debian.org/debian
[/code]
(20,4 Go, tout de même - 9h de téléchargement)
J’ai obtenu des messages d’erreurs à la fin de la procédure:
closedir() attempted on invalid dirhandle DIR at /usr/bin/apt-mirror line 528.
La solution est décrite ici:
bugs.debian.org/cgi-bin/bugreport.cgi?bug=484876
J’ai donc suivi ce qui était indiqué en remplacant la fonction process_directory() (à partir de la ligne 517 dans le fichier /usr/bin/apt-mirror) par ce qui est préconisé(J’ai enlevé les lignes commençant un -, et conservé les lignes commençant par un + en supprimant les +):
sub process_directory {
my $dir = shift;
my $is_needed = 0;
return 1 if $skipclean{$dir};
opendir(my $dir_h, $dir) or die "apt-mirror: can't opendir $dir: $!";
foreach (grep { !/^\.$/ && !/^\.\.$/ } readdir($dir_h)) {
my $item = $dir . "/". $_;
$is_needed |= process_directory($item) if -d $item && ! -l $item;
$is_needed |= process_file($item) if -f $item;
$is_needed |= process_symlink($item) if -l $item;
}
closedir $dir_h;
push @rm_dirs, $dir unless $is_needed;
return $is_needed;
}
J’ai ensuite relancé la commande suivante (mise à jour du dépot):
apt-mirror /home/utilisateur1/miroir/apt-mirror-configuration
ce qui a donné:
[code]debian1:/home/utilisateur1# apt-mirror /home/utilisateur1/miroir/apt-mirror-configuration
Downloading 9 index files using 9 threads…
Begin time: Thu Oct 29 12:49:41 2009
[9]… [8]… [7]… [6]… [5]… [4]… [3]… [2]… [1]… [0]…
End time: Thu Oct 29 12:49:41 2009
Proceed indexes: [P]
0.0 bytes will be downloaded into archive.
Downloading 0 archive files using 0 threads…
Begin time: Thu Oct 29 12:49:47 2009
[0]…
End time: Thu Oct 29 12:49:47 2009
0.0 bytes in 0 files and 0 directories can be freed.
Run /home/utilisateur1/miroir/var/clean.sh for this purpose.
[/code]
Il n’y a plus de message d’erreur.
J’ai installé un logiciel depuis le dépôt local du serveur, sur ce serveur avec succès.
Je n’ai pas encore testé l’installation depuis un autre PC du réseau, mais cela devrait marcher.