debian stretch (9)에서 mongodb 3.4를 설치하는 방법은 무엇입니까?


13

데비안 스트레치에 mongodb 3.4를 설치하고 싶습니다. 불행히도 데비안 스트레치 패키지는 mongodb 3.2 ( https://packages.debian.org/stretch/mongodb )입니다.

mongodb 문서는 debian 7 및 8 만 언급합니다 ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/ ). 데비안 8 명령을 사용할 때 mongodb 패키지는 종속성이 없기 때문에 설치할 수 없습니다.

jessie-backports를 허용 할 때 충족되지 않은 종속성 오류가 사라졌지 만이 작업을 수행 해야하는지 확실하지 않으며 jessie-backports 패키지를 확장 설치하십시오.

데비안 스트레치에 mongodb 3.4를 어떻게 설치 하시겠습니까?

조언을 주셔서 감사합니다.


그들은 스트레칭을 위해 3.6을 발표했다
eri

답변:


16

데비안 8 명령어를 사용할 때 발생하는 오류는 많은 누락 된 종속성을 암시하지만 실제로 단일 누락 된 종속성 ( libssl1.0.0) 을 설치하면 작동합니다 . 참고로 누락 된 부분을 해결하기 위해 mongod바이너리를 다운로드하고 살펴 보았습니다 ldd.

adam@debian9:~/mongo/mongodb-linux-x86_64-debian81-3.4.6/bin$ ldd mongod
    linux-vdso.so.1 (0x00007ffd0e15d000)
    libssl.so.1.0.0 => not found
    libcrypto.so.1.0.0 => not found
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f93c6dff000)
    *snip*

데비안 9에 무엇이 설치되어 있는지 살펴보면 기본적으로 libssl그 버전 이 너무 새롭습니다. libssllibcrypto라이브러리는 모두에 의해 설치되는 libssl패키지와는 거의 독립이다. 따라서 데비안 8 libssl1.0.0패키지를 가져 와서 설치할 수 있습니다.

패키지의 amd64 버전은 여기 에서 찾을 수 있습니다 (libssl1.0.0 Jesse의 경우 Google, 다른 버전의 경우 아치).

해당 패키지를 설치하려면 파일을 다운로드 한 다음 (내 경우에는 Downloads) 다음과 같이 설치하십시오 dpkg.

adam@debian9:~$ sudo dpkg -i /home/adam/Downloads/libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb 
Selecting previously unselected package libssl1.0.0:amd64.
(Reading database ... 126471 files and directories currently installed.)
Preparing to unpack .../libssl1.0.0_1.0.1t-1+deb8u6_amd64.deb ...
Unpacking libssl1.0.0:amd64 (1.0.1t-1+deb8u6) ...
Setting up libssl1.0.0:amd64 (1.0.1t-1+deb8u6) ...

그 완료로 우리는 신속하게 재확인합니다 ldd:

adam@debian9:~/mongo/mongodb-linux-x86_64-debian81-3.4.6/bin$ ldd mongod
    linux-vdso.so.1 (0x00007ffdf25de000)
    libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f86bc12d000)
    libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f86bbd31000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f86bbb29000)
*snip*

성공! 이제 패키지 설치를 다시 시도해 보겠습니다 mongodb-org.

adam@debian9:~$ sudo apt install mongodb-org
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 0 not upgraded.
Need to get 66.8 MB of archives.
After this operation, 270 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4/main amd64 mongodb-org-shell amd64 3.4.6 [7,980 kB]
Get:2 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4/main amd64 mongodb-org-server amd64 3.4.6 [14.2 MB]
Get:3 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4/main amd64 mongodb-org-mongos amd64 3.4.6 [8,103 kB]
Get:4 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4/main amd64 mongodb-org-tools amd64 3.4.6 [36.5 MB]
Get:5 http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4/main amd64 mongodb-org amd64 3.4.6 [3,820 B]
Fetched 66.8 MB in 7s (9,509 kB/s)                                                             
Selecting previously unselected package mongodb-org-shell.
(Reading database ... 126491 files and directories currently installed.)
Preparing to unpack .../mongodb-org-shell_3.4.6_amd64.deb ...
Unpacking mongodb-org-shell (3.4.6) ...
Selecting previously unselected package mongodb-org-server.
Preparing to unpack .../mongodb-org-server_3.4.6_amd64.deb ...
Unpacking mongodb-org-server (3.4.6) ...
*snip*
Adding system user `mongodb' (UID 119) ...
Adding new user `mongodb' (UID 119) with group `nogroup' ...
Not creating home directory `/home/mongodb'.
Adding group `mongodb' (GID 123) ...
Done.
Adding user `mongodb' to group `mongodb' ...
Adding user mongodb to group mongodb
Done.
Setting up mongodb-org (3.4.6) ...

