why does repoquery output wrong file list? - linux

On my YUM server I have this RPM ...
redcricket#rpo-dev:/usr/RED/docs/yum/CEL6/RIE$ rpm -q --filesbypkg -p development/RPMS/ooo-audit-1.0-10.noarch.rpm
ooo-audit /apps/RED/red_apps/server/ooo-audit.pl
... and I have it installed on my system and rpm says this about that RPM ...
[redcricket#dev-006 src]$ rpm -q --filesbypkg ooo-audit
ooo-audit /apps/RED/red_apps/server/ooo-audit.pl
... but repoquery list the files on the old version of the RPM ...
[redcricket#dev-006 src]$ repoquery -l ooo-audit
/apps/RED/data/ooo-audit/exceptions.txt
/apps/RED/red_apps/server/ooo-audit.pl
... even after I do a "sudo yum clean all" ...
[redcricket#dev-006 src]$ sudo yum clean all
Loaded plugins: fastestmirror, merge-conf
Cleaning repos: ...
Cleaning up Everything
... see ...
[redcricket#dev-006 src]$ repoquery -l ooo-audit
/apps/RED/data/ooo-audit/exceptions.txt
/apps/RED/red_apps/server/ooo-audit.pl
here's the yum-utils I have installed ....
[redcricket#dev-006 src]$ rpm -q yum-utils
yum-utils-1.1.30-10.el6.noarch
... what's going on here?
The yum confs are correct. The RPM ooo-audit is only available on my YUM server, rpo-dev.
I have also updated the repodata on the YUM server. Should I report a bug or am I doing something wrong?

It sounds like the YUM repository data itself is incorrect, which is an independent database on the YUM server from the RPM database. Based on your username and the example path, I am assuming it is your own yum server and custom repo; you need to re-run makerepo or whatever command you used to import the RPMs into the YUM repo.
(I will even guess that an older version of the ooo-audit package had that other file in it when the repo was created.)

Related

I can't install openldap via yum command

In various online tutorials, I found that I could have downloaded and installed LDAP and related packages with the following command.
yum install -y openldap openldap-clients openldap-servers
But after I execute this command, I only get the reports: "no package available".
# yum install -y openldap openldap-clients openldap-servers
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* epel: hkg.mirror.rackspace.com
No package openldap-clients available.
No package openldap-servers available.
Nothing to do.
It looks like I have successfully installed openldap, but actually I downloaded openldap via wget url, and the openldap-server and openldap-client are not installed.
My epel version is 7-14. I checked it through the yum list command, and I did not find the LDAP package that I was looking for.
# yum list | grep openldap
openldap.x86_64 2.4.44-22.el7 #anaconda
collectd-openldap.x86_64 5.8.1-1.el7 epel
So how can I install openldap-clients and openldap-servers?
Thanks for any help!

RPM installation on redhat 6.3 failed

I am trying to install unixODBC-2.2.14-11.el6.x86_64.rpm on redhat 6.3. It gives me the following output:
[root#localhost khan]# yum install unixODBC-2.2.14-11.el6.x86_64.rpm
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
Repository InstallMedia is listed more than once in the configuration
Setting up Install Process
Examining unixODBC-2.2.14-11.el6.x86_64.rpm: unixODBC-2.2.14-11.el6.x86_64
unixODBC-2.2.14-11.el6.x86_64.rpm: does not update installed package.
Error: Nothing to do
But when I try to query it by #rpm -q unixODBC-2.2.14-11.el6.x86_64.rpm,
it gives the output as:
package unixODBC-2.2.14-11.el6.x86_64.rpm is not installed
You are misusing the rpm command. With the -q option, rpm receives a package name, not a file name. Drop the .rpm from the end, and you should be OK:
$ rpm -q unixODBC-2.2.14-11.el6.x86_64

Why couldn't the latest version of rsync be installed on CentOS 7.2?

I am using CentOS 7.2.
I would like to install the latest version of rsync - rsync-3.1.2,
rsync-3.0.9 is on system, installed when installing mariadb with yum,
# rpm -qa |grep rsync
rsync-3.0.9-17.el7.x86_64
removing rsync-3.0.9 first,
# yum remove rsync
rsync and mariadb were removed together,
then,
installing rsync-3.1.2 from source code,
# wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
# tar -zxvf rsync-3.1.2.tar.gz
# cd rsync-3.1.2
# ./configure
# make
# make install
then,
installing mariadb with yum again,
but rsync-3.0.9 will still be installed.
How can I solve the problem?
You can install rsync 3.1.2 from the Fedora 24 .rpm package:
wget http://dl.fedoraproject.org/pub/fedora/linux/releases/24/Everything/x86_64/os/Packages/r/rsync-3.1.2-2.fc24.x86_64.rpm
rpm -Uvh rsync-3.1.2-2.fc24.x86_64.rpm
(but that question doesn't really belong to stackoverflow)
You can install rsync 3.1.2 from the gf-plus repo. Just follow the steps below:
Install the gf-release package.
sudo rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/el/7/gf/x86_64/gf-release-7-10.gf.el7.noarch.rpm
Upgrade rsync package from the gf-plus repo.
sudo yum install -y --enablerepo=gf-plus rsync
Check rsync version.
hash -r; rsync --version | awk 'NR==1 {print $3}'
If it prints 3.1.2, rsync is upgraded.
By default, only the gf repo is enabled, which claims that it "won't overwrite core distro packages". You can disable it:
sudo yum-config-manager --disable gf
(For command not found error, run sudo yum install -y yum-utils and try again.)
Or simply remove all the gf* repos by removing the gf-release package:
sudo yum remove -y gf-release
You either need to install all of your software using packages, or install all of your software from source. Trying to mix and match is going to lead to exactly the sort of problem you are experiencing here: the mariadb package has a dependency on rsync, but the package manager doesn't know anything about the files you have installed from source.
The correct way to solve this problem is to build your own rsync package that can then be installed with yum. You can start with the source package for your distribution and then modify it for 3.1.2. You may be able to utilize a more recent package (e.g., from Fedora) and rebuild it for your system.
You can find the source RPM for rsync-3.0.9 here, and there is some documentation that will hopefully help you get started here.

Installing the libs3 on linux

Could someone pls give me a detailed procedure to intsall libs3 on LINUX? Just the procedure will do.
Thanks in advance.
These are the instructions to install libs3 on centos on a 64 bit machine.
According to their README, you are supposed to build an rpm package out of their source code using 'rpmbuild -ta '
1.) So first, install rpmbuild if it isn't installed already. [My install location is the default one: ~/rpmbuild]
2.) Clone libs3.
git clone https://github.com/bji/libs3.git
3.) Rename folder as libs3-trunk [rpmbuild complained if its name wasn't that, so...], create a tar.gz, copy it to SOURCES folder inside rpmbuild directory.
mv libs3 libs3-trunk
tar -zcvf libs3-trunk.tar.gz libs3-trunk/
mv libs3-trunk.tar.gz ~/rpmbuild/SOURCES
cd ~/rpmbuild/SOURCES
4.) Build the rpm
rpmbuild -ta libs3-trunk.tar.gz
cd ../RPMS/x86_64
5.) Install dependency libs3-2-2.0-5.1.x86_64.rpm from
[http://rpm.pbone.net/index.php3/stat/4/idpl/21900926/dir/centos_6/com/libs3-2-2.0-5.1.x86_64.rpm.html] OR [ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/dalgaaf:/ceph:/extra/CentOS_CentOS-6/x86_64/libs3-2-2.0-5.1.x86_64.rpm]
6.) Install the rpm:
Execute following as sudo:
rpm -Uvh libs3-2-2.0-5.1.x86_64.rpm
rpm -Uvh --replacefiles libs3-trunk-1.x86_64.rpm
rpm -Uvh libs3-devel-trunk-1.x86_64.rpm
7.) Install libcurl-devel/libxml2-devel through yum if you get following error:
make: curl-config: Command not found
make: xml2-config: Command not found
sudo yum install libcurl-devel.x86_64
sudo yum install libxml2-devel.x86_64
For ubuntu versions >=14.04, libs3-dev is available as an Ubuntu package.
So you just need to run:
sudo apt-get install libs3-dev

Installing RPM Dependencies

I am trying to install dbus-1.1.2-12.el5.i386 but I get the error
" dbus-libs = 1.1.2-12.el5 is needed by dbus-1.1.2-12.el5.i386" :-(
So I downloaded "dbus-libs-1.1.2-12.el5.i386.rpm" in the same directory and ran the
command rpm -ivh dbus-1.1.2-12.el5.i386 again, but I still got the same error. On searching on Forums I found that RPM takes care of dependecies if they are present in the same Directory. but it does not work with -ivh option ??
Steve B is correct:
yum install dbus-libs
yum install dbus
yum will also allow you to do "whatprovides" for a package:
yum whatprovides dbus-libs
This will show you if you have another version of dbus-libs "installed" on your system, it spools out what repos provide the package and is any are provided (installed) locally.
Also helpful is:
rpm -q dbus
which will show any packages that are locally install as will:
rpm -q dbus-libs
or
rpm -qa | grep 'dbus'
You may find that you already have an eariler version of dbus installed, which case:
yum -y update dbus
Hope this helps.
http://www.of-networks.co.uk
You need to install the dependant RPMs before installing dbus. You should also know that this is the hard way, these days RPM-based distributions usually have a dependancy managment system so that you don't need to do this by hand. e.g. on Redhat/Fedora/Centos you can just type "yum install mypackagename".

Resources