Where we can find docker release string which is required if you want to specify version during the installation? Is there a list ... or maybe a patern which can use to construct this one?
I was not able to find this kind of info within documentation - nor on the web.
For example:
sudo apt-get install docker-ce
is going to install latest version of the docker-ce (at the moment of writing this it is 17.12). Having in mind that this version have few issues i want to avoid, i need to downgrade (read install) specific version.
We can do that with:
sudo apt-get install docker-ce=<VERSION_STRING>
where you can specify version string. Unfortunatelly, there is no any kind of info (at least i was not able to find), which lists specific version strings (release strings) which you can use.
For example, you can find the list of releases here. But if we check releases (versions) there and if we try to use them, it will not result with installation, instead it will throw an error.
Example:
sudo apt-get install docker-ce=17.09.0
is going to result with error message: "E: Version '17.09.0' for 'docker-ce' was not found".
Where we can find list of releases (strings) which can use for the installation? Or is there any kind of patern which we can use to construct these (like version~ce-0~system eg. 17.12.0~ce-0~debian) ?
You can use apt-cache madison docker-ce command.
The version string is in the second column.
Source: https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1
As specified in INSTALL DOCKER CE, you can install a specific version using:
sudo apt-get install docker-ce=<VERSION>
You can check the list of available versions via:
apt-cache madison docker-ce
The second column of the output specifies the version that you can substitute in the apt-get install command.
Related
I am using zarith for handling arbitrary sized integers.
The most recent version I could find on opam.ocaml.org was v1.9.1 (published in August 2019). On the project's github page I read Latest commit a9a309d on 23 Jan (2020).
I'd like to switch to the newer version, but how do I do that? I want to
keep opam happy, and
always use the most current version of zarith.
Please help!
Indeed, currently 1.9.1 is both the latest version of Zarith available as an opam package (https://opam.ocaml.org/packages/zarith/) and as a GitHub tag (https://github.com/ocaml/Zarith/tags).
However, given this upstream Git repository also contains an .opam specification file, you can just as well use opam to install the latest development version available in the master branch, or if need be, a precise Git commit just by relying on the so-called pinning feature of opam.
So, you can run alternatively:
opam pin add -n -y -k git zarith.dev --dev-repo
or
opam pin add -n -y -k git zarith.dev "https://github.com/ocaml/Zarith.git#master"
or
opam pin add -n -y -k git zarith.dev "https://github.com/ocaml/Zarith.git#a9a309d0596d93b6c0c902951e1cae13d661bebd"
Then:
opam install zarith
Further details on the opam-pin command
The .dev version suffix is unneeded syntactically, but is recommended actually, as the zarith.opam file does not specify any version. To be more precise:
If you have other dependencies that would complain of zarith.dev when being installed, you can replace the version suffix of dev with any compatible version string, "close" to the commit or branch you selected.
However if you omit this version, opam will typically pick the latest version string from the opam package repository (i.e., 1.9.1), which wouldn't necessarily match the code of the Git branch or commit you selected.
-n, -y, and -k are the short form of the options:
--no-action (don't install the package readily but wait the subsequent opam install command),
--yes (answer potential yes/no questions without prompting − a common opam pin question is Package foo does not exist, create as a NEW package? [Y/n] if ever you'd want to install a custom package not yet released in the opam-repository),
--kind=KIND (as there are several KINDS of pinning, the most typical being version, path, and git)
If you really need to use the unreleased, in-development version of zarith you can use the --dev-repo option of opam pin add:
opam pin add --dev-repo zarith
opam install zarith
I tried to reinstall Ovftool into my Centos and replace it with an old version but getting a message which I don't know how to fix it.
command to uninstall it
vmware-installer -u vmware-ovftool
command to install it again
sudo ./VMware-ovftool-4.3.0-7948156-lin.x86_64.bundle
Message received :
Cannot place vmware-ovftool 4.3.0 in the uninstall list.
Any advice?
In this case it's better to use the built-in yum remove <package> this may remove conflicting config.
Using rpm -e <package> is even better, if available, because it guarantees to remove remaining config. It will back up modified config files, but these won't interfere with future installations.
The package name for vmware-ovftool is open-vm-tools on my Ubuntu box, it may be worth checking that too, it could be the same on RHEL/CentOS/Oracle Linux as well.
Simply install another bundle and everything back to normal.
I am just starting with the Ubuntu environment, and I installed Python 2.7.14, but now I see that I have three versions of this program: Python3.6.6; Python2.7.14 and Python 2.7.15rc1.
I want to remove Python2.7.14, but I can't find the specific command for this. I already tried sudo apt purge python2.7-minimal, but this uninstalls the 2.7.15rc1 version, and I want to keep it.
What can I use in order to stay with just the 2.7.15rc1 version?
I am using a server running with Ubuntu 12.04
I want to install the boost libraries in it. I know
sudo apt-get install libboost-all-dev
will make the work done, but it installs the latest version version 1.52 or above.
But I need to install the particular version 1.40 as there is a problem in a simulator which I am using for my academic purpose. What is the particular command for that so that I can install the boost libraries along with the other requirements for it like the linking files
Thanks in advance
Quick answer: sudo apt-get install libboost-dev= 1.40.0.1
If it doesn't work, continue reading.
The apt-get does support installing a particular version of a package as long as it is in an archive that apt knows about. From the apt-get manpage:
A specific version of a package can be selected for installation by following the
package name with an equals and the version of the package to select. This will
cause that version to be located and selected for install. Alternatively a specific
distribution can be selected by following the package name with a slash and the version of
the distribution or the Archive name (stable, frozen, unstable).
For e.g. if you wanted to install apache 2.20 for Ubuntu, you would do something like:
sudo apt-get install apache2=2.2.20-1ubuntu1
Note that you may need to do some dependency resolution on your own in this case, but if there are any problems apt-get will tell you what is causing them. For e.g.(on 11.04)
sudo apt-get install apache2=2.2.20-1ubuntu1 \
apache2.2-common=2.2.20-1ubuntu1 \
apache2.2-bin=2.2.20-1ubuntu1 \
apache2-mpm-worker=2.2.20-1ubuntu1
Note: You must first check if build 1.40 is still available. For that use:
aptitude search libboost
If aptitude search command don't give you sufficient results, try sudo aptitude update and then run aptitude search again.
You might have to investigate whether debs from earlier Ubuntu versions can be installed. i.e. remove the current package, download the debs and try installing them. But there could be dependency on older versions of the standard library.If so, you can probably try downloading the source from launchpad.
As a last resort, download from boost.org and build it - painfully!
EDIT: I see you have asked the same question on ubuntu forums and it seems that you have 1.48 as the default. You might have to build the library itself. Can you try this apt-get
sudo apt-get install libboost1.40-all-dev=1.40.0-4ubuntu4
If this doesn't work, you will have to build it and install it yourself. You can download the source from
Download source (1.40.0): libboost 1.40.0 source files
After it's installed, run the following command to hold your installed version, preventing the package manager from automatically updating it in the future:
sudo echo "[packagename] hold" | sudo dpkg --set-selections
Source:How to Downgrade Packages on Ubuntu
Generally you download sources, build it (some parts are not just headers like filesystem on Windows). Then you can select which subset of libraries you want to install (you can make compact version with only what you need). Then by invoking bootstrap script you build it to another directory this subset of libraries you want and then you invoke install.
Here is a pretty good description how to do it: http://ubuntuforums.org/showthread.php?t=1180792
I am trying to find a way to remove cabal/cabal-nirvana/yesod from my system, I did install cabal with
sudo apt-get install cabal-install
second I would like to remove cabal-nirvana which I installed with
cabal install cabal-nirvana
and finally remove yesod for which I used the command
cabal install yesod-platform
Currently I have seen to exist a /home/username/.cabal folder, I just want to have my machine as close to previous state as possible (before trying to install yesod), this means removing all these things installed.
There is a lot of information on the web about insallation, however this seems not to be true for the uninstallation process.
Thank you in advance!
I guess what you're looking for is:
sudo apt-get --purge remove 'package-name'
This should remove the package along with all the fluff, I'm presuming you're using a Debian-based system.
I am under xubuntu, "sudo apt-get --purge remove yesod" worked for removing yesod, as for cabal my mistake was that I used "cabal" instead of "cabal-install", so it would be
"apt-get remove cabal-install", now it is removed.