Using and running mirrors
First, 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/ should go to a mirror's directory of GNU Emacs. We recommend using this generic address wherever possible, to reduce load on the main GNU server.
Mirroring the GNU FTP server
If you establish a mirror of ftp.gnu.org, please drop us a line at <webmasters@gnu.org> so we can add you to the mirror list. And thanks.
Mirroring the entire GNU FTP server requires approximately 40GB disk space (as of 22 February 2009), which is distributed by the following way:
/gnu: 18G /non-gnu: 400M /old-gnu: 2G
Due to resource and security concerns, we no longer offer direct rsync or special FTP service to update mirrors. If you would like to use rsync (which is advisable) or FTP, several reliable third party sites provide access to all the material on ftp.gnu.org. They update from us nightly and you may access them with (via rsync):
- rsync://ftp.funet.fi/ftp/pub/mirrors/ftp.gnu.org/pub/gnu/ (Finland)
- rsync://gnu.c3sl.ufpr.br/gnu/ftp/ (Brazil)
- rsync://mirror.its.uidaho.edu/gnu/ (Idaho, USA)
- rsync://mirrors.ibiblio.org::gnuftp/ (North Carolina, USA)
- mirror.cinquix.com::gnuftp (New York, USA)
If your site can also offer general access for other mirrors, please contact us.
rsync is so much more efficient than other protocols that we recommend using only rsync for mirror transfers.
If your mirror will be available to users via http (which is very useful, so please enable this if you can), please set up your 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 would mean:
AddType application/pgp-signature .sig # make sure .sig files are _not_ sent with "Content-Encoding: gzip". <Files *.gz.sig> RemoveEncoding .gz </Files>
Tips on updating from Ibiblio
- Ibiblio recommends using -rltp --delete --ignore-errors for mirroring content via rsync. Using -x tends to cause client-side problems because they disable compression on their end. These options are good for the other mirror sources too.
- For mirror admins, ibiblio-mirrors is a low-traffic email list for sites that mirror content from ibiblio servers. Here's a link to the mailman list page: http://lists.ibiblio.org/mailman/listinfo/ibiblio-mirrors. Specific questions and problem reports can be sent to: help-at-ibiblio-dot-org.
Mirroring the GNU Alpha FTP server
These sites also offer alpha.gnu.org (around 2GB) for your mirroring pleasure:
- 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 are looking for volunteers to mirror releases of
the nongnu projects hosted
at savannah.nongnu.org. The
total is currently around 12GB. To do this, we strongly suggest you
retrieve and update the files using
rsync -aHS --delete-excluded --ignore-errors rsync://dl.sv.gnu.org/releases/ /yourdir
The 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 savannah project maintainers.)
It is fine to update the 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 are able to 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 users can use 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.