gentoo 将 mongodb.conf 存储在哪里?想要更改 dbpath 位置

gentoo 将 mongodb.conf 存储在哪里?想要更改 dbpath 位置

这个问题看似无害,但我无论如何也想不出 gentoo 在从 portage 安装后将 mongodb.conf 放在哪里。文档说要查看 /etc/,但那里没有。我需要做的就是修改 dbpath 参数,将其存储在 /data/db 下,但它目前使用的是 /var/lib/mongodb(这很奇怪,因为它应该默认为 /data/db)

我见过的最接近的是 /etc/init.d/mongodb,它具有以下配置:

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 $?
}

如您所见,我更改了 dbpath 应指向的位置。但是,运行 ps aux | grep mongod 会导致以下结果:

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

我拥有的另一个文件是 /etc/conf.d/mongodb,其中包含以下内容:

# 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"

如果有人知道在哪里正确设置 dbpath 参数,我将不胜感激。

答案1

Gentoo 的 portage 下载源代码,然后在本地编译二进制文件,您可能需要查看 portage 缓存下载的位置,大概是/usr/portage/distfiles/mongodb*查找源代码 tarball 中包含的任何文件。

看起来您不应该更改初始化脚本,而应该更改配置文件。

您提到您有一个/etc/conf.d/mongodb文件 - 我可以从那里看到正在设置一个名为的变量MONGODB_数据- 如果将该值设置为/data/db,则初始化脚本中的变量应在启动时正确填充。

作为参考,这一行:

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

意味着 init 脚本将尝试设置--数据库路径命令行选项的内容为MONGODB_DATA,如果没有内容,然后使用指定的路径,如所示。像这样:

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

请注意 - 这不是与 mongodb 相关的东西,甚至不是 gentoo 打包,而是 gentoo init 脚本和配置文件。

关于 mongodb 配置文件(不是 gentoo 的配置文件!)的更全面的指南可以在这里找到:http://www.mongodb.org/display/DOCS/File+Based+Configuration

答案2

一般来说,你可以像这样找到由给定的 Gentoo 包安装的文件:

equery files mongodb

例如,要查找配置文件:

equery files mongodb | grep conf

相关内容