Yum – [Errno -3] Error performing checksum

I was recently assigned to setup satellite server for RHEL and Oracle Linux for a Bank so that they can do the updates loally without connecting to the Internet.

The Red Hat satellite server installation was very smooth because Red Hat keeps an up to date version of their Knowledge Base.

But with the Oracle Linux satellite, Well… its not a satellite, Its just a Yum server which served through HTTP.

Ok,  As per Oracle’s one page documentation, its very easy to setup on a OEL 5 or OEL 6. So i did everything as per the document on an OEL 6, and the last step is to run the magic script to sync all the packages from the server to the local yum server. I ran the magic script and sync went fine.

Now its the time to test the Yum server by connecting a local server to it for the update.

Test client server is OEL 5.8 . I copied the .repo information file to the client server and ran the “yum update” .

Boom !!!… I got the following error,

**Error :**

` “http://host.domain.com/yum/OracleLinux/OL5/latest/x86_64/repodata/1d424950f8a8eaa6959c02f0621141f77a64b48861aa8129d3176e0a2708e214-updateinfo.xml.gz: [Errno -3] Error performing checksum” `

### **Analysis**

As usual, I had a google search and found that, In RHEL 6 or the copy cat OEL 6 is using the new python 2.6.6 and Its creating the repomd.xml file with AES 256 checksum and it the yum can read this on rhel 6, But the Version 5 of RHEL and OEL yum cannot read it because of the old python version (2.4). So you have to use “sha1″ with the createrepo command, and its causing the issue.
So, Here with the createrepo command, You already have the option to specify the algorithm with an option “s”. ie,

createrepo -s sha1 -v  Arguments

But in my scenario, The OEL yum server, the case is different, After doing a postmortem on the Magic Script, I found the following line,

========================= # if there’s an updateinfo file for this repo, then patch it into the repo info if [ -f ${REP_PATH}/updateinfo.xml.gz ] ; then ${GUNZIP} -q ${REP_PATH}/updateinfo.xml.gz ${MODIFYREPO} ${REP_PATH}/updateinfo.xml ${REP_PATH}/repodata/ fi else =======================

Yes, Its using another command “modifyrepo” to include the new updates package xml “updateinfo.xml” to the repomd.xml file.

Here the issue is you cannot use the -s option or it doesn’t have any other option to define the algorithm to use.

Now what to do ???

dig….  dig…. dig…… dig….

– Followed the binary file
– Found that the python script “/usr/share/createrepo/modifyrepo.py”  is invoked by the command “modifyrepo”

So the Solution is follows,

### **How to Fix**

Open the file /usr/share/createrepo/modifyrepo.py in a vi editor and replace the ‘sha256′ with ‘sha1′

vi /usr/share/createrepo/modifyrepo.py :%s/sha256/sha1/g :wq!

Now run the oralces magic script again and it will use the sha1 for creating checksum.

### **Resolution**

As per the oracle yum server documentation it support OEL5 and OEL 6 for creating the yum server. If you take this case you are never going to create a working yum server on OEL6. So its very clear that,

***** Oracle never tested the Yum server setup on Oracle Linux 6 *****

Even I created a support ticket with Oracle Support, Their status is “working on it” still after 4 days.

Come on Oracle, Why the customer is paying you $$ for the “free update which is available as centos updates” and also for this kind of low level support.

If  you are not able to fix this kind of  simple issues, At least hire some experienced RHCE’s ![:P](https://www.jobnix.in/wp-includes/images/smilies/icon_razz.gif)

 

### *** Update  on the Oracle support Ticket ***

Final Update from Oracle linux support on this issue.

[![oel-support_08](https://res.cloudinary.com/jobnix/image/upload/v1415999641/oel-support_08_vkjwzj.jpg)](https://res.cloudinary.com/jobnix/image/upload/v1415999641/oel-support_08_vkjwzj.jpg)

 

I can not stop laughing.

As per OEL support person

**Work around a) Move the yum server to OEL 5. **

Its a known issue :P, OEL 6 released on [2011-02-11](http://en.wikipedia.org/wiki/Oracle_Linux) After copying from RHEL 6 which was released on 2010-11-10, This statement means that the issue is there from the release date, and oracle OS engineers not able to fix it for the last 3 years :D.

If this is a known issue for the Oracle Linux Yum server on OEL 6, and till now there is no fix for this, Then why they said OEL 6 is compatible for this setup. [Oracle Link](http://www.oracle.com/technetwork/articles/servers-storage-admin/yum-repo-setup-1659167.html)

**Work around b) Create the repodata from an OEL5 and copy it ![:D](https://www.jobnix.in/wp-includes/images/smilies/icon_biggrin.gif)![:P](https://www.jobnix.in/wp-includes/images/smilies/icon_razz.gif)**

I have to use 2 servers for this, OMG. What about your MAGIC script. The worst option and reply from an OS vendor (OS Copy vendor).

### Few Questions to Oracle Linux Team

Dont Oracle Linux have Experience Linux Admins ???

I have resolved  this issue as i mentioned in the post with a little work around, and its very simple for an experienced admin.

 Oracle Support dont have internet to google and find this post ? lol

I have published this post on April 27th 2013, and the solution is available on google search if you google ” Yum -[Errno -3] Error performing checksum” I feel pity on those organization, who is paying money for this kind of useless support.

 

 

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top