CentOS .NET Core 6.0 installs wrong runtime version - linux

These are 2 commands I ran trying to install .net core 6.0 on CentOS 8 Stream:
sudo dnf install dotnet-runtime-6.0
Last metadata expiration check: 0:12:04 ago on Tue 23 Nov 2021 17:38:47 UTC.
. . .
Installed:
dotnet-host-6.0.0-0.6.28be3e9a006d90d8c6e87d4353b77882829df718.el8.x86_64
dotnet-hostfxr-6.0-6.0.0-0.6.28be3e9a006d90d8c6e87d4353b77882829df718.el8.x86_64
dotnet-runtime-6.0-6.0.0-0.6.28be3e9a006d90d8c6e87d4353b77882829df718.el8.x86_64
lttng-ust-2.8.1-11.el8.x86_64
userspace-rcu-0.10.1-4.el8.x86_64
Complete!
[/usr/local/bin]$ dotnet --list-runtimes
Microsoft.NETCore.App 6.0.0-rc.2.21470.23 [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]
Install says it installed 6.0.0-0.6 but the actual version is 6.0.0-rc.2.21470.23 and my app is failing with error:
It was not possible to find any compatible framework version
The framework 'Microsoft.NETCore.App', version '6.0.0' (x64) was not found.
- The following frameworks were found:
6.0.0-rc.2.21470.23 at [/usr/lib64/dotnet/shared/Microsoft.NETCore.App]
Can it be fixed without manual .net install ?
SOLUTION (worked)
add repo to the OS:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm
change it priority to preceed the OS:
echo 'priority=50' | sudo tee -a /etc/yum.repos.d/microsoft-prod.repo
install
sudo dnf install dotnet-runtime-6.0
reboot the machine

CentOS 8 Stream seems to have an out-of-date version of .NET 6.
That the version is old is kind of my fault; I need to update the package in CentOS Stream 8 (which really copies what's in RHEL 8.6 and that's the one I will fix).
The version showed by dotnet --info is correct.
The RPM package versioning is a workaround in that CentOS (and RHEL and Fedora until recently) don't have a way of reflecting pre-release versions of an upstream that is about to a release 6.0. We are forced to use a version "6.0" and Release with "0.X" to say "this is a pre-release of 6.0". I could have called it "6.0-0.6.rc2", but this build isn't even exact "6.0 RC2", it was a pre-RC2 snaphost (commit 28be3e9a006d90d8c6e87d4353b77882829df718 from dotnet/installer repository).
If you urgently need .NET 6, here are some options to consider:
If you need a container, try out registry.access.redhat.com/ubi8/dotnet-60-runtime.
Use a manual (not package) install of .NET 6: https://learn.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#manual-install
Add the Microsoft RPM repository (repo file) and then use solution 3 to make sure it take precedence over the CentOS repository.

Related

Maven latest version installation UBuntu 16 without using "wget"

Is there any way to install latest Maven specific version without using wget command in ubuntu 16.
You could try doing what my link below recommends, but add references to Bionic instead of Xenial. Then all you need to do is sudo apt install maven.
Note the current version of support Maven for Ubuntu 18.04 (Bionic) is 3.6.0-1, so if that isn't new enough for you (the latest Maven release is 3.6.2), you'll have to find another way.
https://medium.com/#george.shuklin/how-to-install-packages-from-a-newer-distribution-without-installing-unwanted-6584fa93208f
you could install sdkman on the machine 1st and then use it to install and manage various java-related tools (maven among them), but installing sdkman itself likely involves a wget

How to install old version of dotnet version in linux

