Systemd یک سیستم جایگزین rc مدرن و SysV برای سیستم های لینوکس است که از بسیاری از ویژگی های مدرن هسته لینوکس استفاده می کند.
درباره n یک سیستم و مدیر خدمات را ارائه می دهد که به عنوان PID 1 عمل می کند و بقیه سیستم را شروع می کند.
Systemd مسئولیت کنترل نحوه شروع ، توقف ، راه اندازی مجدد و در غیر این صورت مدیریت در توزیع های مدرن لینوکس را کنترل می کند.
پرونده های استاندارد ماژول Systemd که با لینوکس همراه هستند یا توسط برنامه های شخص ثالث نصب می شوند ، معمولاً با راه اندازی. آنها به صورت root یا کاربر سیستم هستند.
این راهنما به شما نشان می دهد که چگونه می توانید سرویس Systemd را بدون ریشه از یک کاربر معمولی که وارد سیستم شده است ، شروع کنید.
سرویس Systemd را از یک کاربر عادی اجرا کنید
خدمات کاربری سیستم شده باید پوم باش اگر می خواهید تمام حقوق کاربر کامل باشد ، این پرونده باید در فهرست ~ / .config / systemd / user باشد.
در صورت وجود ، آن را ایجاد کنید.
mkdir -p ~ / .config / systemd / user / [19659014] ما یک سرویس آزمایشی ایجاد خواهیم کرد که برنامه Syncthing را راه اندازی کند.
curl -s https://api.github.com/repos/syncothing/syncothing/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"" -f 4 | wget -qi -
tar xvf syncothing-linux-amd64 * .tar.gz
sudo cp syncothing-linux-amd64 - * / syncothing / usr / local / bin /
اجازه دهید تأیید کنیم که باینری برنامه ما در دسترس است.
sync Something --version
syncothing v1.4.0 "Fermium Flea" (go1.13.8 linux-amd64) [email protected] 2020-03-06 19:52:22 UTC
یک فایل واحد سیستم را در دایرکتوری ایجاد کنید.
$ vim ~ /.config/systemd/user/syncothing.service
[Unit]
توضیحات = همگام سازی - همگام سازی پرونده مداوم با منبع باز
مستندات = man: syncothing (1)
[Service]
ExecStart = / usr / local / bin / syncothing -no-browser -no-restart -logflags = 0
راه اندازی مجدد = عدم موفقیت
SuccessExitStatus = 3 4
RestartForceExitStatus = 3 4
# سخت شدن
SystemCallArchitectures = بومی
MemoryDenyWriteExecute = true
NoNewPrivileges = درست است
[Install]
WantedBy = default.target
سیستم را مجدداً راه اندازی کنید.
$ systemctl --user daemon-reload
تأیید کنید که این سرویس در دسترس است.
$ systemctl - لیست کاربری لیست-واحد-فایل های syncothing.service
UNIT FILE STATE
syncothing.service غیرفعال شد
1 پرونده در لیست ذکر شده است.
شما می توانید خدمات را بلافاصله پس از ایجاد شروع کنید.
$ systemctl - فعال کننده فعال - همه sync tişt.service
ایجاد Symlink /home/vagrant/.config/systemd/user/default.target.wants/syncothing.service → /home/vagrant/.config/systemd/user/syncothing.service.ociation19659022† بگذارید وضعیت خدمات ما را بررسی کنید. [19659013] $ systemctl - وضعیت همگام سازی syncothing.service
nc syncothing.service - همگام سازی - همگام سازی پرونده مداوم با منبع باز
بارگذاری شده: بارگیری شده (/ خانه/vagrant/.config/systemd/user/syncothing.service ؛ فعال شده ، پیش فرض فروشنده: فعال شده)
فعال: فعال (در حال اجرا) از Fri 2020-04-03 17:18:54 UTC؛ 5s ago
اسناد: man: syncothing (1)
PID اصلی: 22628 (همگام سازی)
CGroup: /user.slice/user-1000.slice/[email protected]/syncothing.service
622628 / usr / local / bin / syncothing -no-browser -no-restart -logflags = 0
622632 / usr / local / bin / syncothing -no-browser -no-restart -logflags = 0
گزینه استفاده شده:
این همان روشی است که شما می توانید برای ایجاد هرگونه خدمات دیگر سیستماتیک مورد نظر خود استفاده کنید. بدون افزایش امتیازات و یا ایجاد کاربر دیگری برای شروع سرویس مدیریت کنید.