Voila.
Comme j'ai dit, c'est du pas propre du tout en PHP. C'est pas fait pour mais bon, c'est le seul truc que je sais faire.
Je suis pas réussi à lancer nt avec PHP, j'ai donc écrit un petit fichier bash mais je suis pas non plus à le lancer depuis la page web...
Pas bien grave. Sinon, je suis passé de 1H de téléchargement à quelques min. 600ko/s, ça fait peut-être un peu beaucoup comparé au 30Ko/s...
De plus ça ne marche pas pour tout les paquets, les kmods de livna, pas moyen de construire le nom de fichier. Et une histoire de : dans la version aussi. Mais bon pas grave, je relance un yum derrière.
<code>
<?php
$depots['core']='
http://zeniv.linux.org.uk/pub/distributions/fedora/linux/core/5/i386/os/';
$depots['extras']='
http://download.fedora.redhat.com/pub/fedora/linux/extras/5/i386/';
$depots['updates']='
http://www.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/core/updates/5/i386/';
$depots['livna']='
http://rpm.livna.org/fedora/5/i386/';
echo '<h1>Recherche de nouvelles mises à jour...</h1>';
echo 'Patientes...';
exec("yum check-update", $retour, $status);
$lignevide=array_search('',$retour);
$count=count($retour);
echo '<h1>Mises à jour trouvées :</h1>';
for($i=$lignevide+1;$i<$count;$i++)
{
$retour[$i]=preg_replace('/[ ]+/',' ',$retour[$i]);
$bouh=explode(' ', $retour[$i]);
$pospoint=strpos($bouh[0], '.');
$file=substr($bouh[0],0,$pospoint).'-'.$bouh[1].substr($bouh[0],$pospoint).'.rpm';
$miseajour[]=$depots[$bouh[2]].$file;
echo '
',$file,'<br />';
}
exec("unlink /var/www/html/yum/cache/*");
$bash=fopen('bash.sh','w');
fwrite($bash,"#!/bin/bashn");
foreach($miseajour as $file)
fwrite($bash, "nt -d /var/www/html/yum/cache ".$file." &n");
fclose($bash);
exec("chmod +x /var/www/html/yum/bash.sh");
//echo '
Télécharger !!<br />';
?>
</code>