Extras/FedoraMirrorHOWTO

= Fedora Mirror HOWTO =

Click here for Fedora Current Disk Usage

1. E-mail mirror coordinator Stephan Gael  and CC  the following information. This information will be used to accept your subscription to mirror-list-d, and add you to the [wiki:Self:FedoraExtrasMirrorList Fedora Extras Mirror List].
 * Name, e-mail for contact.
 * IP address and hostname of your mirror server.
 * Maximum Bandwidth, amount of bandwidth allowed to mirror.
 * City, Country.
 * Choose which [wiki:Self:Extras/FedoraTier1Mirrors tier 1 mirror] you wish to rsync data from.
 * Please indicate if you wish to be a tier 1 mirror,  authenticated or public.
 * Base URL that will contain your Fedora mirror (i.e. http://download.fedora.us/fedora)
 * Join the mirror-list-d@fedora.us mailing list, a private mailing list for mirror maintainer discussions. The mirror coordinator will approve your subscription soon after your request if you have submitted a valid mirror request.

Tier 1 Mirrors
Tier 1 mirrors sync with the Hawaii master mirror every 30-60 minutes using a safe locking rsync script. These Tier 1 mirrors then provide rsync access for other mirrors, either authenticated or public access. Public access is of course easier to maintain since you don't need to keep updating the access control lists.

Tier 2 Mirrors
These are normal mirrors that do not need to sync as often a Tier 1 mirrors since other mirrors do not depend on them. Tier 2 mirrors rsync ONLY with Tier 1 mirrors.

Initial Rsync
1. First read the rsync tips near the bottom of this page for important warnings.
 * After you have been granted rsync access, use a command like rsync -auv SERVERNAME::fedora /local/fedora/path to begin the sync process.
 * If you already have the Red Hat Linux web hosting RPMS and SRPMS packages locally, hit CTRL-C after it created the directories and make hard links from your existing packages to the Fedora repository. This will save you download time while saving much disk space due to hardlinks. man cp and look for the -l switch for an easy way to hardlink.
 * After you have hardlinked files, run the original rsync command again and it will download the Fedora tree to your local host.

Schedule Rsync in Cron
1. Please use a script run from cron to regularly keep your Fedora mirror in sync. You may modify our sample mirror script  to help get you started.
 * Set your cron interval to a reasonable amount. Every 30 minutes is probably too often, but 48 hours may be not often enough. Use your best judgement.

TODO: Make a "push-primary" mirror system like Debian one day...

Mirror Tips

 * You may want to add --delete to your rsync command line later so that removed packages are deleted when you sync again. Be very careful when using the --delete switch because rsync can easily delete files that you may want if your local path is set incorrectly!
 * It is highly recommended that you serve the mirror from HTTP, because it is far more smoother for users while faster than FTP.
 * TODO: Write about optionally generating apt and yum sources locally after an rsync
 * If you did not hardlink Red Hat's RPMS and SRPMS before mirroring Fedora and you have Red Hat's RPMS elsewhere on the same partition, you can still use the hardlink tool in order to hardlink these files and save disk space. You can install hardlink from Fedora stable.
 * Never use -z or -H rsync options as they are largely useless, create a large amount of extra server load with relatively no gain. You are encouraged to use -auv and optionally --delete. This should be faster while preserve hardlinks on your server.