Gentoo

gentoo 在哪裡儲存 mongodb.conf?想要更改 dbpath 位置

  • June 18, 2018

這似乎是一個足夠無辜的問題,但我一生都無法弄清楚從 portage 安裝後 gentoo 將 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 參數,我真的很感激。

Gentoo 的 portage 下載原始碼,然後在本地編譯二進製文件,您可能想查看 portage 記憶體下載的位置,大概是/usr/portage/distfiles/mongodb*原始碼 tarball 中包含的任何文件。

看起來您應該更改配置文件,而不是更改初始化腳本。

您提到您有一個/etc/conf.d/mongodb文件 - 我可以從那裡看到正在設置一個名為MONGODB_DATA的變數- 如果您將該值設置為/data/db,那麼 init 腳本中的變數應該在啟動時正確填充。

作為參考,這一行:

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

意味著初始化腳本將嘗試將**–dbpath**命令行選項設置為任何內容MONGODB_DATA,如果沒有,使用指定的路徑,如所示。像這樣的東西:

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

請注意——這與 mongodb 無關,甚至與 gentoo 打包無關,而是 gentoo 初始化腳本和配置文件。

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

引用自:https://serverfault.com/questions/385511