Saya tahu bahwa systemd menyediakan mekanisme yang sangat baik untuk mengganti file unit yang disediakan paket untuk mempengaruhi konfigurasi layanan / perilaku. Ini biasanya dilakukan dengan menggunakan perintah di bawah ini
sudo systemctl edit <unitfile>
untuk membuat file conf override di
/etc/systemd/system/<unitfile.d>/
Systemd juga menyediakan mekanisme terpisah untuk mendefinisikan file unit template, dan memerintahkannya untuk membuat unit spesifik instans saat runtime. Ini membutuhkan penamaan file templat sebagai
<servicename>@.service
dan kemudian instantiating sebagai
systemctl start <servicename>@<instancename>
Sekarang, saya memiliki situasi di mana saya ingin menjalankan layanan yang disediakan paket sebagai beberapa instance unit. Saya ingin menghindari membuat file unit template saya sendiri, jadi saya mencoba untuk melihat apakah file unit yang disediakan paket dapat diganti untuk membuat file unit template.
Karena, menurut pemahaman saya, file unit template memiliki konvensi penamaan yang berbeda dari file unit biasa, saya pikir saya tidak bisa menimpa file unit yang disediakan paket dengan file template dengan meletakkannya di / etc / systemd / system.
Apakah ada cara yang pasti untuk mencapai apa yang saya coba lakukan?
Skenario khusus: Paket grafana menginstal file unit grafana-server.service. Saya ingin menjalankan dua contoh grafana di komputer saya - masing-masing untuk DEV dan STG. Saya sudah bisa melakukan ini:
- ubah file grafana-server.service (menggunakan% I untuk mengatur lokasi folder & jalur file)
- ganti nama grafana-server.service yang dimodifikasi menjadi grafana-server @ .service
mulai contoh grafana dengan menggunakan:
sudo systemctl start grafana-server@dev
dan
sudo systemctl start grafana-server@stg
Namun, ini memutus tautan dari file unit layanan yang disediakan grafana, dan jika mereka meningkatkan file layanan ketika saya memutakhirkan, saya perlu mengulang kegiatan ini lagi. Tujuan saya adalah untuk menghindari ketergantungan langsung ini, dan alih-alih mengubahnya menjadi ketergantungan override.
Adakah pikiran?