Quero instalar o mongodb 3.4 no debian stretch. Infelizmente os pacotes debian stretch são apenas o mongodb 3.2 ( https://packages.debian.org/stretch/mongodb ).
Os documentos do mongodb mencionam apenas o debian 7 e 8 ( https://docs.mongodb.com/manual/tutorial/install-mongodb-on-debian/ ). Ao usar os comandos debian 8, não consigo instalar os pacotes mongodb porque eles têm dependências não atendidas.
Ao permitir o jessie-backports, o erro de dependências não atendidas desapareceu, mas não tenho certeza se devo fazer isso e instalar os pacotes do jessie-backports em stretch.
Como você instalaria o mongodb 3.4 no debian stretch?
Obrigado por qualquer conselho.
Respostas:
O erro ao tentar usar as instruções do Debian 8 sugere muitas dependências ausentes, mas na verdade funcionará se você instalar a única dependência real ausente (
libssl1.0.0
). Para referência, para descobrir o que estava faltando, baixei omongod
binário e dei uma olhada emldd
:Se você der uma olhada no que está instalado no Debian 9, basicamente temos apenas versões
libssl
muito novas. As bibliotecaslibssl
elibcrypto
são instaladas pelolibssl
pacote e são praticamente independentes. Portanto, podemos simplesmente pegar olibssl1.0.0
pacote Debian 8 e instalá-lo.A versão amd64 do pacote pode ser encontrada aqui (apenas o Google para libssl1.0.0 Jesse e seu arch para outra versão).
Para instalar esse pacote, baixe o arquivo (no meu caso, foi para Downloads) e instale-o com
dpkg
:Com isso completo, rapidamente verificamos novamente
ldd
:Sucesso! Agora vamos tentar novamente a instalação do pacote
mongodb-org
:Finalmente, vamos garantir que o serviço seja iniciado e que possamos nos conectar com um shell:
E aí está - pacotes de Jesse trabalhando no Stretch. Tenho certeza de que em breve haverá um lançamento oficial que tornará isso obsoleto, mas enquanto isso é uma solução relativamente indolor.
fonte
package not found
paramongodb-org
quando amanheceu sobre mim tive a bitiness errado de Linux. Consegui uma VM de 32 bits em vez de 64 bits ... oops! As instruções e os binários do MongoDB são apenas de 64 bits!sudo systemctl start mongod
uma vez que SystemD é o sistema init padrão do Debian desde Jessie eservice
se tornou apenas um script de compatibilidade.Parece que o mongodb 3.4 ainda não possui binários para o debian stretch em seu repositório oficial do apt. Sua melhor abordagem pode ser a partir da fonte para o seu sistema.
Existem instruções específicas nesta página: https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
Você também pode tentar usar os pacotes Ubuntu para o Xenial, mas não há garantia de que isso funcione corretamente, e acho que construir a partir do código-fonte seria uma idéia melhor.
fonte
Eu apenas tive esse problema (apesar de usar o debain 9).
Um pouco de escavação revelou que isso se devia ao fato de que a versão mais antiga do pacote debian não pôde ser removida pelo instalador (eu estava tentando atualizar do pacote não oficial do mongodb fornecido pelo Debian para os pacotes oficiais do mongodb-org).
A solução foi a seguinte:
Espero que isso economize tempo para alguém!
fonte
Criei um repositório do Github para facilitar a criação da versão mais recente do MongoDB. Ele criará tudo internamente, em vez de depender do apt, incluindo o serviço systemd.
fonte
A partir de agora, o pacote está disponível no Debian -
https://packages.debian.org/stretch/mongodb-server
Basta instalá-lo executando
# sudo apt install mongodb-server
fonte
Estou usando o Debian 9 Stretch
Eu baixei esta versão do MongoDB: Linux 64x legado 64x
Fiz o download para a minha pasta da área de trabalho e a renomeei para
mongodb
Depois disso, você "precisa" mover sua pasta renomeada recente para
/opt/
mv mongodb /opt/
Agora você pode acessar
/opt/mongodb/bin
e executar um comando como esse:./mongod --dbpath ./db/
Para tornar a coisa divertida, você pode criar um link simbólico, por exemplo,
mongod
para/usr/local/bin/
:ln -s /opt/mongodb/bin/mongod /usr/local/bin/mongod
Agora, no seu terminal, digite o comando, de qualquer lugar:
mongod --dbpath /homer/user/Desktop/db
Você precisa especificar o --dbpath para que o mongod funcione corretamente.
fonte