AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 842592
Accepted
Jonathan
Jonathan
Asked: 2016-10-28 13:35:03 +0800 CST2016-10-28 13:35:03 +0800 CST 2016-10-28 13:35:03 +0800 CST

apt-get 在 16.04 或 18.04 安装 mongodb 时失败

  • 772

当我尝试使用https://docs.mongodb.com/getting-started/shell/tutorial/install-mongodb-on-ubuntu/16.04 上的说明安装 mongodb 时,我在安装步骤中得到以下结果:

jonathan@poseidon:~$ sudo apt-get install mongodb-org
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package mongodb-org is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'mongodb-org' has no installation candidate

我用 Wireshark 检查了 HTTP 流量,发现唯一的流量是列表的 HTTP GET 和 HTTP 304 响应,这表明问题出在我的本地配置文件中。我的 sources.list.d 文件包含以下条目:

mongodb-org-3.4.list

我需要做什么才能继续解决此问题?

编辑:我尝试在 VirtualBox 下新安装 16.04 时再次执行此操作。我检索了密钥,创建了列表文件,并sudo apt update得到了以下结果:

jonathan@Ubuntu-16:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
[sudo] password for jonathan: 
Executing: /tmp/tmp.uWYpRUWfjK/gpg.1.sh --keyserver
hkp://keyserver.ubuntu.com:80
--recv
0C49F3730359A14518585931BC711F9BA15703C6
gpg: requesting key A15703C6 from hkp server keyserver.ubuntu.com
gpg: key A15703C6: public key "MongoDB 3.4 Release Signing Key <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
jonathan@Ubuntu-16:~$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse
jonathan@Ubuntu-16:~$ sudo apt update
Ign:1 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 InRelease
Get:2 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release [3 462 B]
Hit:3 http://mx.archive.ubuntu.com/ubuntu xenial InRelease               
Get:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB]                   
Get:5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release.gpg [801 B]                      
Get:6 http://mx.archive.ubuntu.com/ubuntu xenial-updates InRelease [95.7 kB]           
Ign:5 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release.gpg                       
Get:7 http://mx.archive.ubuntu.com/ubuntu xenial-backports InRelease [92.2 kB]                    
Reading package lists... Done      
W: GPG error: http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY D68FA50FEA312927
E: The repository 'http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
jonathan@Ubuntu-16:~$ 

如您所见,检索到的密钥用于 Mongodb 3.4,而不是 Mongodb 3.2,这解释了 apt update 中的 GPG 失败。有谁知道在哪里可以得到正确的密钥?

apt
  • 9 9 个回答
  • 123935 Views

