Once you've setup the offical mongo PPA, Mongo's docs say that to install a specific version on Ubuntu, to run something like:
sudo apt-get install -y mongodb-org=3.6.2
I'd like to install version 3.4.10 on Ubuntu 16. I verified this version is available with:
apt-cache policy mongodb-org
which lists:
mongodb-org:
Installed: 3.4.10
Candidate: 3.4.11
Version table:
3.4.11 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
3.4.10 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
100 /var/lib/dpkg/status
3.4.9 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
3.4.8 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
3.4.7 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
3.4.6 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
3.4.5 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
3.4.4 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
3.4.3 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
3.4.2 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
3.4.1 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
3.4.0 500
500 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 Packages
so I tried running:
sudo apt-get install -y mongodb-org=3.4.10
but I received this nonsensical output:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
The following NEW packages will be installed:
mongodb-org mongodb-org-mongos mongodb-org-server mongodb-org-shell mongodb-org-tools
0 upgraded, 5 newly installed, 0 to remove and 1 not upgraded.
Need to get 3,522 B/67.0 MB of archives.
After this operation, 271 MB of additional disk space will be used.
Get:1 https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4/multiverse amd64 mongodb-org amd64 3.4.10 [3,522 B]
Fetched 3,522 B in 0s (8,901 B/s)
Selecting previously unselected package mongodb-org-shell.
(Reading database ... 84310 files and directories currently installed.)
Preparing to unpack .../mongodb-org-shell_3.4.11_amd64.deb ...
Unpacking mongodb-org-shell (3.4.11) ...
Selecting previously unselected package mongodb-org-server.
Preparing to unpack .../mongodb-org-server_3.4.11_amd64.deb ...
Unpacking mongodb-org-server (3.4.11) ...
Selecting previously unselected package mongodb-org-mongos.
Preparing to unpack .../mongodb-org-mongos_3.4.11_amd64.deb ...
Unpacking mongodb-org-mongos (3.4.11) ...
Selecting previously unselected package mongodb-org-tools.
Preparing to unpack .../mongodb-org-tools_3.4.11_amd64.deb ...
Unpacking mongodb-org-tools (3.4.11) ...
Selecting previously unselected package mongodb-org.
Preparing to unpack .../mongodb-org_3.4.10_amd64.deb ...
Unpacking mongodb-org (3.4.10) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up mongodb-org-shell (3.4.11) ...
Setting up mongodb-org-server (3.4.11) ...
Setting up mongodb-org-mongos (3.4.11) ...
Setting up mongodb-org-tools (3.4.11) ...
Setting up mongodb-org (3.4.10) ...
Why does it say it's installing 3.4.11…only to finally say it's setting up 3.4.10? When I run /usr/bin/mongod --version
it indeed shows it's installed the wrong version.
db version v3.4.11
git version: 34f5bec2c9d827d71828fe858167f89a28b29a2a
OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
allocator: tcmalloc
modules: none
build environment:
distmod: ubuntu1604
distarch: x86_64
target_arch: x86_64
What am I doing wrong?
Best Answer
Apparently, to install a specific version, you need to specify not just the version of the main package, but also the version of all package dependencies. Otherwise apt-get assumes you want the most recent versions, of the dependencies...which require the most recent version of your main package, causing it to ignore your specified version. When I specified 3.4.10 for all the various mongo-org packages like:
then it correctly installed 3.4.10.