Search This Blog

2014-06-12

PXE repodata problems CentOS primary.sqlite.bz2 not found

When installing over the network using a CentOS disc it turns out that the repodata directory does not contain the appropriate file extensions that are mapped in the TRANS.TBL mapping.

Example Failure:
failure:
repodata/0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c-primary.sqlite.bz2
from anaconda-CentOS-201311272149.x86_64: [Errno 256] No more mirrors to try.
('custom', ['_Exit installer', 'Edit', '_Retry', '_Continue'])


Example Mapping in TRANS.TBL:
cat TRANS.TBL
F 0DAFCCFD.BZ2;1 0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c-primary.sqlite.bz2
F 495D3964.GZ;1 495d3964f864fbab835ea1afb8a5272352cd12ded13d607205109fefaddd0ab6-primary.xml.gz
F 594D4BB4.BZ2;1 594d4bb4a79ed01d66635adbcf76c45ca4a85b30fc3e3c3c28316e64f0a83f21-filelists.sqlite.bz2
F 5AF8199B.GZ;1 5af8199bd0ffb441c34ef946582d0d06c1ad770755e631690771e0bceb0ad222-other.xml.gz
F 6AC72F49.GZ;1 6ac72f497df511cc2dc584eaa59779884fc572c1618e7c62dbd631ab8babf53d-filelists.xml.gz
F B4E0B934.XML;1 b4e0b9342ef85d3059ff095fa7f140f654c2cb492837de689a58c581207d9632-c6-x86_64-comps.xml
F CA525C73.GZ;1 ca525c73086186bfcb81ad9edd45796026dac7e4e50524e0f2daf901532aaf66-c6-x86_64-comps.xml.gz
F FDD542EF.BZ2;1 fdd542ef36b0cde54ee0521fae90b98911db06483163aa1c049995b6d109349b-other.sqlite.bz2
F REPOMD.XML;1 repomd.xml


Example Content of CentOS Disc under repodata. Notice the missing extensions like -primary.sqlite.bz2
ls
0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c
6ac72f497df511cc2dc584eaa59779884fc572c1618e7c62dbd631ab8babf53d
fdd542ef36b0cde54ee0521fae90b98911db06483163aa1c049995b6d109349b
495d3964f864fbab835ea1afb8a5272352cd12ded13d607205109fefaddd0ab6
TRANS.TBL
repomd.xml
594d4bb4a79ed01d66635adbcf76c45ca4a85b30fc3e3c3c28316e64f0a83f21
b4e0b9342ef85d3059ff095fa7f140f654c2cb492837de689a58c581207d9632
5af8199bd0ffb441c34ef946582d0d06c1ad770755e631690771e0bceb0ad222
ca525c73086186bfcb81ad9edd45796026dac7e4e50524e0f2daf901532aaf66


If you rename the files to their appropriate TRANS.TBL mapping it will end up working
for i in *
do
newfilename=$(grep $i TRANS.TBL|awk '{print$3}')
if [ -n "$newfilename" ]
then
mv -v $i $newfilename
fi
done



Example Execution:
for i in *
do
newfilename=$(grep $i TRANS.TBL|awk '{print$3}')
if [ -n "$newfilename" ]
then
mv -v $i $newfilename
fi
done
0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c -> 0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c-primary.sqlite.bz2
495d3964f864fbab835ea1afb8a5272352cd12ded13d607205109fefaddd0ab6 -> 495d3964f864fbab835ea1afb8a5272352cd12ded13d607205109fefaddd0ab6-primary.xml.gz
594d4bb4a79ed01d66635adbcf76c45ca4a85b30fc3e3c3c28316e64f0a83f21 -> 594d4bb4a79ed01d66635adbcf76c45ca4a85b30fc3e3c3c28316e64f0a83f21-filelists.sqlite.bz2
5af8199bd0ffb441c34ef946582d0d06c1ad770755e631690771e0bceb0ad222 -> 5af8199bd0ffb441c34ef946582d0d06c1ad770755e631690771e0bceb0ad222-other.xml.gz
6ac72f497df511cc2dc584eaa59779884fc572c1618e7c62dbd631ab8babf53d -> 6ac72f497df511cc2dc584eaa59779884fc572c1618e7c62dbd631ab8babf53d-filelists.xml.gz
b4e0b9342ef85d3059ff095fa7f140f654c2cb492837de689a58c581207d9632 -> b4e0b9342ef85d3059ff095fa7f140f654c2cb492837de689a58c581207d9632-c6-x86_64-comps.xml
ca525c73086186bfcb81ad9edd45796026dac7e4e50524e0f2daf901532aaf66 -> ca525c73086186bfcb81ad9edd45796026dac7e4e50524e0f2daf901532aaf66-c6-x86_64-comps.xml.gz
fdd542ef36b0cde54ee0521fae90b98911db06483163aa1c049995b6d109349b -> fdd542ef36b0cde54ee0521fae90b98911db06483163aa1c049995b6d109349b-other.sqlite.bz2
repomd.xml -> repomd.xml


