[mongodb] MongoDB GPG-유효하지 않은 서명

https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ 의 지침을 사용하여 Ubuntu 14.04 시스템에 MongoDB를 설치하고 있습니다.

그래서 나는 다음을 실행합니다.

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

그리고:

echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

뒤에 :

sudo apt-get update

그런 다음 업데이트가 끝날 때 다음 경고가 표시됩니다.

W : GPG 오류 : http://repo.mongodb.org trusty / mongodb-org / 3.2 릴리스 : 다음 서명이 유효하지 않습니다. BADSIG D68FA50FEA312927 MongoDB 3.2 릴리스 서명 키

경고를 무시하고 실행하려고하면 :

sudo apt-get install -y mongodb-org

나는 얻다:

경고 : 다음 패키지는 인증 할 수 없습니다!
mongodb-org-shell mongodb-org-server mongodb-org-mongos mongodb-org-tools mongodb-org E : 문제가 있으며 –force-yes없이 -y를 사용했습니다.

해결 방법에 대한 아이디어가 있습니까? 감사!



답변

하나의 명령으로 Ubuntu 키 서버에서 만료 된 모든 키를 업데이트합니다.

sudo apt-key list | \
 grep "expired: " | \
 sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | \
 xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys

명령 설명 :

  1. sudo apt-key list -시스템에 설치된 모든 키를 나열합니다.
  2. grep "expired: " -만료 된 키가있는 줄만 남깁니다.
  3. sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' -키 추출;
  4. xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys -만료 된 항목을 발견하여 Ubuntu 키 서버에서 키를 업데이트합니다.

출처


답변

MongoDB의 설치 단계를 다시 실행해야하는 것 같습니다. 먼저 MongoDB의 기존 저장소 파일을 제거하십시오. 아래와 같이하십시오.

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

다음으로 키를 추가합니다 (키가 없으면 저장소가로드되지 않음).

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

이제 새 MongoDB 저장소 목록 파일을 만듭니다.

$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

저장소 세부 정보를 추가 한 후 패키지 목록을 업데이트해야합니다.

$ sudo apt-get update

이제 MongoDB를 설치하십시오.

sudo apt install mongodb-org

도움이 되었기를 바랍니다 !


답변

mongo 패키지를 다시 설치할 필요는 없지만 다음과 같이 키를 변경하면됩니다.

만료되었는지 확인하기 위해 키를 나열합니다.

apt-key list | grep "expired:"

키 교체 :

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xd68fa50fea312927

0xd68fa50fea312927은 현재 유효한 키 ID입니다 (2019-10-09에 만료 됨) . 여기에서 확인할 수 있습니다 .


답변

버전 3.2.1이 2016 년 1 월 11 일에 출시 된 것으로 보이며이 순간 이후로 패키지 서명이 좋지 않습니다. 패키지 서명은 전날 괜찮 았습니다.

참조 : https://jira.mongodb.org/browse/SERVER/fixforversion/15908/?selectedTab=com.atlassian.jira.jira-projects-plugin:version-summary-panel

–force-yes 옵션을 추가하거나 mongodb 팀이 문제를보고 수정하는 데 몇 시간을 기다릴 수 있습니다.

이미 티켓이 있습니다 : https://jira.mongodb.org/browse/SERVER-22144


답변

Ubuntu 16.04에 MongoDB 4.0을 설치할 때도이 문제에 직면했습니다. 그래서 했어요.

  1. sudo rm /etc/apt/sources.list.d/mongodb*.list -MongoDB에 대한 기존 파일 제거

  2. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4 -키 추가

  3. sudo bash -c 'echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" > /etc/apt/sources.list.d/mongodb-org-4.0.list' -새 MongoDB 저장소 목록 파일 생성

이제 저장소 업데이트로 설치를 완료 한 다음 MongoDB를 설치하고 mongod서비스를 활성화 하고 시작하고 마지막으로 MongoDB 버전을 확인합니다.

sudo apt update
sudo apt install mongodb-org

systemctl enable mongod.service
systemctl start mongod.service

mongo --version


답변

아래 명령을 사용하여 우분투 16.04에 MongoDB 3.2를 설치할 때도이 문제에 직면했습니다. 아래 솔루션은 MongoDB v3.2 설치와 관련된 질문으로 제공됩니다.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
sudo apt-get update

위의 업데이트 명령을 실행 한 후 다음 경고를 발견했습니다.

W: GPG error: http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release: The following signatures were invalid: KEYEXPIRED 1507497109
W: The repository 'http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 Release' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.

아래 명령을 사용하여 모든 키를 나열하는 추가 조사

sudo apt-key list

현재 키가 2017-10-08에 만료되었음을 보여줍니다.

pub   4096R/EA312927 2015-10-09 [expired: 2017-10-08]
uid                  MongoDB 3.2 Release Signing Key <packaging@mongodb.com>

MongoDB Current Stable Release가 현재 (3.4.9)이므로 이것은 또한 의미가 있습니다.

먼저 문제를 해결하기 위해 소규모 정리를 수행합니다 (선택 사항).

  1. 추가 된 이전 키를 제거합니다.

    sudo apt-key list // 모든 키 나열

    sudo apt-key del EA312927 // 삭제할 키의 uid 찾기

    적절한 키 목록 | grep Mongodb // 삭제되었는지 확인

  2. 이제 /etc/apt/sources.list.d에 추가 된 MongoDB 저장소를 제거합니다.

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

  3. 이제 아래 명령을 사용하여 최신 안정 버전의 MongoDB (3.4.9)를 설치합니다.

Ubuntu Package Manager에서 사용하는 공개 키 가져 오기

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

mongoDB에 대한 파일 목록을 만들어 현재 저장소를 가져옵니다.

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

MongoDB 설치

sudo apt-get update
sudo apt-get install mongodb-org


답변

나는 똑같은 문제가 있었고 tarball 방법으로 mongodb를 설치하여 해결했습니다. 자세한 내용은 아래 링크를 참조하십시오.

https://docs.mongodb.org/manual/tutorial/install-mongodb-on-linux/

아래에 세부 정보 추가

  1. curl -O https://fastdl.mongodb.org/linux/mongodb-linux-i686-3.2.0.tgz
  2. tar -zxvf mongodb-linux-i686-3.2.0.tgz
  3. mkdir -p mongodb && cp -R -n mongodb-linux-i686-3.2.0 / mongodb
  4. 내보내기 PATH = / bin : $ PATH

  5. 그런 다음 mongod를 실행하십시오 (db 경로를 설정해야 할 수도 있음)