Reposync misses 32-bit packages on 64-bit VMs


#1

We’re trying to set up an internal network of Oracle Linux yum servers. We have one master server for the company that retrieves the packages directly from Oracle, and we want to have additional servers that reposync the packages from the master server and act as local yum servers in their data centers. All the servers are virtual, running on VMware, and x86_64 architecture. We support applications that require 32-bit libraries, so we need to host them on each of the servers, too.

So far, the 64-bit packages are being distributed as expected. However, the 32-bit packages, which are present on the master server, aren’t making it to the local server, just one in our proof-of-concept so far.

reposync -r reponame -p /path/to/x86_64/repo

downloads all the x86_64 packages to the specified location. However:

reposync -r reponame --arch=i386 -p /path/to/i386/repo

just extracts all the “noarch” packages from the x86_64 repository on the master server and dumps them in the i386 repository on the local server along with a couple of i386 RPMs. The reposync man page says -a ARCH or --arch=ARCH should make reposync act as if running the specified architecture, but what’s happening doesn’t match the behavior when reposync is left to the default/current architecture.

So: does anyone know how to get reposync’s -a or --arch option to behave as the man page says it does? Thanks in advance!


#2

See according to my view reposync utility is not able to download i386 packages on x86_64 architecture system.

If you want to download the packages from your master server your master server should be configured with i386 repo channel from oracle that means you have to subscribe 32 bit channel.

Before executing reposync command, it is required to check available channels for system by running following command:

 # yum repolist

As x86_64 architecture system subscribe with x86_64 architecture channel only. So it is not possible to download packages from i386 channel on x86_64 architecture system by using reposync utility.

To download 32 bit channel you need to register a 32 bit network, subscribe it and then only you can download the 32 bit packages.


#3

Thanks for responding, raghuu. It turns out that if you register a 64-bit server with Oracle and configure it as a yum server, that server can download both 64-bit and 32-bit channels. We’ve already done that successfully. Now I’d like to know, if it is not possible for reposync to let a 64-bit server host 32-bit repositories without being an official registered yum server, what’s the -a or --arch option for?


#4

hmm for that try the below commands

#reposync -r  -a  -p 

in your case it would be

#reposync -r reponame -a i386 -p /path/to/i386/repo

ex: # reposync -r epel -a i386 -p /path

-a and --arch for architecture go through man page you will get better idea.


#5

Thanks, but that’s pretty much what I’ve been trying. From my original post:

reposync -r reponame --arch=i386 -p /path/to/i386/repo

I tried yet again using -a i*86 but that didn’t make a difference.

Anyhow, at the moment, it doesn’t matter. I’ve been told we’re using a different method to distribute the contents of the repositories. Thanks for trying to help.


#6

You are welcome, i alrdy told you that reposync utility will not allow you to download the packages of 32bit on 64 bit arch i’m sure about it. Anyhow you achieved your task by choosing diff methods that’s great :+1: