Have a list of RPMS or Debs? Stick them in a file, one on each line, and run this.
I use it when upgrading between Fedora distros, if any RPMS have been missed according to upgrade.log
#!/usr/bin/perl -w
#
# Read in upgrade.log and get missing RPMS
#
# GH - 22.06.05
#
use strict;
use LWP::Simple;
open(RPMS, "<", "./upgrade.log")
or die "File not found or unreadable: $!\n";
my $url = 'http://download.fedora.redhat.com/pub/fedora/linux/core/4/i
+386/os/Fedora/RPMS/';
while (<RPMS>) {
chomp;
print -e $_ ? "Already downloaded $_\n" : "Downloading $_\n";
next if (-e $_);
getstore ($url . $_, $_);
print -e $_ ? "Got $_\n" : "Download failed for $_\n";
}
close(RPMS);
print "Download complete.\n";