[FLUG] updaterpm.pl

  • From: Gecco under VNC <gecco@xxxxxxxxxxxx>
  • To: fanolug@xxxxxxxxxxxxx
  • Date: Thu, 02 May 2002 12:29:19 +0200

Mailing List del Fortunae LUG
=============================

ormai e' una versione stabile, che probabilmente funziona pure su mandrake, basta cambiare la dir e l'ftp, credo, mai provata la mandrake, la differenza tra questa versione e la precedente e' che sta qua si salva in un file, chiamato rpm.log, l'url dell'rpm da aggiornare, dato che ho visto che il get di Net::FTP c'hai degli strani problemi, e l'ftp di redhat va in timeout e robe simili, magari con un mirror va bene, l'unico problema, per ora irrisolvibile, e' che se c'hai su un rpm piu' nuovo di quello che c'e' nell'ftp, lui dentro il log te scrive cmq l'rpm che ha trovato, dato che guarda solo la differenza delle versioni e non se e' superiore o inferiore, se qualcuno ha voglia di provarlo sulla mandrake sarei contento

bau

#!/usr/bin/perl
$url="ftp.redhat.com";
$pwd="/pub/redhat/linux/updates/7.2/en/os/i386/";
use Net::FTP;

    $ftp = Net::FTP->new("$url");
    $ftp->login("anonymous","xxx");
    $ftp->cwd("$pwd");
    @rpm_remoti=$ftp->ls();


@rpm_locali = `rpm -qa`; $remoti = @rpm_remoti; $locali = @rpm_locali; print "ci sono installati $locali pacchetti\n"; print "ci sono $remoti in updates\n"; print "pacchetto ... dimensione\n\n"; if($remoti < $locali) { $maggiore=$locali; $minore=$remoti; } else { $maggiore=$remoti; $minore=$locali; } for ($a=0; $a<$minore; $a++) { for($b=0; $b<$maggiore; $b++) { chomp($rpm_remoti[$a]); chomp($rpm_locali[$b]); @rem=split(/\d\.\d/, $rpm_remoti[$a]);

        @loc=split(/\d\.\d/, $rpm_locali[$b]);
                if ($rem[0] eq $loc[0] && $rem[1] ne $loc[1])
                {
                $size=$ftp->size("$rpm_remoti[$a]");
                print "$rpm_remoti[$a]... $size byte...\n";
                open(LOG,">>rpm.log");
                print LOG "$url$pwd/$rpm_remoti[$a]\n";
                }
        }
}
$ftp->quit;

--
"Lavoratori: prrrrrrrrrrrrrrr" (A. Sordi)

--
"Jesus Christ, who are these people?" -- Bill Gates

Other related posts:

  • » [FLUG] updaterpm.pl