Onde o gentoo armazena o mongodb.conf? Deseja alterar a localização do dbpath

2

Isso pode parecer uma pergunta inocente o suficiente, mas eu não posso, para o resto da vida, descobrir onde o gentoo coloca o mongodb.conf após a instalação do portage. A documentação diz para olhar em / etc /, mas não está lá. Tudo que eu preciso fazer é modificar o parâmetro dbpath que ele armazena em / data / db, mas ele está atualmente usando / var / lib / mongodb (que é ímpar, já que deve ser padrão para / data / db)

A coisa mais próxima que vi foi o /etc/init.d/mongodb, que tem a seguinte configuração:

start-stop-daemon --background --start --make-pidfile \
            --pidfile ${MONGODB_RUN:-/var/run/mongodb}/${SVCNAME}.pid \
            ${USEROPT} ${MONGODB_USER:-mongodb} \
            --exec ${MONGODB_EXEC:-/usr/bin/mongod} \
            -- \
            --port ${MONGODB_PORT:-27017} \
            --dbpath ${MONGODB_DATA:-/data/db} \
             #--dbpath ${MONGODB_DATA:-/var/lib/mongodb} \
            --unixSocketPrefix ${MONGODB_RUN:-/var/run/mongodb} \
            --logappend --logpath /var/log/mongodb/${SVCNAME}.log \
            ${MONGODB_OPTIONS}
    eend $?
}

Como você pode ver, mudo para onde o dbpath deve apontar. No entanto, executando um ps aux | grep mongod resulta no seguinte:

mongodb  21044  0.2  2.1 189300 22032 ?        Ssl  May01   0:01 /usr/bin/mongod --port 27017 --dbpath /var/lib/mongodb --unixSocketPrefix /var/run/mongodb --logappend --logpath /var/log/mongodb/mongodb.log --bind_ip 127.0.0.1 --journal

O outro arquivo que eu tenho é o /etc/conf.d/mongodb, que contém o seguinte:

# Mongodb essentials
MONGODB_EXEC="/usr/bin/mongod"
MONGODB_RUN="/var/run/mongodb"
MONGODB_DATA="/var/lib/mongodb"
MONGODB_USER="mongodb"

# Listen to specified IP, comment this to listen to all
MONGODB_IP="127.0.0.1"

# Listen to specified port
MONGODB_PORT="27017"

# Set extra options here, such as disabling the admin web server
MONGODB_OPTIONS="--journal"

Alguém sabe onde definir corretamente o parâmetro dbpath, eu realmente aprecio isso.

    
por thomascirca 03.05.2012 / 03:14

2 respostas

1

O portage do Gentoo faz o download do código-fonte e compila os binários localmente, você pode querer ver onde o portage armazena os downloads, presumivelmente em /usr/portage/distfiles/mongodb* para quaisquer arquivos incluídos no tarball do código-fonte.

Parece que, em vez de alterar o script de inicialização, você deve fazer a alteração no arquivo de configuração.

Você mencionou que tem um arquivo /etc/conf.d/mongodb - e posso ver de lá que uma variável está sendo definida, denominada MONGODB_DATA - se você definir esse valor como /data/db , a variável no script de inicialização deve ser preenchido corretamente na inicialização.

Para referência, esta linha:

--dbpath ${MONGODB_DATA:-/data/db} \

significa que o script init tentará definir a opção de linha de comando - dbpath para qualquer conteúdo de MONGODB_DATA , e se não for nada, então use o caminho especificado, conforme indicado. Algo parecido com isto:

${A_CONFIG_FILE_OPTION:-/a/default/when/config/does/not/set/the/option}

Por favor, note - isto não é algo relacionado ao mongodb, ou mesmo ao pacote do gentoo, em vez do script de inicialização do gentoo e do arquivo de configuração.

Um guia mais completo sobre os arquivos de configuração do mongodb (não o arquivo de configuração do gentoo!) pode ser encontrado aqui: link

    
por 03.05.2012 / 07:51
0

Em geral, você pode encontrar arquivos instalados por um pacote do Gentoo como este:

equery files mongodb

Então, por exemplo, para encontrar arquivos de configuração:

equery files mongodb | grep conf

    
por 18.06.2018 / 06:16