Linux dünyasında tamamen yeniyim, söyleyebileceğim yanlış bir şey için çok üzgünüm.
Debian 8.5 makinede bir Mongo DB çalıştırmaya çalışıyorum. Paketi yüklediğimde (önceden percona.com'dan oluşturuldu), aşağıdaki dosyaları fark ettim:
/etc/init.d/mongod (1)
/lib/systemd/system/mongod.service (2)
/Etc/init.d/mongod hakkında
Bunun update-rc.d
önyüklemede / diğer belirli sistem durumlarında ( üzerinden kaydedildiği sürece) çağrıldığını anlıyorum (bu konuda teknik bilgi almak istemiyorum, çok fazla bilgi alıyorum ve bu daha az önemli görünüyor).
Bu benim için gayet iyi. Senaryo çok sayıda başlatma yapar ve son olarak mongo daemonunu başlatır. Başlatma, durdurma, yeniden başlatma vb. İçin “tetikleyiciler” var ve anladığım kadarıyla bunları tetikleyebileceğim gibi sudo service mongod <action>
.
/Lib/systemd/system/mongod.service hakkında
Bu dosya aynı şeyi yapıyor gibi görünüyor (yani mongo çalıştırmak), ancak daha az yapılandırma ile ExecStart parametresinde sadece bir satır:
[Unit]
Description=MongoDB (High-performance, schema-free document-oriented database)
After=time-sync.target network.target
[Service]
Type=forking
User=mongod
Group=mongod
PermissionsStartOnly=true
EnvironmentFile=/etc/default/mongod
ExecStart=/usr/bin/env bash -c "/usr/bin/mongod $OPTIONS > ${STDOUT} 2> ${STDERR}"
PIDFile=/var/run/mongod.pid
[Install]
WantedBy=multi-user.target
Anladığım kadarıyla bu tetiklenebilir sudo systemctl start mongod
.
Bunun önyüklemede çağrılıp çağrılmadığını anlamıyorum.
Neden bu 'hizmet' dosyalarından ikisine ihtiyaç olduğunu ve bir tanesinden nasıl kurtulabileceğimi anlamıyorum (muhtemelen / lib / systemd dosyasındaki dosya çok daha basittir).
İkisi arasında herhangi bir ilişki olup olmadığını anlamıyorum.
Komut dosyalarında da
systemctl
çalışan okuduminit.d
ve bu durumda iki dosyadan hangisinin tetikleneceğini anlamıyorumsystemctl mongod start
.
Ben düşünüyorum bazı fazlalık var ve ben sadece iki yoldan birini seçmek gerekir. Ve emin olmak istiyorum
- açılışta aradı
- komutla çağrılabilir (
service
veya gibisystemctl
).
Aklımı temizlememe yardım eder misin? Bazı yorumların yardımıyla muhtemelen odaklanıp soruyu daraltabilirim.
systemctl disable mongod
:; daha sonra mongod.service adını mongod-backup.service olarak yeniden adlandırdı; sonrasystemctl daemon-reload
. Bunun doğru olduğunu düşünüyor musun? / Lib / systemd / system / içindeki dosyaları değiştirmemelisiniz, ancak yeniden adlandırmadan, sistemctl init.d betiğini görmezden gelmeye devam etti.