데비안 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
그 버전 이 너무 새롭습니다. libssl
및 libcrypto
라이브러리는 모두에 의해 설치되는 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에서 작동합니다. 나는 이것이 곧 쓸모 없게 될 공식 릴리스가 곧있을 것이라 확신하지만 그 동안 이것은 비교적 고통스럽지 않은 해결 방법입니다.