这个问题看似无害,但我无论如何也想不出 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