9 个回答

  • Voted
  1. Best Answer
    Terrance
    2016-10-28T14:04:53+08:002016-10-28T14:04:53+08:00

    Ubuntu 18.04 和 MongoDB 4.2

    首先,如果安装了 MongoDB,请从以前的版本中删除:

    sudo apt remove --autoremove mongodb-org
    

    删除任何 mongodb repo 列表文件:

    sudo rm /etc/apt/sources.list.d/mongodb*.list
    sudo apt update
    

    现在,添加新密钥:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 4B7C549A058F8B6B
    

    添加新的存储库:

    echo "deb [arch=amd64] http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
    

    安装 MongoDB

    sudo apt update
    sudo apt install mongodb-org
    

    启用并启动mongod服务器服务:

    systemctl enable mongod.service
    systemctl start mongod.service
    

    检查您的安装:

    ~$ mongo --version
    MongoDB shell version v4.2.2
    git version: a0bbbff6ada159e19298d37946ac8dc4b497eadf
    OpenSSL version: OpenSSL 1.1.1  11 Sep 2018
    allocator: tcmalloc
    modules: none
    build environment:
        distmod: ubuntu1804
        distarch: x86_64
        target_arch: x86_64
    

    您还可以检查您的服务是否已启动:

    ~$ systemctl status mongod.service 
    ● mongod.service - MongoDB Database Server
       Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: e
       Active: active (running) since Mon 2019-12-30 08:05:48 MST; 1min 7s ago
         Docs: https://docs.mongodb.org/manual
     Main PID: 7941 (mongod)
       CGroup: /system.slice/mongod.service
               └─7941 /usr/bin/mongod --config /etc/mongod.conf
    

    Ubuntu 20.04 和 MongoDB 4.4 或 MongoDB 5.0

    首先,如果安装了 MongoDB,请从以前的版本中删除:

    systemctl stop mongod.service
    systemctl disable mongod.service
    sudo apt remove --autoremove mongodb-org
    

    删除任何 mongodb repo 列表文件:

    sudo rm /etc/apt/sources.list.d/mongodb*.list
    sudo apt update
    

    现在,为MongoDB 4.4添加新密钥:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 656408E390CFB1F5
    

    MongoDB 5.0的新密钥:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv B00A0BD1E2C63C11
    

    为MongoDB 4.4添加新的存储库:

    echo "deb [arch=amd64] http://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org.list
    

    或者MongoDB 5.0的新存储库:

    echo "deb [arch=amd64] http://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org.list
    

    安装 MongoDB

    sudo apt update
    sudo apt install mongodb-org
    

    启用并启动mongod服务器服务:

    systemctl enable mongod.service
    systemctl start mongod.service
    

    检查您的安装:

    ~$ mongo --version
    MongoDB shell version v4.4.3
    Build Info: {
        "version": "4.4.3",
        "gitVersion": "913d6b62acfbb344dde1b116f4161360acd8fd13",
        "openSSLVersion": "OpenSSL 1.1.1f  31 Mar 2020",
        "modules": [],
        "allocator": "tcmalloc",
        "environment": {
            "distmod": "ubuntu2004",
            "distarch": "x86_64",
            "target_arch": "x86_64"
        }
    }
    

    或者

    $ mongo --version
    MongoDB shell version v5.0.2
    Build Info: {
        "version": "5.0.2",
        "gitVersion": "6d9ec525e78465dcecadcff99cce953d380fedc8",
        "openSSLVersion": "OpenSSL 1.1.1f  31 Mar 2020",
        "modules": [],
        "allocator": "tcmalloc",
        "environment": {
            "distmod": "ubuntu2004",
            "distarch": "x86_64",
            "target_arch": "x86_64"
        }
    }
    

    您还可以检查您的服务是否已启动:

    ~$ systemctl status mongod.service 
    ● mongod.service - MongoDB Database Server
         Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset>
         Active: active (running) since Sun 2021-01-24 07:52:50 MST; 27s ago
           Docs: https://docs.mongodb.org/manual
       Main PID: 2353629 (mongod)
         Memory: 59.2M
         CGroup: /system.slice/mongod.service
                 └─2353629 /usr/bin/mongod --config /etc/mongod.conf
    
    Jan 24 07:52:50 terrance-ubuntu systemd[1]: Started MongoDB Database Server.
    

    希望这可以帮助!

    • 113
  2. Tpojka
    2018-02-15T04:52:08+08:002018-02-15T04:52:08+08:00

    除了@Terrance 的回答之外,您还可以通过以下方式找到合适的 sig 密钥。在这种情况下,示例适用于 mongodb,但也可以类似地用于任何其他包。在执行 @Terrance 的答案中的行之前:

    1. 转到ubuntu 密钥服务器以查找实际密钥

    2. 搜索感兴趣的字符串(以 mongodb 为例)并提交第一个表单(您不需要第二个表单) - 单击Search!按钮

    在此处输入图像描述

    1. 在提供的搜索列表中寻找您的版本(在我的例子中是 3.4)

    在此处输入图像描述

    1. 您可以在那里看到两行带有键的行。关注最实际的日期。第一个字符串是创建日期,而第二个字符串是有效到期日期。

    2. 使用第 5 点中提到的行中的 sig - 如果从图片中可以A15703C6

    3. 继续 Terrance 的回答是否需要像我一样安装包或升级

    • 16
  3. Lakshmi
    2019-12-09T23:40:21+08:002019-12-09T23:40:21+08:00

    第一次运行:

    $ sudo rm /etc/apt/sources.list.d/mongodb*.list
    

    建议同时从/etc/apt/sources.list文件中删除与 MongoDB 相关的任何行。

    然后使用Ubuntu 官方 MongoDB 安装说明中提供的命令重新安装 MongoDB 。

    提供的链接中的命令如下

    wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
    
    sudo apt-get install gnupg
    
    wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
    
    
    echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
    
    
    sudo apt-get update
    
    sudo apt-get install -y mongodb-org
    
    sudo service mongod start
    
    sudo service mongod status
    
    • 2
  4. VishalTheBeast
    2018-08-20T13:58:29+08:002018-08-20T13:58:29+08:00

    对我也没什么用,所以我去了 mogodb 网站并按照以下说明从 tarball 安装:

    安装依赖项:

    sudo apt-get install libcurl3 openssl
    

    从此页面下载压缩包

    cd到下载目录或文件所在的任何位置,然后将其解压缩:

    tar -zxvf mongodb-linux-*-4.0.1.tgz
    

    二进制文件位于bin提取结构的目录中。您可以将此目录添加到 PATH 或将文件复制到/usr/local/bin其他 PATH 位置。

    • 1
  5. BC Smith
    2021-01-31T13:46:08+08:002021-01-31T13:46:08+08:00

    我今天正在努力在 Ubuntu 20.04.1 LTS(Focal Fossa)中安装 mongodb 4.2。我是一个新用户,我花了一些时间才弄清楚。@Terrance 写的答案帮助我解决了我的问题。我按照以下步骤将其安装到我的系统中:

    sudo rm /etc/apt/sources.list.d/mongodb*.list 
    sudo apt update
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 4B7C549A058F8B6B
    echo "deb [arch=amd64] http://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
    sudo apt update
    sudo apt install mongodb-org
    

    希望这对其他人有帮助。谢谢你。

    • 0
  6. flavio.troja
    2021-09-30T21:54:29+08:002021-09-30T21:54:29+08:00

    已解决 注意检查您的版本,在这种情况下是 3.2

    curl -sLO https://www.mongodb.org/static/pgp/server-3.2.asc && sudo /usr/bin/apt-key add server-3.2.asc
    
    • 0
  7. dhruv sharma
    2021-11-14T02:37:37+08:002021-11-14T02:37:37+08:00

    希望这对安装 MongoDB 版本 3.4.17 有所帮助

    (这在 ubuntu 焦点 20.04.01 LTS 中对我有用,但希望它也适用于其他版本!)

    尝试这个:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
    
    echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
    
    sudo apt update
    
    
    apt-cache policy libssl1.0-dev
    
    sudo apt-get install libssl1.0-dev
    
    
    sudo apt-get install -y mongodb-org=3.4.17 mongodb-org-server=3.4.17 mongodb-org-shell=3.4.17 mongodb-org-mongos=3.4.17 mongodb-org-tools=3.4.17
    
    • 0
  8. Hrittik Garain
    2022-03-30T09:09:49+08:002022-03-30T09:09:49+08:00

    我也遇到了同样的问题…………

    https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/

    转到此链接并按照步骤操作……这对我有用

    • 0
  9. flavio.troja
    2022-09-02T04:03:29+08:002022-09-02T04:03:29+08:00

    解决了

    wget -qO - https://www.mongodb.org/static/pgp/server-3.2.asc | sudo apt-key add -
    
    • 0

相关问题

  • 如何编写 shell 脚本来安装应用程序列表?

  • 如何查看存档中可用的软件包的所有版本?

  • 是否可以说出我安装的哪些软件包不在原版安装中?

  • 如何删除 PPA?

  • 使用 apt-get upgrade 时如何强制安装内核更新?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve