Ubuntu: install latest version of package - linux

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.

Related

openSUSE 15.4 zypper error installing postgreSQL

I am new to Linux,
I installed openSUSE Leap 15.4, and made the root directory ext4, I then followed these steps to install postgreSQL 13 on my system
1.sudo zypper ref && sudo zypper update
sudo zypper addrepo https://download.postgresql.org/pub/repos/zypp/repo/pgdg-sles-15-pg13.repo
But after this, I sudo zypper ref again and it shows an error saying:
Retrieving repository 'PostgreSQL 13 SLES 15.4 - x86_64' metadata .....................................[error]
Repository 'PostgreSQL 13 SLES 15.4 - x86_64' is invalid.
[pgdg-13|https://download.postgresql.org/pub/repos/zypp/13/suse/sles-15.4-x86_64] Valid metadata not found at specified URL
History:
- [pgdg-13|https://download.postgresql.org/pub/repos/zypp/13/suse/sles-15.4-x86_64] Repository type can't be determined.
what can I do to install postgreSQL
I can't say precisely why your zypper command failed, but it might have to do with the fact that the repositories from your link are intended for SUSE Linux Enterprise 15 SP4, not for openSUSE Leap 15.4, which is what you're using. So even if you did get these repositories to work, you might run into other compatibility problems later.
To install postgresql, there is always the option to search for your package on software.opensuse.org. (I strongly recommend you bookmark this page – it's the place to look for openSUSE packages.) For postgresql13, there is indeed an official experimental package available for openSUSE 15.4, namely here, which you can install via 1-Click-Install. However, the newer version postgresql14 is already out for quite a while, so I would only advise for using the older postgresql13 if you have a very strong reason to do so. The newer postgresql14 also has an official experimental package available for openSUSE 15.4, namely here; this is the one I would recommend currently.
first check if repo is enabled zypper repos -d
check /etc/zypp/repos.d/pgdg-13.repo file
If you open the added repo file all set sles. but i think the main problem is the type=rpm-md. In any case you dont need add third part repo to install postgress. the package is already in the main repos and is called postgresql-server.
So remove the https://download.postgresql.org/pub/repos/zypp/repo/pgdg-sles-15-pg13.repo to prevent any other issues and package conflicts
zypper lr # to list the repos and find the number for the `https://download.postgresql.org/pub/repos/zypp/repo/pgdg-sles-15-pg13.repo`
zypper rr <number>
Then just install postgresql-server
Btw when you refresh the packages you dont need to run update

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

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.

shared libraries libgconf-2.so.4 is missing

I want to install chromedriver in one of the AWS EC2 instance which is linux(Red Hat Enterprise Linux Server release 6.7 Santiago - 64 bit). While installing the chromedriver, we ran into issue due to missing packages. I could find the package here but this in turn requires many other packages. Using any other AMI is not an option.
Error is -
error while loading shared libraries libgconf-2.so.4 cannot open shared object file
I am using Ubuntu x64 and yum didn't work for me. But I found somebody mentioning simply use
$sudo apt install libgconf-2-4
worked for me to install the libgconf.
Please ask yum for the file, libgconf-2.so.4 : $ yum provides */libgconf-2.so.4
Install GConf2 : # yum install GConf2
Packages http://mirror.centos.org/centos/6.8/os/ ... and updates http://mirror.centos.org/centos/6.8/updates/
The chromedriver depends on the same packages / files as GConf2, and then some. Please see for yourself : $ ldd chromedriver , where 'chromedriver' is the unzipped executable.
EDIT :
Solution for the chromedriver issue : Install a chromedriver for RHEL 6, chromedriver-31.0.1650.63-1.el6.x86_64.rpm https://drive.google.com/file/d/0B7S255p3kFXNX1c0UWlGOWpZOHM/view?usp=sharing
Please download the package, and 1) cd Downloads/ 2) yum install chromedriver-31.0.1650.63-1.el6.x86_64.rpm ... and you have /usr/local/bin/chromedriver
P.S. : The EL6 chromedriver was built from the source package chromium-31.0.1650.63-1.el6.src.rpm
You might want to read this CentOS thread about your GLIBCXX_3.4.15. Especially apropos is this answer on the thread, especially the FAQ it references.
CentOS (which aims to be as compatible with RHEL as possible) is a curated LTS distribution (as is RHEL). You might find a version of chromedriver compiled for RHEL 6 in one of the many repositories. If not, you'll probably have to build it yourself.

How to force debian squeeze to use libqt4-dev from debian wheezy without upgrading all packages to debian wheezy?

I have a continuous integration server building some software that depends on a more recent version of libqt4-dev than the apt packages in debian squeeze provide. That version is available in debian wheezy. How can I tell apt to use libqt4-dev selectively from wheezy without upgrading all of the packages in my squeeze system to wheezy?
You can do this with apt's "preferences" functionality (man apt_preferences).
To add wheezy as a source of packages without installing anything from wheezy by default, add entries for wheezy to your sources.list, and add the following to /etc/apt/preferences (or to a file in preferences.d):
Package: *
Pin: release n=wheezy
Pin-Priority: 50
Once that is set up, you can install libqt4-dev with the following command:
apt-get install -t wheezy libqt4-dev
This will also install the dependencies of libqt4-dev, which may be numerous. Not being familiar with qt, I'm not sure whether the pinning solution here is the best way to get the newer version of qt onto a squeeze system. Another possibility is the backports repository, but I don't see qt4 in there. A third possibility is to build your own backported version using apt-get -b source.

Resources