İçeriğe atla
%100 yerel

systemd birim dosyası oluşturucu

Birkaç alandan geçerli bir systemd .service, .timer, .socket veya .mount dosyası oluşturun.

Çıkış

systemd birim dosyası oluşturucu

Yalnızca birkaç alanı doldurun ve bu araç tam bir systemd birim dosyası yazar ve onu doğrudan /etc/systemd/system/ dizinine yerleştirebilirsiniz. Sysadminlerin el ile en sık yazdığı dört birim türünü destekler: service, timer, socket ve mount ve [Unit], [Service] ve [Install] bölümlerini systemd tarafından beklenen sırayla üretir.

Bir service birimi için açıklamayı ve belgeleme URL'sini, ExecStart komutunu (isteğe bağlı ExecStartPre ve ExecStop kancaları ile), hizmet türünü (simple, exec, forking, oneshot veya notify), çalıştırılacak kullanıcı ve grubu, çalışma dizinini ve ortam değişkenlerini satır içinde veya EnvironmentFile aracılığıyla ayarlayın. Yeniden başlatma ilkesi ve RestartSec, süreç ölünce systemd'nin nasıl tepki vereceğini kontrol eder; After ve Requires bağımlılık sırasını belirler, WantedBy ise hangi hedefin birimi önyükleme sırasında çektiğini ayarlar. Hardening bloğu bir tıkla NoNewPrivileges, PrivateTmp, ProtectSystem ve ProtectHome'u ekler, bu da pek çok dağıtımın kendi hizmet dosyalarında kullandığı sandbox işlemlerinin çoğu ile eşleşir.

Bunun yerine timer, socket veya mount'u seçerseniz, paylaşılan [Unit] ve [Install] bölümleri doldurulur ancak türe özgü blok, doğrulayamayacağınız OnCalendar=, ListenStream= veya What=/Where= söz dizimi yerine bir yorum olarak kalır. Birim adı systemd tarafından izin verilen karakterlere göre temizlenir ve alan çok büyükse araç donmak yerine uyarır.

Her şey tarayıcınızda yerel olarak çalışır: girdiğiniz hiçbir şey (ana bilgisayar adları, yollar veya EnvironmentFile'daki kimlik bilgileri dahil) hiçbir yere gönderilmez. Sonucu kopyalayın, yeniden adlandırıp yüklemek için .txt dosyası olarak indirin veya düzenlemeyi devam ettirmek için başka bir araca gönderin.

FAQ

Oluşturulan dosyayı nereye koyabilirim?
/etc/systemd/system/<name>.service (veya .timer/.socket/.mount) olarak kaydedin, ardından systemctl daemon-reload komutunu ve ardından systemctl enable --now <name> komutunu çalıştırın.
"timer" veya "socket" seçimi dosyanın bir kısmını neden açıklama olarak bırakıyor?
Bu birim türleri, bu oluşturucunun fabrika olmadığı yönergeler kullanır — zamanlayıcı için OnCalendar=, soket için ListenStream=, bağlama için What=/Where=. Tahmin edilen söz dizimini kopyalamak yerine yorum gösterdiği yere ekleyin.
Hardening bloğu aslında ne yapıyor?
NoNewPrivileges ayrıcalık yükseltilmesini engeller, PrivateTmp hizmete kendi /tmp'sini verir ve ProtectSystem/ProtectHome dosya sisteminin çoğunu salt okunur veya erişilemez hale getirir. Birlikte, pek çok dağıtımın kendi hizmet dosyalarının zaten kullandığı sandbox işlemiyle eşleşirler.
Birden fazla ortam değişkeni için aynı anda bir birim oluşturabilir miyim?
Evet. Bunları ortam değişkenleri alanında virgülle veya satır ayrı ile ayrılmış KEY=VALUE çiftleri olarak listeleyin; her biri kendi Environment= satırına dönüşür ve hatalı biçimlendirilmiş girişler dosyayı koparmak yerine atlanır.
Girdiğim herhangi bir şey bir sunucuya gönderiliyor mu?
Hayır. Birim dosyası tamamen tarayıcınızda oluşturulur — girdiğiniz tüm yollar, ana bilgisayar adları ve ortam değerlerini de içerir — ve hiçbir şey yüklenmez.