LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Many packages gone in RHEL7? (https://www.linuxquestions.org/questions/linux-software-2/many-packages-gone-in-rhel7-4175514807/)

PelleP 08-14-2014 08:24 AM

Many packages gone in RHEL7?
 
Hello,

Installed RHEL 7 Desktop and noticed that quite a few packages isn't available for install anymore, through yum.
We're running many different scripts at work which relies on these packages and my question is if there's any other way of getting things to work when they're not available anymore?
As an example the package xdotool, but some "heavier" apps also seem to be gone like Kate. All of these are there i Fedora 20 however, so it doesn't make any sense.

Any thoughts or answers regarding this?

Thnx in advance
/P

PrinceCruise 08-14-2014 09:18 AM

Quote:

Originally Posted by PelleP (Post 5220958)
Hello,
As an example the package xdotool, but some "heavier" apps also seem to be gone like Kate. All of these are there i Fedora 20 however, so it doesn't make any sense.

Any thoughts or answers regarding this?

/P

I installed CentOS 7.0 choosing development workstation with gnome and Kde and I can tell, kate is pretty much there.

Regards.

MensaWater 08-14-2014 09:24 AM

Not everything is in the base repository for the release. Even in RHEL5 one had to add other channels (such as "Supplementary" with the rhn-channel command) to get other things (such as the Java they provide rather than going to the Oracle Java site).

rhn-channel was for "Classic" subscription model. They've since added a different model and you could use either with RHEL6. For RHEL7 though I think you can only use the new subscription model.

From my notes for rhn-channel:
Quote:

Sometimes it is necessary to add other channels such as those for supplementary packages for Java, Developments packages for various tools and Debuginfo for kernel core dumps.

This can be done using the RedHat.com site by navigating to the given host and enabling additional channels or it can be done directly from the host using the rhn-channel command.

This rhn-channel command can be used from the server to list or add channels.

On RHEL6 “rhn-channel –L” will show what channels are available to be added. This does not exist on RHEL5.

On both RHEL5 and RHEL6 the “rhn-channel –l” can be used to show which channels are currently subscribed.

For example on server the command might output:
rhel-x86_64-server-5
rhel-x86_64-server-supplementary-5

You can add channels by running:
rhn-channel -a -c <channel>-u <user> -p <pw>
with your redhat site (RHN) user and its password.

For example to add the channel that gives debuginfo packages used for analyzing kernel core dumps on serverI ran:
rhn-channel -a -c rhel-`uname -i`-server-5-debuginfo -u <user> -p <pw>
with our dswlinux user and its password.

After that "rhn-channel -l" now displayed:
rhel-x86_64-server-5
rhel-x86_64-server-5-debuginfo
rhel-x86_64-server-supplementary-5
From my notes for using the newer subscription manager:
Quote:

Found web page https://access.redhat.com/site/solutions/265523 that talks about adding channels (similar to what rhn -l and rhn -L did in classic) from command line for new subscription manager.

It shows that one can list all available repos with "yum repolist all" which will show output similar to (with a lot more than I show here):
Loaded plugins: product-id, refresh-packagekit, security,
subscription-manager
This system is receiving updates from Red Hat Subscription Management.
rhel-6-server-cf-tools-1-rpms | 2.8 kB 00:00
rhel-6-server-rpms | 3.7 kB 00:00
repo id repo name status
rhel-6-server-beta-debug-rpms Red Hat En disabled
rhel-6-server-beta-rpms Red Hat En disabled
rhel-6-server-beta-source-rpms Red Hat En disabled
rhel-6-server-cf-tools-1-beta-debug-rpms Red Hat Cl disabled
rhel-6-server-cf-tools-1-beta-rpms Red Hat Cl disabled
rhel-6-server-cf-tools-1-beta-source-rpms Red Hat Cl disabled
rhel-6-server-cf-tools-1-debug-rpms Red Hat Cl disabled
rhel-6-server-cf-tools-1-rpms Red Hat Cl enabled: 31
rhel-6-server-cf-tools-1-source-rpms Red Hat Cl disabled
That shows one line per channel whereas "subscription-manager repos --list"
+----------------------------------------------------------+
Available Repositories in /etc/yum.repos.d/redhat.repo
+----------------------------------------------------------+
Repo ID: rhel-6-server-sam-source-rpms
Repo Name: Red Hat Subscription Asset Manager (for RHEL 6 Server) (Source RPMs)
Repo URL: https://cdn.redhat.com/content/dist/rhel/server/6/$releasever/$basearch/subscription-asset-manager/1/source/SRPMS
Enabled: 0
Repo ID: rhel-6-server-rhs-client-1-source-rpms
Repo Name: Red Hat Storage Native Client for RHEL 6 (Source RPMs)
Repo URL: https://cdn.redhat.com/content/dist/rhel/server/6/$releasever/$basearch/rhs-client/source/SRPMS
Enabled: 0

In this output a "Enabled: 0" means disabled and "Enabled: 1" is enabled.

To add the channels we want ran:
subscription-manager repos --enable=rhel-6-server-optional-rpms

Which output:
Repo rhel-6-server-optional-rpms is enabled for this system.

And ran:
subscription-manager repos --enable=rhel-6-server-supplementary-rpms
Which output:
Repo rhel-6-server-supplementary-rpms is enabled for this system.

After that "Running "yum repolist all |grep -i enabled" after that confirms:
This system is receiving updates from Red Hat Subscription Management.
rhel-6-server-cf-tools-1-rpms Red Hat Cl enabled: 31
rhel-6-server-optional-rpms Red Hat En enabled: 7,108
rhel-6-server-rpms Red Hat En enabled: 12,589
rhel-6-server-supplementary-rpms Red Hat En enabled: 367
Note you'd have to verify that specific packages you want are available in one of the other channels at RedHat then add the channel like I added them in above notes. (Of course yours will be rhel7 where mine were rhel5 and rhel6 but the theory is the same.)

Not all packages in Fedora make it to RHEL. That is to say while Fedora does serve as a proving ground for things that end up in RHEL it is not always a 1 to 1. Fedora as a project is supported by RedHat but is not the same as RHEL. It is quite possible to find things in a Fedora release that never make it to RHEL.

It is also possible to find things that existed in an earlier version of RHEL that do not exist in a later release because RedHat decided they shouldn't be there. For example I recently found a perl module available in the RHEL5 repository that was no longer in the RHEL6 repository and a technote from RedHat said they dropped it because it hadn't been updated upstream in some time. (For a perl module that seemed a specious reason to drop it to me - if you have "ftp" module working there probably doesn't need to be many tweaks to it.)

Some packages that are not part of the official RHEL channels can be added via other repositories (e.g. the EPEL at Fedora) but are not supported by RedHat. Failing finding an rpm and/or repository for your version of RHEL you can always go get the source from upstream and built it yourself for your system. (Here again such packages won't be directly supported by RedHat.)

PelleP 08-14-2014 01:51 PM

Thank you for your comprehensive response!

Well to complicate things even further some of our systems are offline systems so that thwarts that approach. The supplementary DVD för RHEL7
seems to be contain not much more than java.
The thing is when you try installing it from src I tend to get stuck (with RHEL7) with dependencies, missing devel-packages and so on.

Can lets say fedora-repos be downloaded to DVD?

Regards,
/P

MensaWater 08-14-2014 02:26 PM

Note that while I mention "Supplementary" above it is only ONE of the available additional channels. There are others.

If you have some online systems you can use yum-downloader to get what you need from the repositories then burn those to a DVD for RHEL7. The files are RPMs so on similarly configured systems you could use rpm rather than yum to install the RPMs all at same time with reasonable expectation that you'd met all dependencies if they were met when you applied them to your online system.

You can certainly setup other repositories but you would NOT want to use Fedeora (non-EPEL at least) repositories for your RHEL7 system. They likely wouldn't load in the first place but if they did you'd no longer really be running RHEL7. If you're running Fedora no reason to pay for a subscription from RedHat.

Also Fedora is bleeding edge and changes frequently (e.g. twice a year) with old versions quickly no longer being available in repositories. If you need RHEL style stability (e.g. long life time) but don't need RedHat support you should look at CentOS instead as it is derived from RHEL source of the same version (e.g. CentOS7 ~== RHEL7). The CentOS7 repositories do not require a paid subscription.

Another thing to explore would be RedHat Satellite which allows you to setup your own local repositories but sync from RHEL's site. It wasn't clear to me when you said the systems aren't "online" if you meant they have no access to the internet or if you meant they have no networking at all. The free in the wild project Satellite is based on is called Spacewalk and that can be used for CentOS or Fedora I think.

PelleP 08-14-2014 03:16 PM

Could there be differences between the different flavors of RHEL7?
Im sitting now with the Desktop-version. You got also the Server and Workstation flavors. Better luck with those packet-wise?

/P

---------- Post added 08-14-14 at 10:16 PM ----------

Thnx again!
I will definitely look into RedHat Satellite.

A more practical question on the subject then...
Yea I can have an online system download what I need, but when I use yum to download what I need....are the files stored as plain rpm's? And
where on the system are they stored?
And can I for example use an online Fedora 20 machine to download xdotool as I spoke of earlier, and then to some certainty of success install
it on my offline RHEL7?

MensaWater 08-14-2014 04:23 PM

The tool I mentioned "yum-downloader" lets you specify where to download rpms without installing them.

You could modify the cache settings for yum itself so that it saves all rpms it installs automatically. That is (or was at least) in /var/cache/yum. It also stores information files. You have to make sure /var is large enough to hold all versions.

You do NOT want to try installing (in general) any rpm designed for one distro on another. The assumptions they make are different (e.g. dependencies might have different versions, expect other libraries etc...). In some scenarios it MIGHT be possible to install a RHEL rpm on CentOS of the same version (e.g. RHEL5 and CentOS5 or RHEL7 and CentOS7) but that would assume you had not turned on the extra repositories allowed by CentOS and gotten something completely different than the RHEL version allows. Just remember CentOS is unsupported by RedHat. If the reason you have RHEL is support and stability you want to try not to deviated too much from what RedHat is providing. There ARE others that do make rpms (and even repositories) designed to work with RHEL such as Dag Wieers and the EPEL at Fedora I mentioned earlier. My general rule of thumb is to install from RedHat's repository if available. If not and I can find it in a trusted (by me) such as EPEL then I would install from there. (Also some projects have builds for RHEL, Ubuntu, Suse and/or others so you might trust the rpm you got from the project's site assuming you trust the project itself.) If I can't find a trusted rpm I download the source and install that. If rpms are really important you could do the download, configure, make required by a source package then build your own rpm from the result.

PelleP 08-15-2014 12:44 AM

I will try the yumdownloader right away from an online machine.

Thank you very much for all your help! I'll get back with how it goes :)

regards,
P

PelleP 08-16-2014 01:07 AM

Ok I got it working by installing the specific apps missing from source (for example xdotool that does not exist in yum anymore).
All the dependencies missing was solved by using yumdownloader on an online system and then transferring the rpms to the offline system.

Thanks a lot MensaWater!

/P


All times are GMT -5. The time now is 08:58 PM.