I've just uploaded version 2.2 of debmirror, which introduces yet another
new feature: mirroring the i18n/Translation files that contain translations
of package descriptions. Many thanks to Joerg Jaspert for his quick response
to my request to include those files in the
Release file.
Joerg also implemented the change needed to use the diffs for Contents files
but that requires a fairly big code restructuring in debmirror.
The package has jumped from version 1.0 to 2.2 in just three weeks (closing 28 bug reports in the process), but I think the changes justify that. Here's an overview.
Automatic creation and update of
suite->codenamesymlinks (1.0)This also means it no longer makes any difference whether you tell
debmirrorto mirrorsidorunstable.Option to cache the mirror state between runs (2.0)
This significantly reduces the trashing of the hard disk during mirror updates and cleanup, and improves the efficiency of individual runs.
The disk trashing has always been the main reason I did not want to do more than one update per day for my local mirror. Now it hardly matters how many runs I do: almost everything is done based on the cache data.
To ensure the mirror stays consistent the cache has a (configurable) maximum life time after which a full check of the mirror will be done, if desired including an md5sum check of all files.
Significant speed increase for parsing
Packages/Sourcesfiles (2.0)For my mirror that stage now takes seconds rather than minutes. Additional speed increases should be possible in the stage that fetches the
PackagesandSourcesfiles.Mirroring of "current" Debian Installer images (2.0)
Which architectures and suites should be mirrored can be specified independently from the rest of the mirror.
Mirroring additional files from specific directories (2.1)
This allows mirroring of "trace files", of the contents of the
./docand./toolsdirectories (which are needed if you want to create CD images usingdebian-cd, and of the./indicesdirectory.The transfer method used for this is always
rsync, independent of the transfer method used for the rest of the archive. This is a restriction, butrsyncis also the only usable option for files for which no real index or checksums are available.Mirroring translation files (2.2)
As
debmirroris primarily intended to be used for local, often partial, mirrors, it is of course possible to mirror only selected languages. Interested only in German and French translations? Simple, just use:--i18n --exclude='/Translation-.*\.bz2$' --include='/Translation-(de|fr).*\.bz2$'I've used '
(de|fr).*' so that also country-specific variants (e.g.fr_FR) will be included.
If you're currently using the Lenny version of debmirror and would like to
use the new features: the package from unstable can be installed on Lenny
without any problems. The changes have been well tested, but I would advice to
do use --dry-run after the upgrade to check there are no unexpected problems.
One area where you may experience problems is when using debmirror for
other archives than the official Debian mirrors. If you do encounter issues
then please file a bug report.
Note that debmirror is not intended to be used for official mirrors.
There are different scripts
available for that from the Debian mirror team.