Ini sedikit hack tapi ya, ini bisa dilakukan. Ada langkah tidak berdokumen yang diperlukan untuk benar-benar memulai layanan dan (anehnya) kecuali Anda ingin menyelesaikan konversi pekerjaan pemula secara manual, Anda harus menginstal mongodb
paket Ubuntu terlebih dahulu, kemudian menghapusnya sehingga Anda memiliki layanan yang dapat digunakan. Instalasi langsung dari paket - paket MongoDB tidak akan memberi Anda layanan yang berfungsi pada 16,04 yang baru.
Pembaruan - Juli 2016: Perbaikan resmi untuk ini (menambahkan dukungan untuk 16,04 ke paket) telah selesai di cabang 3,3 dev sebagai bagian dari SERVER-23043 - dan telah dirilis sebagai backport dalam seri 3.2 sebagai bagian dari 3.2. 7 . Oleh karena itu, jika Anda menggunakan 3.2.7+ Anda tidak perlu melakukan ini dan instalasi paket MongoDB resmi hanya bisa berfungsi.
Bagaimanapun, setelah melakukan add / remove, ikuti instruksi biasa untuk 14,04, yang dirangkum di sini:
# install the Ubuntu package (to get the service set up correctly)
sudo apt-get install mongodb
# Now remove it and continue with the MongoDB instructions
sudo apt-get remove mongodb
sudo apt-get autoremove
# import key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
# add trusty repos
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
# update apt
sudo apt-get update
# install the MongoDB package
sudo apt-get install -y mongodb-org
Instalasi berhasil, dan berkat paket Ubuntu kami memiliki semua bagian yang diperlukan untuk layanan, tetapi upaya untuk memulai layanan pada awalnya akan gagal:
$ sudo service mongodb start
Failed to start mongodb.service: Unit mongodb.service is masked.
Memperbaiki ini tidak terlalu sulit:
$ sudo systemctl unmask mongodb
Removed symlink /etc/systemd/system/mongodb.service.
Sekarang kita dapat mengaktifkan / memulai layanan, mendapatkan statusnya dll.
$ sudo service mongodb enable
$ sudo service mongodb start
$ sudo service mongodb status
● mongodb.service - LSB: An object/document-oriented database
Loaded: loaded (/etc/init.d/mongodb; bad; vendor preset: enabled)
Active: active (running) since Thu 2016-04-14 16:40:35 IST; 7s ago
Docs: man:systemd-sysv-generator(8)
Process: 2849 ExecStart=/etc/init.d/mongodb start (code=exited, status=0/SUCCESS)
Main PID: 1593 (code=exited, status=0/SUCCESS)
Tasks: 13 (limit: 512)
Memory: 51.9M
CPU: 100ms
CGroup: /system.slice/mongodb.service
└─2861 /usr/bin/mongod --config /etc/mongodb.conf
Berhasil - dan kami mendapatkan pointer yang bagus ke file konfigurasi aktif (yang dalam key=value
format lama , lihat di sini untuk contoh dalam format YAML yang disarankan yang lebih baru).
Catatan: Sebenarnya akan ada dua file konfigurasi /etc/mongod.conf
dan /etc/mongodb.conf
berkat sedikit perbedaan antara dua paket yang telah kami instal. Layanan yang sekarang aktif menunjuk ke format lama yang secara default /etc/mongodb.conf
- Anda dapat beralih dengan memindahkan / menyalin mongod.conf
ke mongodb.conf
jika Anda inginkan, atau cukup mengedit file secara langsung.
Setelah dimulai, untuk menguji, sambungkan ke database dengan mongo
shell:
$ mongo
MongoDB shell version: 3.2.5
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten]
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten]
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten]
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten]
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-04-14T16:40:34.962+0100 I CONTROL [initandlisten]
Jika Anda ingin menghilangkan peringatan THP, periksa jawaban ini .