The currently guide to install dotnet in linux here:
https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/sdk-2.1.300
It will install the latest version of dotnet in linux, but my previous application running at dotnet version 1.1.2 so How can I install the old version of dotnet core and run it?
Thanks.
You can get .NET Core 1.1.4 via sudo apt-get install dotnet-dev-1.1.4 instead of sudo apt-get install dotnet-sdk-2.1. Try apt-cache search dotnet to see all the SDK (sdk, -dev) and other .NET Core packages that are available for your distribution.
The newer versions it seems we have to manually download them. For example, I needed to get 2.1.403. Here's where to do that:
https://github.com/dotnet/core/blob/master/release-notes/download-archive.md
Originally found via this Q&A:
Where to download previous version of .net core sdk?
Be careful to only pull out the 'sdk' portion from the tar.gz, don't overwrite your newer dotnet executable!

Ubuntu: install latest version of package

I'm working with Ubuntu 14.04 and I need to use stress-ng.
If I type: apt-cache policy stress-ng
I obtain:
stress-ng:
Installed: 0.03.15-1~ubuntu14.04.1
Candidate: 0.03.15-1~ubuntu14.04.1
Version table:
*** 0.03.15-1~ubuntu14.04.1 0
100 http://mirror.switch.ch/ftp/mirror/ubuntu/ trusty-backports/universe amd64 Packages
100 /var/lib/dpkg/status
So if I run apt-get install stress-ng, it downloads version 0.03.15.
Unfortunately, this version does not allow me to do some things which are present in the last one, 0.07.16, supported by Ubuntu 17.04.
How can I do to use this latest version on 14.04?
You can add the repositories of the newer release to sources.list,and use apt-pinning,this is an advanced feature to install packages from a newer version of Ubuntu.
Check out Pinning.
Pinning is a process that allows you to remain on a stable release of
Ubuntu (or any other debian system) while grabbing packages from a
more recent version.
Note however that the processes described below will only work if
things like libc6 versions match, so you should probably not do this
on an Ubuntu system. I strongly recommend you look at UbuntuBackports
before doing this.
Also you can just download the package and make install.
Hope this helps.

Missing JAR manifest after running DataStax Enterprise 4.7

I tried installing it 2 times and still got the same error.
I followed the instructions here. http://docs.datastax.com/en/datastax_enterprise/4.7/datastax_enterprise/install/installDEBdse.html
root#node1:~$ Error opening zip file or JAR manifest missing : /usr/sbin/../lib/jamm-0.3.0.jar
Error occurred during initialization of VM
agent library failed to init: instrument
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
TL;DR: Somehow you need to get ./resources/cassandra/lib/jamm-0.3.0.jar in your your DSE installation directory and remove any older versions.
DSE 4.7 uses Cassandra 2.1.8 under the hood. C* 2.1 uses jamm 3.0. Older versions of cassandra, 2.0 and previous used jamm 2.5. If you had a previous install of either an older c* or an older DSE on this environment, some of your old dependencies may be stuck.
If you're on Debian using the package installer try running:
sudo aptitude install dse-full=version
Which should pick up the right dependencies.
If not, apt-get purge dse-full and then re-installing might also work.
There are similar commands for yum in RHEL.

How can I upgrade RPM version 4.4.* to RPM version 4.8.*?

I am getting error below when I am trying to install a package on CentOS 5. After some research it seems like my RPM version needs to be upgraded; How can I upgrade RPM version 4.4.2.3 to RPM version 4.8.0?
#sudo rpm -ivh test.1.0.0.noarch.rpm
error: Failed dependencies:
rpmlib(FileDigests) <= 4.6.0-1 is needed by test.1.0.0.noarch
rpmlib(PayloadIsXz) <= 5.2-1 is needed by test.1.0.0.noarch
#rpm --version
RPM version 4.4.2.3
The problem most likely is that your rpm was built on an CentOS 6 machine and it cannot be install on CentOS 5. You are seeing the exact message as shown by the Red Hat website solutions page titled "RPM Compatibility from Red Hat Enterprise Linux (RHEL) 6 to RHEL 5 and earlier" at web address https://access.redhat.com/site/solutions/41415.
By upgrading to a newer distribution. RPM is a core part of Fedora/Red Hat/CentOS and upgrading it is close to impossible in my experience. It should not be attempted.

Resources