Vy se mi snad zdáte… Vždyť jste sám psal o tom „zástupu“ – proměnné
%i, tak jsem myslel, že víte, co to znamená. To by mne zajímalo, co jste si myslel o tom, jak to vlastně funguje. Nebo ne, radši to ani nechci vědět.
Když vytvoříte jednotku s názvem
unison@.service (důležitý je ten zavináč), znamená to, že jste vytvořil šablonu. Pak můžete spouštět libovolné množství služeb podle téhle šablony tak, že za zavináč přidáte jméno instance. Takže
unison@share.service je služba nazvaná
unison@share, která je nakonfigurovaná podle šablony
unison@.service. A právě to
share se doplní za parametr
%i v jednotkovém souboru.
Možnosti máte asi tři. Buď si pro každé unison sdílení vytvoříte samostatnou jednotku, kde si vše nakonfigurujete, a ty jednotky spolu nebudou mít nic společného. Nebo použijete ty šablony a parametr
%i, pak ale musíte mít jednotky pojmenované tak, abyste pomocí toho parametru
%i dokázal odkázat konkrétní soubor s konfigurací. Třetí možnost je použít také šablony, ale využít toho, že konfiguraci každé jednotky je možné přepsat, např. pro systémovou jednotku
unison@share.service to uděláte v souboru
/etc/systemd/system/unison@share.service.d/override.conf (pro vás bude lepší použít příkaz
systemctl edit unison@share.service). V tom konfiguračním souboru pak nakonfigurujete proměnnou prostředí, kterou pak použijete v tom souboru se šablonou. Pak můžete mít ty cesty ke konfiguračním souborů úplně rozdílné, prostě v konfiguraci každé instance uvedete celou cestu ke konfiguračnímu souboru.
Každopádně doporučuju přečíst si
manuálové stránky systemd, alespoň
systemd.service a
systemd.unit.