Ralph Angenendt wrote:
I have been looking what Fedora is (or was) doing with Jigdo. It seems to solve some problems and create new ones[1].
Let me look into that.
From the os directory something like this should produce jigdo files/templates for all associated iso files.
for arch in i386 x86_64 do rsync -a --delete --delete-excluded \ --exclude 'repodata/' --exclude 'EULA' \ --exclude 'GPL' --exclude 'NOTES/' \ --exclude 'RELEASE-NOTES*' --exclude 'RPM-GPG-KEY*' \ --link-dest=../$arch/ $arch/ ${arch}.jigdo/
for iso in $(find ../isos/i386/ -name '*.iso' -size +100000) do jigdo-file make-template --force -i $iso \ -j ${iso%.iso}.jigdo -t ${iso%.iso}.template \ --label CentOS=$arch.jigdo/ \ --uri CentOS=http://mirror.centos.org/centos/5/os/$arch/ \ ${arch}.jigdo// done done
After the files/templates are created they can be moved to a different/better location as well as updating the Servers section if desired.
Hope this helps someone,
-Shad
Shad,
----- "Shad L. Lords" slords@lordsfam.net wrote:
From the os directory something like this should produce jigdo files/templates for all associated iso files.
for arch in i386 x86_64 do rsync -a --delete --delete-excluded \ --exclude 'repodata/' --exclude 'EULA' \ --exclude 'GPL' --exclude 'NOTES/' \ --exclude 'RELEASE-NOTES*' --exclude 'RPM-GPG-KEY*' \ --link-dest=../$arch/ $arch/ ${arch}.jigdo/
for iso in $(find ../isos/i386/ -name '*.iso' -size +100000) do jigdo-file make-template --force -i $iso \ -j ${iso%.iso}.jigdo -t ${iso%.iso}.template \ --label CentOS=$arch.jigdo/ \ --uri CentOS=http://mirror.centos.org/centos/5/os/$arch/
\ ${arch}.jigdo// done done
After the files/templates are created they can be moved to a different/better location as well as updating the Servers section if desired.
Thanks for the recipe. Worked for me. My only complaint is that the .template files are about 2/3rds the size of the .iso they are for... so you end up downloading 2/3rds of an ISO as a template, then all of the files that make up the media... and then have to process it for your own .iso.
If you have a local copy of a the repos it pulls from that is handy... but if not, it seems to be significantly more downloading for the end user than just the .iso media... and the only transfer savings for the provider of the .jigdo (rather than providing the .isos) is that 1/3rd-ish savings over the .iso.
Is that how it is supposed to work?
I've used jigdo quite a bit for downloading Fedora Unity respins and since I have my own local repo copies I only ended up transfering the .template files rather as all of the packages came locally.
TYL,
Scott Dowdle wrote:
Shad,
----- "Shad L. Lords" slords@lordsfam.net wrote:
From the os directory something like this should produce jigdo files/templates for all associated iso files.
for arch in i386 x86_64 do rsync -a --delete --delete-excluded \ --exclude 'repodata/' --exclude 'EULA' \ --exclude 'GPL' --exclude 'NOTES/' \ --exclude 'RELEASE-NOTES*' --exclude 'RPM-GPG-KEY*' \ --link-dest=../$arch/ $arch/ ${arch}.jigdo/
for iso in $(find ../isos/i386/ -name '*.iso' -size +100000) do jigdo-file make-template --force -i $iso \ -j ${iso%.iso}.jigdo -t ${iso%.iso}.template \ --label CentOS=$arch.jigdo/ \ --uri CentOS=http://mirror.centos.org/centos/5/os/$arch/
\ ${arch}.jigdo// done done
After the files/templates are created they can be moved to a different/better location as well as updating the Servers section if desired.
Thanks for the recipe. Worked for me. My only complaint is that the .template files are about 2/3rds the size of the .iso they are for... so you end up downloading 2/3rds of an ISO as a template, then all of the files that make up the media... and then have to process it for your own .iso.
If you have a local copy of a the repos it pulls from that is handy... but if not, it seems to be significantly more downloading for the end user than just the .iso media... and the only transfer savings for the provider of the .jigdo (rather than providing the .isos) is that 1/3rd-ish savings over the .iso.
Is that how it is supposed to work?
I don't have the DVD iso so I'm not sure about that one but when I ran it for the CD iso's I got a template of about 15MB for disc1 and < 1MB for each of the other discs. If you remove the exclude for NOTES/ from the rsync then the template drops to < 5MB (but you have to download all the release notes).
Are you sure you had a complete rsync of the os directory without excluding anything prior to running the above command? This was really more a recipe for the CentOS folks to as an example of how easy it would be to create jigdo/template files from their master area that could then be pushed to the mirrors for everyone to enjoy.
-Shad
Shad L. Lords wrote:
Ralph Angenendt wrote:
I have been looking what Fedora is (or was) doing with Jigdo. It seems to solve some problems and create new ones[1].
Let me look into that.
From the os directory something like this should produce jigdo files/templates for all associated iso files.
Hmmmmm. Hmmmm. Hmmm. Any Jigdo-Howto-For-Dummies out there? What am I supposed to do with those files then?
After the files/templates are created they can be moved to a different/better location as well as updating the Servers section if desired.
Hope this helps someone,
Let's see :)
Cheers,
Ralph
Shad,
----- "Shad L. Lords" slords@lordsfam.net wrote:
for iso in $(find ../isos/i386/ -name '*.iso' -size +100000)
Duh, found the error. It is "i386" above. That should be "$arch". What it was doing was it would build the i386 .jigdo and .template files for i386... and then it would move on to the loop for x86_64 and be building them against the i386 isos and having to embed the missing files that differed from the x86_64.jigdo/ directory. I fixed that typo and it worked fine.
Using a mounted DVD .iso as my source directory I did remove all of your excludes in the rsync section and added --exclude 'TRANS.TBL'. To test I built all of the isos and checked the sha1sums against the official CDs and they came out perfect.
TYL,