496 lines
21 KiB
Perl
496 lines
21 KiB
Perl
#!/usr/bin/perl
|
||
#!/usr/bin/env perl
|
||
use strict;
|
||
use warnings;
|
||
use DBI;
|
||
# http://sql-info.de/mysql/examples/Perl-DBI-examples.html
|
||
|
||
# http://mailliststock.wordpress.com/2007/03/01/sqlite-examples-with-bash-perl-and-python/
|
||
my $repository = '/tmp/';
|
||
my $stow_dir = '/stow';
|
||
my $target_dir =
|
||
my $su_command = 'sudo';
|
||
my $tar_command = 'tar --verbose --extract --file';
|
||
my $database = 'gnu.db';
|
||
unlink($database);
|
||
|
||
my $dbh = DBI->connect("dbi:SQLite:$database", "", "", {RaiseError => 1, AutoCommit => 1});
|
||
# su -c 'aptitude install libdbd-sqlite3-perl' on a Debian system TDW 2009-04-19
|
||
|
||
&populate_gnu_mirrors($dbh);
|
||
&populate_gnu_software($dbh);
|
||
&print_mirrors;
|
||
&print_software;
|
||
#&stow_gnu_software('make');
|
||
#&stow_gnu_software('mdk');
|
||
&stow_gnu_software('gmp');
|
||
#&stow_gnu_software('gcc');
|
||
|
||
################################################ Subroutines only below this line ############################
|
||
|
||
#&populate_gnu_contributors($dbh);
|
||
|
||
sub stow_gnu_software {
|
||
my ( $software ) = @_;
|
||
print "\t$software\n";
|
||
# $dbh->do("CREATE TABLE gnu_software (id INTEGER PRIMARY KEY, short_name TEXT UNIQUE, name TEXT, latest_version TEXT, date_checked DATE )");
|
||
my $sth_id = $dbh->prepare("SELECT id, latest_version FROM gnu_software WHERE short_name = \'$software\'");
|
||
$sth_id->execute();
|
||
my ($software_id, $version) = $sth_id->fetchrow_array();
|
||
print "$software => $version\n";
|
||
# Given software short name, get id
|
||
# Given id, get version
|
||
my $all = $dbh->selectall_arrayref("SELECT * FROM mirror_url");
|
||
foreach my $row (@$all) {
|
||
my ($software_id, $country_id, $region_id, $url, $date_checked ) = @$row;
|
||
}
|
||
my $sth = $dbh->prepare('SELECT url FROM mirror_url WHERE id = ?');
|
||
$sth->execute(1);
|
||
my $url = $sth->fetchrow_array();
|
||
my $sth2 = $dbh->prepare('SELECT directory, latest_tarball FROM latest_tarball WHERE gnu_software_id = ?');
|
||
$sth2->execute($software_id);
|
||
my ( $directory, $tarball ) = $sth2->fetchrow_array;
|
||
my $download_command = "wget --no-clobber ${url}${directory}/$tarball";
|
||
system ("$download_command");
|
||
system ("$tar_command $tarball");
|
||
chdir ("$software-$version");
|
||
open(OUT, ">stow-$software-$version");
|
||
print OUT "#!/bin/bash\n";
|
||
print OUT "set -o errexit # exit on error\n";
|
||
print OUT "./configure --prefix=/usr/local\n";
|
||
print OUT "make\n";
|
||
print OUT "$su_command make DESTDIR=$stow_dir/$software-$version install\n";
|
||
print OUT "$su_command stow $software-$version\n";
|
||
print OUT "$su_command /sbin/ldconfig -v\n";
|
||
close(OUT);
|
||
}
|
||
|
||
sub print_software {
|
||
print "=================================== Table gnu_software =================================\n";
|
||
# $dbh->do("CREATE TABLE gnu_software (id INTEGER PRIMARY KEY, short_name TEXT UNIQUE, name TEXT, latest_version TEXT, date_checked DATE )");
|
||
my $all = $dbh->selectall_arrayref("SELECT * FROM gnu_software ORDER BY short_name");
|
||
foreach my $row (@$all) {
|
||
my ($id, $short_name, $name, $latest_version, $date_checked ) = @$row;
|
||
print "$short_name\t$latest_version v.$latest_version\t$name\n";
|
||
}
|
||
}
|
||
|
||
sub print_mirrors {
|
||
# $dbh->do("CREATE TABLE continent (id INTEGER PRIMARY KEY, name TEXT)");
|
||
# $dbh->do("CREATE TABLE country (id INTEGER PRIMARY KEY, continent_id INTEGER, name TEXT)");
|
||
# $dbh->do("CREATE TABLE region (id INTEGER PRIMARY KEY, name TEXT)");
|
||
# $dbh->do("CREATE TABLE mirror_url (id INTEGER PRIMARY KEY, country_id, region_id, url TEXT, date_checked DATE)");
|
||
my $all = $dbh->selectall_arrayref("SELECT * FROM mirror_url ORDER BY country_id, region_id, url");
|
||
foreach my $row (@$all) {
|
||
my ($id, $country_id, $region_id, $url, $date_checked ) = @$row;
|
||
print "$id\t$country_id\t$region_id\t$url\t$date_checked\n";
|
||
}
|
||
}
|
||
|
||
sub populate_gnu_software {
|
||
my $dbh = shift;
|
||
$dbh->do("CREATE TABLE gnu_software (id INTEGER PRIMARY KEY, short_name TEXT UNIQUE, name TEXT, latest_version TEXT, date_checked DATE )");
|
||
$dbh->do("CREATE TABLE latest_tarball (id INTEGER PRIMARY KEY, gnu_software_id INTEGER, directory TEXT, latest_tarball TEXT, date_checked )");
|
||
|
||
#################### Populate table gnu_software ####################
|
||
$dbh->do("INSERT INTO gnu_software VALUES (1, 'make', 'GNU Make', '3.81', '2009-04-19')");
|
||
$dbh->do("INSERT INTO gnu_software VALUES (2, 'emacs', 'GNU Emacs', '0.00', '1971-01-01')");
|
||
$dbh->do("INSERT INTO gnu_software VALUES (3, 'mdk', 'GNU MIX Development Kit', '1.2.4', '2009-04-19')");
|
||
my $sth_gs = $dbh->prepare("INSERT INTO gnu_software VALUES (?, ?, ?, ?, ?)");
|
||
$sth_gs->execute(4,'gcc','GNU Compiler Collection', '4.3.3', '2009-04-20');
|
||
$sth_gs->execute(5,'gmp','GNU Multiple Precision Arithmetic Library', '4.3.0', '2009-04-20');
|
||
|
||
# http://www.alliedquotes.com/mirrors/gnu/gnu/gcc/gcc-4.3.3/gcc-4.3.3.tar.bz2
|
||
#################### Populate table latest_tarball ####################
|
||
# Populate latest_tarball
|
||
# latest_tarball (id INTEGER PRIMARY KEY, gnu_software_id INTEGER, directory TEXT, latest_tarball TEXT, date_checked )
|
||
$dbh->do("INSERT INTO latest_tarball VALUES (1, 1, 'make', 'make-3.81.tar.bz2', '2009-04-19')");
|
||
# Emacs here id 2
|
||
$dbh->do("INSERT INTO latest_tarball VALUES (3, 3, 'mdk/v1.2.4', 'mdk-1.2.4.tar.gz', '2009-04-19')");
|
||
my $sth_lt = $dbh->prepare("INSERT INTO latest_tarball VALUES (?, ?, ?, ?, ?)");
|
||
$sth_lt->execute(4, 4, 'gcc/gcc-4.3.3', 'gcc-4.3.3.tar.bz2', '2009-04-20');
|
||
$sth_lt->execute(5, 5, 'gmp', 'gmp-4.3.0.tar.bz2', '2009-04-20');
|
||
}
|
||
|
||
sub populate_gnu_mirrors {
|
||
my $dbh = shift;
|
||
$dbh->do("CREATE TABLE continent (id INTEGER PRIMARY KEY, name TEXT)");
|
||
$dbh->do("CREATE TABLE country (id INTEGER PRIMARY KEY, continent_id INTEGER, name TEXT)");
|
||
$dbh->do("CREATE TABLE region (id INTEGER PRIMARY KEY, name TEXT)");
|
||
$dbh->do("CREATE TABLE mirror_url (id INTEGER PRIMARY KEY, country_id, region_id, url TEXT, date_checked DATE)");
|
||
|
||
$dbh->do("INSERT INTO continent VALUES (1, 'Asia')");
|
||
$dbh->do("INSERT INTO continent VALUES (2, 'Africa')");
|
||
$dbh->do("INSERT INTO continent VALUES (3, 'North America')");
|
||
$dbh->do("INSERT INTO continent VALUES (4, 'South America')");
|
||
$dbh->do("INSERT INTO continent VALUES (5, 'Antartica')");
|
||
$dbh->do("INSERT INTO continent VALUES (6, 'Europe')");
|
||
$dbh->do("INSERT INTO continent VALUES (7, 'Australia')");
|
||
|
||
# Countries
|
||
$dbh->do("INSERT INTO country VALUES (1, 3, 'United States')");
|
||
|
||
#Regions
|
||
$dbh->do("INSERT INTO region VALUES (1, 'Not specified')");
|
||
$dbh->do("INSERT INTO region VALUES (2, 'California')");
|
||
|
||
#Urls
|
||
my $date_checked = '2009-04-19';
|
||
my $sth_mu = $dbh->prepare("INSERT INTO mirror_url VALUES (?, ?, ?, ?, ?)");
|
||
$sth_mu->execute(1, 1, 2, 'ftp://mirrors.kernel.org/gnu/', '2009-04-19');
|
||
$sth_mu->execute(2, 1, 2, 'http://mirrors.kernel.org/gnu/', '2009-04-19');
|
||
$sth_mu->execute(3, 1, 2, 'ftp.keystealth.org/pub/gnu/gnu/', '2009-04-19');
|
||
$sth_mu->execute(4, 1, 2, 'ftp://mirrors.usc.edu/pub/gnu/', '2009-04-19');
|
||
$sth_mu->execute(5, 1, 2, 'http://mirrors.usc.edu/pub/gnu/', '2009-04-19');
|
||
$sth_mu->execute(6, 1, 2, 'http://www.alliedquotes.com/mirrors/gnu/gnu/', '2009-04-19');
|
||
|
||
|
||
# $dbh->do("INSERT INTO mirror_url VALUES (1, 1, 2, 'ftp://mirrors.kernel.org/gnu/', '2009-04-19')");
|
||
# o [22]http://mirrors.kernel.org/gnu/
|
||
}
|
||
exit
|
||
__END__
|
||
GNU mirror list
|
||
|
||
* United States
|
||
+ California
|
||
o [21]ftp://mirrors.kernel.org/gnu/
|
||
o [22]http://mirrors.kernel.org/gnu/
|
||
o [23]ftp://ftp.keystealth.org/pub/gnu/gnu/
|
||
o [24]ftp://mirrors.usc.edu/pub/gnu/
|
||
o [25]http://mirrors.usc.edu/pub/gnu/
|
||
o [26]http://www.alliedquotes.com/mirrors/gnu/gnu/
|
||
+ Colorado
|
||
o [27]http://cudlug.cudenver.edu/GNU/gnu/
|
||
+ Idaho
|
||
o [28]http://mirror.its.uidaho.edu/pub/gnu/
|
||
o [29]ftp://mirror.its.uidaho.edu/gnu/
|
||
o [30]rsync://mirror.its.uidaho.edu/gnu
|
||
+ Illinois
|
||
o [31]http://ftp.gnu.mirrors.hoobly.com/gnu/
|
||
o [32]ftp://mirror.anl.gov/pub/gnu/
|
||
o [33]http://mirror.anl.gov/pub/gnu/
|
||
o [34]http://www.netgull.com/gnu/
|
||
o [35]http://astromirror.uchicago.edu/gnu/
|
||
+ Massachusetts
|
||
o [36]ftp://aeneas.mit.edu/pub/gnu/
|
||
+ Michigan
|
||
o [37]http://ftp.wayne.edu/pub/gnu/
|
||
+ New York
|
||
o [38]http://mirror.cinquix.com/pub/gnu/
|
||
o [39]ftp://mirror.cinquix.com/pub/gnu/
|
||
o [40]mirror.cinquix.com::gnuftp
|
||
+ North Carolina
|
||
o [41]http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/
|
||
o [42]rsync://mirrors.ibiblio.org::gnuftp/
|
||
+ Pennsylvania
|
||
o [43]ftp://ftp.club.cc.cmu.edu/gnu/
|
||
o [44]http://ftp.club.cc.cmu.edu/pub/gnu/
|
||
+ Texas
|
||
o [45]http://www.gnu.potius.org/
|
||
o [46]http://gnu.inetbridge.net/
|
||
* The Americas (other than the U.S.)
|
||
+ Brazil
|
||
o [47]ftp://ftp.unicamp.br/pub/gnu/
|
||
+ Canada
|
||
o [48]ftp://mirror.csclub.uwaterloo.ca/gnu/
|
||
o [49]http://mirror.csclub.uwaterloo.ca/gnu/
|
||
o [50]ftp://gnu.mirror.iweb.com/gnu/
|
||
o [51]http://gnu.mirror.iweb.com/gnu/
|
||
o [52]rsync://gnu.mirror.iweb.com/gnu
|
||
+ Costa Rica
|
||
o [53]ftp://mirrors.ucr.ac.cr/GNU/gnu
|
||
o [54]http://mirrors.ucr.ac.cr/GNU/gnu
|
||
o [55]rsync://mirrors.ucr.ac.cr/GNU/gnu
|
||
* Africa
|
||
+ South Africa
|
||
o [56]ftp://ftp.is.co.za/mirror/ftp.gnu.org/gnu
|
||
* Asia
|
||
+ Japan
|
||
o [57]http://core.ring.gr.jp/pub/GNU/
|
||
o [58]ftp://ftp.ring.gr.jp/pub/GNU/
|
||
+ Korea
|
||
o [59]ftp://ftp.kaist.ac.kr/gnu/
|
||
+ Malaysia
|
||
o [60]ftp://mirror.publicns.net/pub/gnu/gnu/
|
||
o [61]http://mirror.publicns.net/pub/gnu/gnu/
|
||
+ Taiwan
|
||
o [62]ftp://ftp.ntu.edu.tw/pub/gnu/gnu/
|
||
o [63]ftp://ftp.twaren.net/Unix/GNU/gnu/
|
||
o [64]http://ftp.twaren.net/Unix/GNU/gnu/
|
||
+ Thailand
|
||
o [65]http://ftp.thaios.net/gnu/
|
||
+ Vietnam
|
||
o [66]http://gnu.billfett.com/gnu/
|
||
o [67]http://gnu.07vn.com/gnu/
|
||
o [68]ftp://mirror-fpt-telecom.fpt.net/gnu/
|
||
o [69]http://mirror-fpt-telecom.fpt.net/gnu/
|
||
* Europe
|
||
+ Austria
|
||
o [70]ftp://gd.tuwien.ac.at/gnu/gnusrc/
|
||
o [71]http://gd.tuwien.ac.at/gnu/gnusrc/
|
||
+ Belgium
|
||
o [72]ftp://ftp.easynet.be/gnu/
|
||
o [73]http://ftp.easynet.be/ftp/gnu/
|
||
+ Czech Republic
|
||
o [74]ftp://ftp.sh.cvut.cz/MIRRORS/gnu/pub/gnu/
|
||
o [75]http://ftp.sh.cvut.cz/MIRRORS/gnu/pub/gnu/
|
||
+ Denmark
|
||
o [76]http://ftp.download-by.net/gnu/gnu/
|
||
+ Finland
|
||
o [77]ftp://ftp.funet.fi/pub/gnu/prep/
|
||
+ France
|
||
o [78]ftp://ftp.ironie.org/ftp.gnu.org/pub/gnu/
|
||
o [79]http://gnu.mirror.ironie.org/pub/gnu/
|
||
o [80]ftp://mirror.cict.fr/gnu/
|
||
+ Germany
|
||
o [81]ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.
|
||
org/
|
||
o [82]ftp://ftp.cs.tu-berlin.de/pub/gnu/
|
||
o [83]ftp://ftp.informatik.rwth-aachen.de/pub/gnu/
|
||
o [84]ftp://ftp.cw.net/pub/gnu/
|
||
o [85]ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.
|
||
org/
|
||
o [86]ftp://ftp.cw.net/pub/gnu/
|
||
o [87]http://www.de-mirrors.de/gnuftp/
|
||
o [88]http://www.very-clever.com/download/gnu/
|
||
o [89]http://mirrors.zerg.biz/gnu/
|
||
+ Greece
|
||
o [90]ftp://ftp.duth.gr/pub/gnu/
|
||
o [91]ftp://ftp.ntua.gr/pub/gnu/
|
||
o [92]ftp://ftp.cc.uoc.gr/mirrors/gnu/
|
||
o [93]http://ftp.cc.uoc.gr/mirrors/gnu/
|
||
+ Ireland
|
||
o [94]ftp://ftp.esat.net/pub/gnu/
|
||
o [95]ftp://ftp.heanet.ie/mirrors/ftp.gnu.org/gnu/
|
||
o [96]http://ftp.heanet.ie/mirrors/ftp.gnu.org/gnu/
|
||
+ Netherlands
|
||
o [97]ftp://ftp.mirror.nl/pub/mirror/gnu/
|
||
o [98]ftp://ftp.nluug.nl/pub/gnu/
|
||
o [99]http://gnu.cyclingchampion.com/gnu/
|
||
+ Norway
|
||
o [100]ftp://ftp.uninett.no/pub/gnu/
|
||
+ Poland
|
||
o [101]ftp://ftp.task.gda.pl/pub/gnu/
|
||
o [102]ftp://sunsite.icm.edu.pl/pub/gnu/
|
||
o [103]ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.gnu.org/g
|
||
nu/
|
||
o [104]http://piotrkosoft.net/pub/mirrors/ftp.gnu.org/gnu/
|
||
+ Portugal
|
||
o [105]ftp://mirrors.nfsi.pt/pub/gnu/
|
||
o [106]http://mirrors.nfsi.pt/gnu/
|
||
+ Russia
|
||
o [107]http://mirror.prvtgeo.com/ftp.gnu.org/
|
||
o [108]rsync://mirror.prvtgeo.com/gnuftp/
|
||
o [109]ftp://ftp.chg.ru/pub/gnu/
|
||
+ Slovenia
|
||
o [110]http://gnu.wsection.com/
|
||
o [111]http://mirror.lihnidos.org/GNU/ftp/
|
||
o [112]http://mirror.lihnidos.org/GNU/alpha/
|
||
+ Spain
|
||
o [113]ftp://ftp.gul.es/gnu/pub/gnu/
|
||
o [114]http://ftp.gul.es/gnu/pub/gnu/
|
||
+ Sweden
|
||
o [115]ftp://ftp.isy.liu.se/pub/gnu/
|
||
o [116]ftp://ftp.sunet.se/pub/gnu/
|
||
o [117]ftp://ftp.df.lth.se/pub/ftp.gnu.org/pub/gnu/
|
||
o [118]http://ftp.df.lth.se/pub/ftp.gnu.org/pub/gnu/
|
||
+ Switzerland
|
||
o [119]ftp://sunsite.cnlab-switch.ch/mirror/gnu/
|
||
+ Turkey
|
||
o [120]ftp://ftp.ulak.net.tr/gnu/gnu/
|
||
+ UK
|
||
o [121]ftp://www.mirrorservice.org/sites/ftp.gnu.org/
|
||
o [122]http://www.mirrorservice.org/sites/ftp.gnu.org/
|
||
+ Ukraine
|
||
o [123]ftp://ftp.gnu.org.ua/gnu/
|
||
|
||
Add your mirror to this list
|
||
|
||
We welcome and appreciate more mirrors. If you are able to provide
|
||
one, please see [124]http://www.gnu.org/server/mirror.html for
|
||
information and instructions.
|
||
|
||
TeX and how to obtain it
|
||
|
||
TeX is a document formatter that is used by the FSF for all its
|
||
documentation. You will need it if you want to make printed manuals.
|
||
|
||
TeX is freely redistributable. You can get it over the Internet or on
|
||
physical media. See [125]http://tug.org/texlive.
|
||
|
||
Supporting the free software movement
|
||
|
||
If you agree with the free software ideals we espouse, or just like
|
||
GNU software, please consider supporting the Free Software Foundation,
|
||
by joining as an associate member ([126]http://fsf.org/join), making a
|
||
donation ([127]http://www.fsf.org/associate/support_freedom/donate),
|
||
or buying books or promotional items ([128]http://shop.fsf.org). For
|
||
still other ways to contribute to GNU, both technical and
|
||
non-technical, see [129]http://www.gnu.org/help.
|
||
|
||
Your support will help ensure the future of free software.
|
||
|
||
[130]back to top
|
||
|
||
Please send FSF & GNU inquiries to [131]gnu@gnu.org. There are also
|
||
[132]other ways to contact the FSF.
|
||
Please send broken links and other corrections or suggestions to
|
||
[133]webmasters@gnu.org.
|
||
|
||
Please see the [134]Translations README for information on
|
||
coordinating and submitting translations of this article.
|
||
|
||
Copyright <20> 1997, 1998, 1999, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
||
Free Software Foundation, Inc.,
|
||
|
||
|
||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||
|
||
Verbatim copying and distribution of this entire article is permitted
|
||
worldwide without royalty in any medium provided this notice is
|
||
preserved.
|
||
|
||
Updated: $Date: 2009/04/12 16:23:45 $
|
||
|
||
Translations of this page
|
||
|
||
* [135]English [en]
|
||
|
||
References
|
||
|
||
1. file://localhost/home/troy/git/stow/experimental/ftp.html#content
|
||
2. file://localhost/home/troy/git/stow/experimental/ftp.html#searcher
|
||
3. file://localhost/home/troy/git/stow/experimental/ftp.html#translations
|
||
4. file://localhost/home/troy/git/stow/experimental/ftp.html#navigation
|
||
5. file://localhost/
|
||
6. file://localhost/gnu/gnu.html
|
||
7. file://localhost/philosophy/philosophy.html
|
||
8. file://localhost/licenses/licenses.html
|
||
9. file://localhost/software/software.html
|
||
10. file://localhost/help/help.html
|
||
11. https://www.fsf.org/associate/support_freedom?referrer=4052
|
||
12. http://www.gnu.org/order/ftp.html
|
||
13. mailto:gnu@gnu.org
|
||
14. ftp://ftp.gnu.org/
|
||
15. ftp://ftp.gnu.org/
|
||
16. http://ftpmirror.gnu.org/
|
||
17. http://gnu.org/software/gzip
|
||
18. http://bzip.org/
|
||
19. http://www.gnupg.org/documentation/faqs.en.html#q4.19
|
||
20. http://www.gnu.org/directory
|
||
21. ftp://mirrors.kernel.org/gnu/
|
||
22. http://mirrors.kernel.org/gnu/
|
||
23. ftp://ftp.keystealth.org/pub/gnu/gnu/
|
||
24. ftp://mirrors.usc.edu/pub/gnu/
|
||
25. http://mirrors.usc.edu/pub/gnu/
|
||
26. http://www.alliedquotes.com/mirrors/gnu/gnu/
|
||
27. http://cudlug.cudenver.edu/GNU/gnu/
|
||
28. http://mirror.its.uidaho.edu/pub/gnu/
|
||
29. ftp://mirror.its.uidaho.edu/gnu/
|
||
30. rsync://mirror.its.uidaho.edu/gnu
|
||
31. http://ftp.gnu.mirrors.hoobly.com/gnu/
|
||
32. ftp://mirror.anl.gov/pub/gnu/
|
||
33. http://mirror.anl.gov/pub/gnu/
|
||
34. http://www.netgull.com/gnu/
|
||
35. http://astromirror.uchicago.edu/gnu/
|
||
36. ftp://aeneas.mit.edu/pub/gnu/
|
||
37. http://ftp.wayne.edu/pub/gnu/
|
||
38. http://mirror.cinquix.com/pub/gnu/
|
||
39. ftp://mirror.cinquix.com/pub/gnu/
|
||
40. ftp://mirror.cinquix.com/
|
||
41. http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/
|
||
42. rsync://mirrors.ibiblio.org/
|
||
43. ftp://ftp.club.cc.cmu.edu/gnu/
|
||
44. http://ftp.club.cc.cmu.edu/pub/gnu/
|
||
45. http://www.gnu.potius.org/
|
||
46. http://gnu.inetbridge.net/
|
||
47. ftp://ftp.unicamp.br/pub/gnu/
|
||
48. ftp://mirror.csclub.uwaterloo.ca/gnu/
|
||
49. http://mirror.csclub.uwaterloo.ca/gnu/
|
||
50. ftp://gnu.mirror.iweb.com/gnu/
|
||
51. http://gnu.mirror.iweb.com/gnu/
|
||
52. rsync://gnu.mirror.iweb.com/gnu
|
||
53. ftp://mirrors.ucr.ac.cr/GNU/gnu
|
||
54. http://mirrors.ucr.ac.cr/GNU/gnu
|
||
55. rsync://mirrors.ucr.ac.cr/GNU/gnu
|
||
56. ftp://ftp.is.co.za/mirror/ftp.gnu.org/gnu
|
||
57. http://core.ring.gr.jp/pub/GNU/
|
||
58. ftp://ftp.ring.gr.jp/pub/GNU/
|
||
59. ftp://ftp.kaist.ac.kr/gnu/
|
||
60. ftp://mirror.publicns.net/pub/gnu/gnu/
|
||
61. http://mirror.publicns.net/pub/gnu/gnu/
|
||
62. ftp://ftp.ntu.edu.tw/pub/gnu/gnu/
|
||
63. ftp://ftp.twaren.net/Unix/GNU/gnu/
|
||
64. http://ftp.twaren.net/Unix/GNU/gnu/
|
||
65. http://ftp.thaios.net/gnu/
|
||
66. http://gnu.billfett.com/gnu/
|
||
67. http://gnu.07vn.com/gnu/
|
||
68. ftp://mirror-fpt-telecom.fpt.net/gnu/
|
||
69. http://mirror-fpt-telecom.fpt.net/gnu/
|
||
70. ftp://gd.tuwien.ac.at/gnu/gnusrc/
|
||
71. http://gd.tuwien.ac.at/gnu/gnusrc/
|
||
72. ftp://ftp.easynet.be/gnu/
|
||
73. http://ftp.easynet.be/ftp/gnu/
|
||
74. ftp://ftp.sh.cvut.cz/MIRRORS/gnu/pub/gnu/
|
||
75. http://ftp.sh.cvut.cz/MIRRORS/gnu/pub/gnu/
|
||
76. http://ftp.download-by.net/gnu/gnu/
|
||
77. ftp://ftp.funet.fi/pub/gnu/prep/
|
||
78. ftp://ftp.ironie.org/ftp.gnu.org/pub/gnu/
|
||
79. http://gnu.mirror.ironie.org/pub/gnu/
|
||
80. ftp://mirror.cict.fr/gnu/
|
||
81. ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/
|
||
82. ftp://ftp.cs.tu-berlin.de/pub/gnu/
|
||
83. ftp://ftp.informatik.rwth-aachen.de/pub/gnu/
|
||
84. ftp://ftp.cw.net/pub/gnu/
|
||
85. ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/
|
||
86. ftp://ftp.cw.net/pub/gnu/
|
||
87. http://www.de-mirrors.de/gnuftp/
|
||
88. http://www.very-clever.com/download/gnu/
|
||
89. http://mirrors.zerg.biz/gnu/
|
||
90. ftp://ftp.duth.gr/pub/gnu/
|
||
91. ftp://ftp.ntua.gr/pub/gnu/
|
||
92. ftp://ftp.cc.uoc.gr/mirrors/gnu/
|
||
93. http://ftp.cc.uoc.gr/mirrors/gnu/
|
||
94. ftp://ftp.esat.net/pub/gnu/
|
||
95. ftp://ftp.heanet.ie/mirrors/ftp.gnu.org/gnu/
|
||
96. http://ftp.heanet.ie/mirrors/ftp.gnu.org/gnu/
|
||
97. ftp://ftp.mirror.nl/pub/mirror/gnu/
|
||
98. ftp://ftp.nluug.nl/pub/gnu/
|
||
99. http://gnu.cyclingchampion.com/gnu/
|
||
100. ftp://ftp.uninett.no/pub/gnu/
|
||
101. ftp://ftp.task.gda.pl/pub/gnu/
|
||
102. ftp://sunsite.icm.edu.pl/pub/gnu/
|
||
103. ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.gnu.org/gnu/
|
||
104. http://piotrkosoft.net/pub/mirrors/ftp.gnu.org/gnu/
|
||
105. ftp://mirrors.nfsi.pt/pub/gnu/
|
||
106. http://mirrors.nfsi.pt/gnu/
|
||
107. http://mirror.prvtgeo.com/ftp.gnu.org/
|
||
108. rsync://mirror.prvtgeo.com/gnuftp/
|
||
109. ftp://ftp.chg.ru/pub/gnu/
|
||
110. http://gnu.wsection.com/
|
||
111. http://mirror.lihnidos.org/GNU/ftp/
|
||
112. http://mirror.lihnidos.org/GNU/alpha/
|
||
113. ftp://ftp.gul.es/gnu/pub/gnu/
|
||
114. http://ftp.gul.es/gnu/pub/gnu/
|
||
115. ftp://ftp.isy.liu.se/pub/gnu/
|
||
116. ftp://ftp.sunet.se/pub/gnu/
|
||
117. ftp://ftp.df.lth.se/pub/ftp.gnu.org/pub/gnu/
|
||
118. http://ftp.df.lth.se/pub/ftp.gnu.org/pub/gnu/
|
||
119. ftp://sunsite.cnlab-switch.ch/mirror/gnu/
|
||
120. ftp://ftp.ulak.net.tr/gnu/gnu/
|
||
121. ftp://www.mirrorservice.org/sites/ftp.gnu.org/
|
||
122. http://www.mirrorservice.org/sites/ftp.gnu.org/
|
||
123. ftp://ftp.gnu.org.ua/gnu/
|
||
124. http://www.gnu.org/server/mirror.html
|
||
125. http://tug.org/texlive
|
||
126. http://fsf.org/join
|
||
127. http://www.fsf.org/associate/support_freedom/donate
|
||
128. http://shop.fsf.org/
|
||
129. http://www.gnu.org/help
|
||
130. file://localhost/home/troy/git/stow/experimental/ftp.html#header
|
||
131. mailto:gnu@gnu.org
|
||
132. file://localhost/contact/
|
||
133. mailto:webmasters@gnu.org
|
||
134. file://localhost/server/standards/README.translations.html
|
||
135. file://localhost/order/ftp.html
|