Saya ingin menginstal mongodb 3.4 pada debian stretch. Sayangnya paket stretch debian hanya mongodb 3.2 ( https://packages.debian.org/stretch/mongodb ).
Dokumen mongodb hanya menyebutkan debian 7 dan 8 ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/ ). Saat menggunakan perintah debian 8 saya tidak dapat menginstal paket mongodb karena mereka memiliki dependensi yang belum terpenuhi.
Ketika mengizinkan jessie-backports kesalahan dependensi yang tidak terpenuhi hilang tetapi saya tidak yakin apakah saya harus melakukan ini dan menginstal paket jessie-backports dalam peregangan.
Bagaimana Anda menginstal mongodb 3.4 pada debian stretch?
Terima kasih atas sarannya.
Jawaban:
Kesalahan saat Anda mencoba menggunakan instruksi Debian 8 menunjukkan banyak dependensi yang hilang, tetapi pada kenyataannya akan berfungsi jika Anda menginstal dependensi tunggal yang sebenarnya hilang (
libssl1.0.0
). Sebagai referensi, untuk mengetahui apa yang hilang, saya mengunduhmongod
biner dan melihatldd
:Jika Anda melihat apa yang diinstal di Debian 9, pada dasarnya kami hanya memiliki versi
libssl
yang terlalu baru. Thelibssl
danlibcrypto
perpustakaan keduanya dipasang olehlibssl
paket dan itu cukup banyak mandiri. Karenanya, kita bisa mengambillibssl1.0.0
paket Debian 8 dan menginstalnya.Versi paket amd64 dapat ditemukan di sini (hanya Google untuk libssl1.0.0 Jesse dan lengkungan Anda untuk versi lain).
Untuk menginstal paket itu, unduh file (dalam kasus saya ini adalah Unduhan) dan kemudian instal dengan
dpkg
:Dengan kelengkapan itu, kami dengan cepat memeriksa ulang
ldd
:Keberhasilan! Sekarang mari kita coba lagi instalasi paket
mongodb-org
:Akhirnya, mari pastikan layanan dimulai dan kita dapat terhubung dengan shell:
Dan begitulah - paket Jesse bekerja pada Stretch. Saya yakin bahwa akan ada rilis resmi segera yang akan membuat ini usang, tetapi sementara ini ini merupakan solusi yang relatif tidak menyakitkan.
sumber
package not found
untukmongodb-org
ketika sadar atas saya saya memiliki bitiness salah Linux. Saya mendapat VM 32 bit bukannya 64 bit ... oops! Instruksi MongoDB dan binari hanya untuk 64 bit!sudo systemctl start mongod
karena SystemD adalah sistem init default untuk Debian sejak Jessie danservice
menjadi hanya skrip kompatibilitas.Tampaknya mongodb 3.4 belum memiliki binari untuk debian stretch di repositori apt resmi mereka. Pendekatan terbaik Anda mungkin dibangun dari sumber untuk sistem Anda.
Ada instruksi khusus pada halaman ini: https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
Anda juga dapat mencoba menggunakan paket Ubuntu untuk Xenial, tetapi tidak ada jaminan bahwa ini akan berfungsi dengan baik, dan saya pikir membangun dari sumber akan menjadi ide yang lebih baik.
sumber
Saya baru saja mengalami masalah ini (meskipun menggunakan debain 9).
Sedikit penggalian mengungkapkan bahwa itu disebabkan oleh fakta bahwa versi paket debian yang lebih lama tidak dapat dihapus oleh installer (saya sedang mencoba untuk meningkatkan dari paket mongodb tidak resmi yang disediakan oleh Debian ke paket mongodb-org resmi).
Solusinya adalah sebagai berikut:
Semoga ini menghemat waktu seseorang!
sumber
Saya membuat repositori Github untuk membuatnya lebih mudah untuk membangun sendiri versi MongoDB terbaru. Ini akan membangun semuanya secara internal alih-alih bergantung pada apt, termasuk layanan systemd.
sumber
Sampai sekarang, paket tersebut tersedia dalam Debian -
https://packages.debian.org/stretch/mongodb-server
Instal saja dengan menjalankan
# sudo apt install mongodb-server
sumber
Saya menggunakan Debian 9 Stretch
Saya mengunduh versi MongoDB ini: Linux 64-bit legacy 64x
Saya mengunduh ke folder desktop saya, dan menamainya menjadi
mongodb
Setelah itu, Anda "perlu" memindahkan folder berganti nama menjadi
/opt/
mv mongodb /opt/
Sekarang Anda dapat mengakses
/opt/mongodb/bin
dan menjalankan perintah seperti itu:./mongod --dbpath ./db/
Untuk menjadikannya menyenangkan, Anda dapat membuat symlink, misalnya,
mongod
untuk/usr/local/bin/
, seperti itu:ln -s /opt/mongodb/bin/mongod /usr/local/bin/mongod
Sekarang, di terminal Anda ketik perintah, dari mana saja:
mongod --dbpath /homer/user/Desktop/db
Anda perlu menentukan --dbpath agar mongod berfungsi dengan benar.
sumber