Vienam tuneliui pridėta perkrovimo politika pradeda galioti kiekvienam kompiuterio tuneliui. Tai ne systemd klaida; tai skirtumas tarp egzemplioriaus drop-in ir šablono drop-in. Kelias, po kuriuo rašote failą, nulemia, kiek paslaugų jį paveldės.

Pasirinkite apimtį prieš nustatymą. Abu katalogai atrodo beveik identiškai, ir tik vienas jų apsiriboja jūsų turimu egzemplioriumi.

Simptomas: vienas pakeitimas, visi tuneliai

Egzemplioriui būdingas drop-in yra kataloge, pavadintame viso egzemplioriaus vardu, pavyzdžiui [email protected]. Šablono drop-in yra [email protected] kataloge, su @ ženklu ir be egzemplioriaus vardo tarp jų. Pirmasis galioja tik office. Antrasis galioja kiekvienai paslaugai, sukurtai iš to šablono.

Šablono forma nepasiekia atskiro [email protected] šablono ir nepasiekia nesusijusių paslaugų, kurių pavadinime yra openvpn.

Pasirinkite katalogą, atitinkantį apimtį

Abu katalogai yra po /etc/systemd/system/. Jei praleisite paskutinį system komponentą, susidarys kelias, kurio systemd neskaito kaip sistemos perrašymo, ir tai tyli priemonė, leidžianti teisingai atrodančiam failui nieko nedaryti. Užrašykite visą kelią vieną kartą ir naudokite jį pakartotinai.

Drop-in taip pat reikia tinkamos skyriaus antraštės. Paslaugos nustatymai priklauso po [Service]. Failas su nustatymais, bet be skyriaus, ignoruojamas arba atmetamas, ir unit toliau elgiasi kaip anksčiau, kol failas guli ten ir atrodo autoritetingai.

Jei pridedate daugiau nei vieną drop-in, palikite tikslą failo pavadinime. Sujungimą lemia leksikografinė tvarka, o pavadinimas, sakantis, ką failas daro, padaro tą tvarką įskaitomą.

Perskaitykite sujungtą unit prieš rašydami

Perskaitykite sujungtą unit prieš ką nors rašydami. systemctl cat [email protected] išspausdina pagrindinį unit ir kiekvieną taikomą drop-in sujungimo tvarka. Lyginkite jį su antru egzemplioriumi, kai svarstote šablono pakeitimą. Tas palyginimas tiksliai parodo, kurios paslaugos paveldėtų pakeitimą.

Egzemplioriaus failas neištrina šablono nustatymų. Abu sujungiami, todėl pamiršta šablono reikšmė gali vis dar galioti.

Dalyvauja ir kiti pavadinti drop-in, vykdymo metu nustatymai bei paketų pateikiama konfigūracija. Negalvokite, kad failas, kurį redagavote paskutinį, yra visas unit. Sujungta išvestis yra unit.

Laikykite unit politiką už profilio ribų

Laikykite unit politiką ir VPN konfigūraciją atskirai. Profilio direktyva netampa galiojančia systemd sintakse vien todėl, kad yra po [Service]. Perkrovimo nustatymas taip pat nepriklauso .ovpn failui.

Šis atskyrimas taip pat yra priežastis, kodėl perkrovimo politika nėra tas pats, ką OpenVPN daro pats, atkurdamas partnerius. Nuspręskite, kokio elgesio norite, prieš rinkdamiesi apimtį.

Pritaikykite ir patikrinkite egzempliorių

Po pakeitimo iš naujo įkelkite valdytojo apibrėžimus su systemctl daemon-reload. Šis įkėlimas tunelio neperkrauna; jis tik dar kartą perskaito unit failus. Tada pritaikykite numatytą gyvavimo ciklo veiksmą tiksliai egzemplioriui.

Patikrinkite dar kartą perskaitydami įkeltą unit ir stebėdami pakeistą elgesį. Perkrovimas, nešantis aktyvų darbą, nusipelno suplanuotos pertraukos, o ne greito testo gamybiniame tunelyje. Užrašykite perrašymo paskirtį ir apimtį šalia diegimo, kad kitas žmogus žinotų, ar failas buvo skirtas bendrinti.

Jei politika tikrai bendra, sąmoningai perkelkite ją į šabloną ir patikrinkite antrą egzempliorių, prieš skelbdami baigta.systemd unitų žinynas dokumentuoja drop-in pirmumą ir sujungimo tvarką.

Susiję straipsniai