centOS Security Center yum install dependencies failing - linux

I am running a centOS 7 virtual machine and trying to install an RPM package for Security Center 4.7.1. The yum installer fails to find the install packages for the dependencies libexpat and libreadline, however I do have expat and readline installed. I don't understand this because it seems that the Security Center RPM is looking for packages of the wrong names. This link is a screen shot showing the yum install abort, the lack of installed packages required and the packages I do have installed relevant to the problem...
centOS VM screenshot
Any suggestions on how to remedy this without forcing the install and risking non functionality of Security Center?

The package you are trying to install needs
libexpat.so.0
libreadline.so.5
but your installation has probably (from what I can see)
libexpat.so.2
libreadline.so.6
It will be difficult to install this package; I would recommend you to search for a newer SecurityCenter package.
for experts:
there is probably a way to work around this; if you can manage to install an older libreadline and libexpat rpm side by side with the new ones; but that might be risky because there are probably some conflicts and updates might not run too well...

Related

Linux Installation libX11-devel

I am trying to build QT4 (porting from Redhat 5 to 7 with an upgraded gcc compiler) in RedHat 7 and I was getting an error saying X11/Xlib.h can't be found. Anyways, after doing some research most people said to install libX11-devel to get those x11 libraries. Since I am using an offline machine I can't do "apt-get" type commands and have to manually install RPMs. So, I went to my RH-7 installation DVD and got "libX11-devel-1.6.3-3.el7.x86-64" (I have 64 bit OS) and tried to install using "yum install libX11-devel-1.6.3-3.el7.x86_64" and I am getting dependencies errors. It's saying
...Requires: pkgconfig(kbproto)
...Required: pkgconfig(xcb)
...Requires: pkgconfig(xproto)
...Requires: pkgconfig(xcb) >= 1.1.92
So, here are my questions.
1) when it says "pkgconfig(kbproto)", is it saying find the "kbproto....RPM" and do a "yum install". In my dvd I only have "xorg-x11-proto-devel-7.7.13.el7.noarch.rpm". Do I have to somehow find "xorg-x11-proto......x86_64.rpm" since it's a 64 bit machine?
2) Is there a difference between "yum install" and pkgconfig "install"? Are there any other installation variants in Linux?
3)For an offline machine, Is there anyway I can get all the dependencies and install everything at once ?
4) Why is it saying "xcb" requires twice. If I just get a xcb...rpm version above 1.1.92 can I just install it once?
Before actually answering the questions, I am going to suggest to see if you can get the latest version of the packages. The packages on the installation DVD may be really out of date and contain known vulernabilities, and other bugs. Can you use yumdownloader - in an online environment - to download the latest version onto a separate DVD and use that as the installation source? See https://access.redhat.com/solutions/10154 for more information.
To answer the questions themselves:
Requires: foo can refer to a package foo or a "feature" foo. pkgconfig(kbproto) is a "feature" (or virtual requires). You can use yum/rpm to see what provides this. On my Fedora box, for example, rpm -q --provides xorg-x11-proto-devel shows that this package indeed provides pkgconfig(kbproto).
As for x86_64 vs noarch, it doesn't matter. noarch packages work everywhere. Other packages are restricted to the platform. So x86_64 only works on intel/amd x86 64-bit machines. Installing noarch should be fine in your case. If you only had a i686 package, though, that wouldn't be sufficient. You would have to find a x86_64 or noarch package.
Yes, there's a big difference between yum and pkg-config. They do completely different things. One is a system tool for installing RPM packages. The other is a tool for developers for using the right headers and compiler flags. If your concern is finding/installing RPMs, do not use pkg-config directly.
Do you have access to an online machine that can access the RHEL 7 yum repositories? On that machine, do something like this:
mkdir rhel7-packages
cd rhel7-packages
yum provides '*/X11/Xlib.h' # make a note of the package that provides this file. it's libX11-devel on Fedora here
yumdownloader --resolve libX11-devel # download libX11-devel and all dependencies not installed on the system
Then copy/install the RPMs on the machine without internet access.
It's probably printing out xcb twice because it's two different requirements. The unversioned requirement will be satisfied if you install any verison of xcb. The versioned requirement will only be satisfied if you install 1.1.92. If you install 1.1.92, it will satisified both the requirements.
1.
You have to resolve the dependency on the system where you are building your package. This means you need to have those dependencies installed, inclusing libX11-devel. To do that, download the RPMs manually from EL7 repos to local disk and run this:
$ mkdir -p /tmp/libX11_dep_rpms && cd /tmp/libX11_dep_rpms
# Download all dependencies from here. All your packages should be available here:
# http://mirror.centos.org/centos-7/7/os/x86_64/Packages/
# Then install
$ yum localinstall *.rpm
# After this you should be able to build your qt4 package, provided all dependencies are resolved. Otherwise, repeat the procedure for all dependencies
# If you can't download packages, then you need to create a FULL DVD ISO that will contain all packages.
2.
pkgconfig ensures that a requirement is coming from a particular build that provides a particular version of the library. Here are some detail.
3.
Get the Everything ISO from EL7.
4.
This has to do with the pkgconfig and library versions.

