Using and running mirrors
Downloading from mirrors
First, for users/downloaders: the address http://ftpmirror.gnu.org/
multiplexes between the mirrors, trying to choose one that is nearby and
up to date. E.g., http://ftpmirror.gnu.org/emacs/
goes to a mirror's directory of GNU
Emacs. We recommend using this generic ftpmirror.gnu.org address
wherever possible in links, documentation, etc., to reduce load on the
main GNU server.
Mirroring the GNU FTP server
Mirroring the GNU FTP server requires approximately 46GB disk space
(as of June 2013). You can rsync directly from ftp.gnu.org:
rsync -rltpHS --delete-excluded rsync://ftp.gnu.org/gnu/ /your/dir/
However, please consider mirroring from another site, again to reduce
load on the GNU server. These sites provide access to all the material
on ftp.gnu.org. They update from us nightly (at least) and you may
access them with (via rsync):
- rsync://mirrors.ispros.com.bd/gnu/ (Bangladesh)
- rsync://gnu.c3sl.ufpr.br/gnu/ftp/ (Brazil)
- rsync://ftp.hawo.stw.uni-erlangen.de/gnu (Germany)
- rsync://ftp.funet.fi/ftp/pub/gnu/prep/ (Finland)
- rsync://mirror.team-cymru.org/gnu/ (Illinois, USA)
- rsync://mirror.arbitrary.nl/gnu/ (Netherlands)
- rsync://mirrors.ibiblio.org/gnuftp/ (North Carolina, USA)
- rsync://mirror.uber.com.au/gnu (Australia)
- rsync://ftp-gnu-org.ip-connect.vn.ua/ftp.gnu.org/ (Ukraine)
rsync is so much more efficient than other protocols that we
always recommend rsync for mirror transfers, with
the options above, to ensure an exact copy.
You can keep your mirror private, but we appreciate the support if
you can make your mirror public. To add your mirror to the public mirror list, we require (and
recommend) a daily update frequency. After establishing your
mirror, please contact <[email protected]> so we
can review it. Please provide the following:
- URL of the mirror (ftp/http/rsync as appropriate),
- country where the mirror is located,
- update frequency (once daily is recommended),
- preferred contact information for any mirror-related issues
(we will keep all contact information confidential), and
- whether your site can also be a source for other mirrors.
In general, mirrors run by both individuals and organizations that want to
support free software are welcome and appreciated. Mirrors that are run for
the purpose of gaining advertising links or other recognition from our site,
or that are engaged in unethical activity, are not accepted on our list.
Web setup for mirrors
It is very useful to make your mirror available to users via http, so
please support this if you can. Please set up your web server
configuration to avoid sending .gz.sig files (signatures of
compressed files, of which there are many on our servers) as
gzip-encoded. For Apache, this means:
AddType application/pgp-signature .sig
# make sure .sig files are _not_ sent with "Content-Encoding: gzip".
<Files *.gz.sig>
RemoveEncoding .gz
</Files>
<Files *.tgz.sig>
RemoveEncoding .tgz
</Files>
Variation: if your AddEncoding lines do not have a leading dot for
the extension, for instance like this:
AddEncoding x-gzip gz tgz
then the RemoveEncoding lines should also not have a leading dot.
Finally, we highly recommend the following setting, so that users can
see full filenames in generated listings instead of having them be
truncated:
IndexOptions NameWidth=*
Ibiblio mailing lists
For those mirroring from ibiblio, ibiblio-mirrors
and ibiblio-announce
are low-traffic mailing lists for admins of sites mirroring from ibiblio
servers. Also, specific questions and problem reports can be submitted to ibiblio.
Mirroring the GNU Alpha release server
ftp.gnu.org and other sites also offer alpha.gnu.org (around 10GB) for
your mirroring pleasure:
- rsync://ftp.gnu.org/alpha/
- rsync://mirrors.ibiblio.org/gnualpha/
- rsync://ftp.funet.fi/ftp/pub/mirrors/alpha.gnu.org/gnu/
- rsync://gnu.c3sl.ufpr.br/gnu/alpha/
Nightly updates are sufficient for GNU FTP and Alpha material.
Mirroring nongnu releases from Savannah
We also greatly appreciate additional mirrors of the
nongnu projects hosted at savannah.nongnu.org. The total is
currently around 22GB. To do this, we recommend you retrieve and
update the files using rsync, with the same options as above for
ftp.gnu.org, namely:
rsync -rltpHS --delete-excluded rsync://dl.sv.gnu.org/releases/ /your/dir
These options ensure that it is an exact mirror. (There will
probably be some permission errors; just ignore them. They are due to
choices or mistakes by individual project maintainers.)
It is fine to update savannah/nongnu once a day as well; twice a day
if you like. More than that is not worth the bandwidth, the contents
are not that dynamic.
If you can help with this, please email us with the url to your
mirror so we can add you to the list.
Thanks!
(Not) Mirroring the GNU web server
We no longer recommend creating web mirrors, because it has turned
out that (a) few people can make use of them, and (b) many
mirrors either became out of date or went offline relatively frequently.
We don't want outdated information about the GNU project to be
disseminated.
Nonetheless, if you wish to mirror www.gnu.org for your own
purposes, that is ok with us. We recommend using mod_proxy.
Here is an
unsupported recipe of Apache directives for your
<VirtualHost>:
ServerName gnumirror.example.org
CacheRoot "/var/cache/mod_proxy"
CacheDefaultExpire 86400 # for Apache 2.0+, value is in seconds
ProxyPass / http://www.gnu.org/
CacheEnable disk /
(Thanks to Juri Hoerner for providing this Apache information.)