Note: If the ISO is mounted in BSD it will interpret the file names fine.
mdconfig -a -t vnode -f CentOS-6.5-x86_64-bin-DVD1.iso -u 1
mount -t cd9660 /dev/md1 /mnt/iso/
ls /mnt/iso/repodata/
0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c-primary.sqlite.bz2
495d3964f864fbab835ea1afb8a5272352cd12ded13d607205109fefaddd0ab6-primary.xml.gz
594d4bb4a79ed01d66635adbcf76c45ca4a85b30fc3e3c3c28316e64f0a83f21-filelists.sqlite.bz2
5af8199bd0ffb441c34ef946582d0d06c1ad770755e631690771e0bceb0ad222-other.xml.gz
6ac72f497df511cc2dc584eaa59779884fc572c1618e7c62dbd631ab8babf53d-filelists.xml.gz
TRANS.TBL
b4e0b9342ef85d3059ff095fa7f140f654c2cb492837de689a58c581207d9632-c6-x86_64-comps.xml
ca525c73086186bfcb81ad9edd45796026dac7e4e50524e0f2daf901532aaf66-c6-x86_64-comps.xml.gz
fdd542ef36b0cde54ee0521fae90b98911db06483163aa1c049995b6d109349b-other.sqlite.bz2
repomd.xml

 
Unmount
umount /mnt/iso
mdconfig -d -u 1

Filename Truncation in Joliet

"The specification only allows filenames to be up to 64 Unicode characters in length" - http://en.wikipedia.org/wiki/Joliet_%28file_system%29

So it seems like some windows utilities do not support the "Rock Ridge / SUSP" filesystem enhancements to ISO9660 - http://en.wikipedia.org/wiki/Rock_Ridge

The issue is also detailed in a vmware KB. http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1005283

Longest files on the CentOS Disc (it seems like some get pretty close but only hte repodata files should be affected):
61 thai-scalable-tlwgtypewriter-fonts-0.4.12-2.1.el6.noarch.rpm
62 java-1.6.0-openjdk-javadoc-1.6.0.0-1.66.1.13.0.el6.x86_64.rpm
62 libXcursor-devel-1.1.13-6.20130524git8f677eaea.el6.x86_64.rpm
63 libreport-plugin-reportuploader-2.0.9-19.el6.centos.x86_64.rpm
65 xorg-x11-drv-vmware-12.0.2-3.20120718gite5ac80d8f.el6.x86_64.rpm
78 5af8199bd0ffb441c34ef946582d0d06c1ad770755e631690771e0bceb0ad222-other.xml.gz
80 495d3964f864fbab835ea1afb8a5272352cd12ded13d607205109fefaddd0ab6-primary.xml.gz
82 6ac72f497df511cc2dc584eaa59779884fc572c1618e7c62dbd631ab8babf53d-filelists.xml.gz
82 fdd542ef36b0cde54ee0521fae90b98911db06483163aa1c049995b6d109349b-other.sqlite.bz2
84 0dafccfdbf892f02acca8267ade4bdcee7280a682e65dc7e29145f3341fd7a8c-primary.sqlite.bz2
85 b4e0b9342ef85d3059ff095fa7f140f654c2cb492837de689a58c581207d9632-c6-x86_64-comps.xml
86 594d4bb4a79ed01d66635adbcf76c45ca4a85b30fc3e3c3c28316e64f0a83f21-filelists.sqlite.bz2
88 ca525c73086186bfcb81ad9edd45796026dac7e4e50524e0f2daf901532aaf66-c6-x86_64-comps.xml.gz




References:
http://pcservis.flimel.eu/error-with-installation-centos-6-5-repodata-missing-files/
http://stackoverflow.com/questions/21637068/unable-to-read-package-metadata-this-may-be-due-to-missing-repodata-directory
http://lists.centos.org/pipermail/centos/2014-January/140214.html
http://blog.up-link.ro/how-to-mount-iso-images-in-freebsd-and-linux/
http://www.controlledvocabulary.com/imagedatabases/filename_limits.html

No comments:

Post a Comment