Quiero instalar mongodb 3.4 en Debian Stretch. Desafortunadamente, los paquetes de estiramiento de Debian son solo mongodb 3.2 ( https://packages.debian.org/stretch/mongodb ).
Los documentos de mongodb solo mencionan debian 7 y 8 ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/ ). Cuando uso los comandos de debian 8 no puedo instalar paquetes mongodb porque tienen dependencias insatisfechas.
Al permitir jessie-backports, el error de dependencias no satisfechas desaparece, pero no estoy seguro de si debo hacer esto e instalar los paquetes de jessie-backports en el tramo.
¿Cómo instalarías mongodb 3.4 en Debian Stretch?
Gracias por cualquier consejo
Respuestas:
El error cuando intenta utilizar las instrucciones de Debian 8 sugiere muchas dependencias faltantes, pero de hecho funcionará si instala la dependencia faltante real (
libssl1.0.0
). Como referencia, para resolver lo que faltaba, descargué elmongod
binario y eché un vistazo aldd
:Si echa un vistazo a lo que está instalado en Debian 9, básicamente solo tenemos versiones
libssl
que son demasiado nuevas. Las bibliotecaslibssl
ylibcrypto
son instaladas por ellibssl
paquete y es bastante independiente. Por lo tanto, podemos tomar ellibssl1.0.0
paquete Debian 8 e instalarlo.La versión amd64 del paquete se puede encontrar aquí (solo Google para libssl1.0.0 Jesse y su arco para otra versión).
Para instalar ese paquete, descargue el archivo (en mi caso fue para Descargas) y luego instálelo con
dpkg
:Con eso completo, revisamos rápidamente
ldd
:¡Éxito! Ahora intentemos de nuevo la instalación del paquete de
mongodb-org
:Finalmente, asegurémonos de que el servicio se inicie y podamos conectarnos con un shell:
Y ahí lo tienes: paquetes de Jesse trabajando en Stretch. Estoy seguro de que pronto habrá un lanzamiento oficial que hará que esto quede obsoleto, pero mientras tanto esta es una solución relativamente indolora.
fuente
package not found
buscandomongodb-org
cuando me di cuenta de que tenía el error equivocado de Linux. Tengo una máquina virtual de 32 bits en lugar de 64 bits ... ¡Uy! ¡Las instrucciones y binarios de MongoDB son solo para 64 bits!sudo systemctl start mongod
ya que SystemD es el sistema de inicio predeterminado para Debian desde Jessie y seservice
convirtió en un script de compatibilidad.Parece que mongodb 3.4 aún no tiene binarios para debian stretch en su repositorio apt oficial. Su mejor enfoque puede ser construir desde la fuente para su sistema.
Hay instrucciones específicas en esta página: https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
También podría intentar usar los paquetes de Ubuntu para Xenial, pero no hay garantía de que esto funcione correctamente, y creo que construir desde la fuente sería una mejor idea.
fuente
Acabo de tener este problema (aunque usando debain 9).
Un poco de investigación reveló que se debía al hecho de que el instalador no podía eliminar la versión anterior del paquete debian (estaba intentando actualizar el paquete mongodb no oficial proporcionado por Debian a los paquetes oficiales mongodb-org).
La solución fue la siguiente:
¡Espero que esto ahorre algo de tiempo!
fuente
Creé un repositorio de Github para facilitar la creación de la última versión de MongoDB. Construirá todo internamente en lugar de depender de apt, incluido el servicio systemd.
fuente
A partir de ahora, el paquete está disponible en Debian:
https://packages.debian.org/stretch/mongodb-server
Simplemente instálelo ejecutando
# sudo apt install mongodb-server
fuente
Estoy usando Debian 9 Stretch
Descargué esta versión de MongoDB: Linux 64-bit legacy 64x
Lo descargué a mi carpeta de escritorio y le cambié el nombre a
mongodb
Después de eso, "necesita" mover su carpeta recientemente renombrada a
/opt/
mv mongodb /opt/
Ahora puede acceder
/opt/mongodb/bin
y ejecutar un comando como ese:./mongod --dbpath ./db/
Para hacer que la cosa sea divertida, puede crear un enlace simbólico, por ejemplo,
mongod
para/usr/local/bin/
:ln -s /opt/mongodb/bin/mongod /usr/local/bin/mongod
Ahora, en su terminal, escriba el comando, desde cualquier lugar:
mongod --dbpath /homer/user/Desktop/db
Debe especificar --dbpath para que el mongod funcione correctamente.
fuente