How to differentiate between manually installed packages and dependencies on linux

I am a noob in linux and right now I am using a raspberry pi with raspbian to learn about it. I am trying the commands to install and uninstall packages (apt) but i have the following doubt.
Is there a way to differentiate between packages that I have installed and packages that were automatically installed because they are dependencies?
Thanks
Is there a way to differentiate between packages that I have installed and packages that were automatically installed because they are dependencies?
Probably not, and that should not matter. Suppose you have some package foo that has been installed as a dependency for bar. A few days latter, you might want to install foo (and since it is already installed, nothing will happen).

Can't install mono-gmcs package

I am trying to install the mono-gmcs package on my virtual machine running Kali Linux, but receive the output
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
mono-gmcs : Depends: mono-mcs (= 3.12.1-0xamarin1) but 4.0.4.1-0xamarin1 is to be installed
E: Unable to correct problems, you have held broken packages.
I am using the command sudo apt-get install mono-gmcs to install it.
It says, that mono-gmcs depends on mono-mcs (3.12.1-0xamarin1), which currently is installed via 4.0.4.1-0xamarin1. You have versions conflict. Downgrading xamarin will solve it sudo apt-get install packagename=version
If you are going to choose Mono 4.* via mono-complete, say goodbye to many old packages such as this one. They are obsolete and you don't need them any more.
The compilers have been unified to a single mcs.
Try this
sudo apt-get install mono-complete=*
It brings the latest version.

Cannot Install Libc6

I am facing a bit of a dilemma in my attempt to install Steam on my newly Crunchbang laptop.
I downloaded the steam installer .deb, but it required libc6 2.15 or greater to install. Assuming this was no problem I searched it in Synaptic Package Manager, and although the latest version was 2.13, I installed it anyway, trying my luck. Of course, it didn't work.
So I found and downloaded a .deb install of libc6 2.19, but when I attempt to install it with Gdebi Package Installer, the "Install Package" is greyed out and unclickable. Not sure why.
What exactly should I do? It won't let me install it for whatever reason, and I can't remove libc6 and install the new version for obvious reasons.
Steam on crunchbang is tricky because of dependency issues which you have found yourself. However the community has come up with a few solutions and many seem to be happy with this project, download and install the deb from the git and you should be good to go! any problems post below.

need help installing pecl on centos 5.8

So basically I'm trying to install APC, but I can't get pecl to work on Centos 5.8 i686
I have the latest stable releases of php-fpm, mysql, and nginx. Everything is working at 100%, everything is smooth. I'm running a live website with no problems. I just can't pecl to work.
yum install php-pear:
Most of the packages I'm trying to instal have dependency issues with php-common (whatever that is).
php-common = 5.1.6-32.el5 is needed
Much help is appreciated!
/usr/bin/pecl is available from php-pear package.
The dependency failures you got are stange. Probably because you have mixed installation of php-* 5.1 RPMs and php53-* 5.3 RPMs and get conflicts on devel files. You should do some clean up to keep only one set of RPMs for your target version, either 5.1 or 5.3.
You also have to install gcc, httpd-devel, php(53)-devel and finally php-pear to get phpize working.
Then you should be able to run pecl install apc
First of all assure you have your distro updated, you can do it with
yum update
Then check if you are not using any third-party repo, that contains this packages.
If you can, remove all the php packages with
yum remove php*
and try to install them again.
If you can't solve it, try the Fedora EPEL repositories which provides some updated packages.
All the commands needs be run by root.

Resources