마지막으로 서비스가 시작되고 셸과 연결할 수 있는지 확인하십시오.

adam@debian9:~$ sudo systemctl start mongod
adam@debian9:~$ mongo
MongoDB shell version v3.4.6
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.6 

그리고 당신은 그것을 가지고 있습니다-Jesse 패키지는 Stretch에서 작동합니다. 나는 이것이 곧 쓸모 없게 될 공식 릴리스가 곧있을 것이라 확신하지만 그 동안 이것은 비교적 고통스럽지 않은 해결 방법입니다.


백 포트 트릭에 감사드립니다. 나는 얻고 있었다 package not found위해 mongodb-org이 나에게 떠올랐다 때 리눅스의 잘못된 bitiness했다. 64 비트 대신 32 비트 VM을 얻었습니다 ... 죄송합니다! MongoDB 명령어 및 바이너리는 64 비트 전용입니다!
sumitkm

2
의 오랫동안의 경우되고 있음을, 32 비트, 심각한 제한 (2GB 최대 데이터)를 가지고 특히 MMAP 스토리지 엔진에, 확실하지 WiredTiger은 이제까지 그것을 지원
아담 C를

3
발견-버전 3.0에서 32 비트 지원 중단 : docs.mongodb.com/manual/release-notes/3.0-compatibility/…
Adam C

1
이 아담에게 감사합니다. 마지막 단계에서는 sudo systemctl start mongodSystemie가 Jessie 이후 데비안의 기본 초기화 시스템이므로 service호환성 스크립트가 되었으므로 사용할 것 입니다.
Rafa


3

mongodb 3.4에는 아직 공식 apt 저장소에 데비안 확장을위한 바이너리가 없습니다. 가장 좋은 방법은 시스템의 소스를 구축하는 것일 수 있습니다.

이 페이지에는 특정 지침이 있습니다. https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source

Xenial 용 Ubuntu 패키지를 사용해 볼 수도 있지만 이것이 제대로 작동한다고 보장 할 수는 없으며 소스에서 빌드하는 것이 더 좋습니다.


소스에서 빌드하려고했지만 SSLv2_method가 asio / ssl / impl / context.ipp에서 오류로 선언되지 않았습니다. 어떤 아이디어?
Hamburml

1

방금이 문제가 발생했습니다 (debain 9 사용).

약간의 파기 결과는 이전 데비안 패키지 버전을 설치 프로그램이 제거 할 수 없다는 사실 때문이었습니다 (Debian에서 제공하는 비공식 mongodb 패키지에서 공식 mongodb-org 패키지로 업그레이드하려고 시도 중임).

해결책은 다음과 같습니다.

sudo apt-get autoremove mongodb-org
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install -y mongodb-org

이것이 누군가를 구하기를 바랍니다.


0

내가 만든 Github의 저장소를 MongoDB의 물건을 자신의 최신 버전을 구축하기 쉬운 그것을 만들 수 있습니다. 시스템 서비스를 포함하여 apt에 의존하지 않고 내부적으로 모든 것을 구축합니다.



0

데비안 9 스트레치를 사용하고 있습니다

이 버전의 MongoDB를 다운로드했습니다. Linux 64 비트 레거시 64x

여기에 이미지 설명을 입력하십시오

데스크탑 폴더로 다운로드하여 이름을 바꿨습니다. mongodb

그런 다음 최근에 이름이 바뀐 폴더를 "이동"해야합니다. /opt/

mv mongodb /opt/

이제 다음 /opt/mongodb/bin과 같은 명령에 액세스 하고 실행할 수 있습니다 .

./mongod --dbpath ./db/

물건의 재미를 만들려면, 당신은, 예를 들어, 심볼릭 링크를 만들 수 있습니다 mongod/usr/local/bin/그런 :

ln -s /opt/mongodb/bin/mongod /usr/local/bin/mongod

이제 터미널에서 어디에서나 명령을 입력하십시오.

mongod --dbpath /homer/user/Desktop/db

mongod 가 제대로 작동하려면 --dbpath를 지정해야합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.