Fink is hosted by Sourceforge but all mirroring is done from OpenDarwin . Here are the services OpenDarwin and Fink are currently looking for mirrors to host. Opendarwin and Fink work closely together, thus if you think about being a full mirror please also consider mirroring OpenDarwins services. Everything for Fink is hosted under the finkmirrors.net domain. For each service someone mirrors, we will create dns entries.
We are currently looking for those who are willing to share around 100MB of their hard-drive and a liberal amount of their bandwidth. Fink is now using rsync as its preferred info file distribution method and it is important to us, that those files are always available. So if you cannot afford to share more than around the size mentioned, please do consider being a rsync only mirror.
Generally speaking the Fink mirror structure is as follows and please keep in mind these dns entries aren't typically for human use. [yourairporttag].[state].[continent].finkmirrors.net and [yourairporttag].finkmirrors.net as a shortcut will be used for rsync mirrors of the Fink info files.
Those websites who wish to mirror the so called distfiles Opendarwin and Fink use will need two additional dns entries named: distfiles.[yourairporttag].[state].[continent].finkmirrors.net as well as distfiles.[yourairporttag].finkmirrors.net
Please note that we do not recommend using CNAME records, although we are using them in a couple of cases. If you have a load balanced environment that is handled via DNS load balancing, we are more than happy to add all of your IPs as A records. We will also handle the necessary DNS updates, should your setup change.
Fink administrators, see the Server Administration page for details on updating records for mirrors.
To keep update times as low as possible and ensure that the whole mirror structure stays as current as possible there are a few special server called Master mirrors To become a Master mirror you have to meet certain requirements:
- It needs to mirror the rsync Fink parts as well as distfiles
- Enough spare ressources to sync directly from Fink CVS every 15 minutes
- It needs to update every day for new distfiles (the source files needed to build fink packages)
- The machine needs to be connected at 100Mbit
- There may not be any traffic caps
- The server has to be able to sustain heavy load (more than 1000 concurrent user)
- The physical location of the server has to be multi-homed
As a Master expect A LOT of traffic, since all smaller Mirrors on your continent will update from you.
Description: these are the original sources (usually tar.gz's) fetched by fink and darwin ports when building packages.
Protocol: HTTP This should have 2 virtual hosts.
You may mirror those files using rsync
rsync://master.us.finkmirrors.net/distfiles will get you all the necessary files.
If you cannot use rsync, the files are also available via http at distfiles.master.finkmirrors.net
Fink specific setup:
For Fink the vhosts should read: distfiles.[yourairporttag].[yourcountrycode].[yourcontinent]. and distfiles.[yourairporttag].finkmirrors.net The distfiles are all in the top level. A sample Apache Vhost entry could read:
<VirtualHost 220.127.116.11> ServerName distfiles.ham.de.eu.finkmirrors.net ServerAdmin firstname.lastname@example.org DocumentRoot /somepath </VirtualHost> <VirtualHost 18.104.22.168> ServerName distfiles.ham.finkmirrors.net ServerAdmin email@example.com DocumentRoot /Somepath </VirtualHost>
Size: ~90G (02/08/12)
Be prepared for ~250MB/month growth in this archive.
Distfile mirrors need to have at least the equivalent of a T3/E3 in connectivity.
Description: These are the fink .info and .patch files retrieved by fink when doing a 'fink selfupdate'.
This needs to be retrieved via anonymous rsync. These files can be placed anywhere, but make sure your rsync site has tag 'finkinfo' available, and pointing to the directory containing these files.
Here is a sample rsync config entry:
[finkinfo] path = /Path/src/fink/finkinfo comment = Fink .info files pulled from cvs
You may of course display a MOTD of your choice.
Size: ~ 520MB (02/08/12)
This archive does not grow very quickly.
Mirroring Method: The finkinfo files can be retrieved from the master Fink site using
The master site is updated hourly.
Bandwidth Requirements: This really depends on your geographic location and how popular your server will be.
Estimate ~50-100kB/s sustained.
Rsync switches To ensure that the data is synced correctly and old files are being deleted you need to use: -az --delete --delete-after in all of your rsync lines.
Rsync mirrors have to update in an interval less than 90 minutes. An intervall of 30 minutes is recommended.
Data distribution has to be as consistent as possible within the Fink mirror system. Thus every rsync mirror has to follow a certain sync procedure.
- First sync the finkinfo tag from a Master using --exclude=TIMESTAMP
- If the sync returned no errors sync the TIMESTAMP file from the Master
This file holds the output of date -u +%s and will be updated every time the Master has finished syncing with CVS.
Furtermore your mirror will have to run a script which echos the output of date -u +%s or any other code construct which creates a UTC timestamp to a file called LOCAL in your finkinfo tag's root. This file will be used by our statistics server to tell when your mirror last synced from the Master. It needs to be updated every time your syncing routine finishes. Rsync mirrors need to have a connectivity of at least 10Mbit