وی پی اس پورت ۱۰ گیگ انگلیس ترافیک نامحدود مناسب تانل

ساختار systemd units و نوشتن unit سفارشی در لینوکس

 

images

مقدمه

systemd یک سیستم مدیریت سرویس و سیستم برای لینوکس است که به عنوان جایگزینی برای SysVinit و Upstart توسعه یافته است. systemd به مدیریت واحدهای مختلف مانند سرویس‌ها، سوکت‌ها و هدف‌ها می‌پردازد. این مقاله به بررسی ساختار systemd units و نحوه نوشتن یک unit سفارشی می‌پردازد. از آنجا که ساختار systemd پیچیده است، در این مقاله مراحل را به‌طور واضح و فنی تشریح می‌کنیم.

ساختار Systemd Units

یک unit در systemd مجموعه‌ای از پیکربندی‌ها است که نحوه مدیریت یک سرویس، سوکت، هدف یا هر عنصر دیگر سیستم را تعریف می‌کند. قالب یک فایل unit معمولاً در یکی از دایرکتوری‌های زیر قرار دارد:

  • /etc/systemd/system/ (واحدهای سفارشی)
  • /lib/systemd/system/ (واحدهای سیستمی)

فایل‌های unit معمولاً با پسوند .service، .socket، .target و غیره ذخیره می‌شوند. هر فایل شامل بخش‌های مختلفی از جمله [Unit]، [Service] و [Install] است.

ساختار یک Unit Simple

نمونه‌ای از ساختار یک فایل unit ساده به‌صورت زیر است:

[Unit]
Description=Sample Service

[Service]
ExecStart=/usr/bin/sample

[Install]
WantedBy=multi-user.target

مراحل نوشتن یک Unit سفارشی

مرحله ۱: ایجاد فایل Unit

برای نوشتن یک unit سفارشی، فایل جدیدی ایجاد کنید. به عنوان مثال، ما یک سرویس به نام sample.service ایجاد خواهیم کرد. برای این کار، ابتدا به دایرکتوری /etc/systemd/system/ می‌رویم و فایل را ایجاد می‌کنیم.

sudo nano /etc/systemd/system/sample.service

مرحله ۲: تنظیم بخش [Unit]

در این بخش توصیفاتی از unit خود را وارد کنید. به عنوان مثال:

[Unit]
Description=Sample Service
After=network.target

بخش After نشان‌دهنده این است که سرویس باید پس از فعال بودن سرویس شبکه راه‌اندازی شود.

مرحله ۳: تنظیم بخش [Service]

در این بخش، دستورات اجرایی سرویس را تعریف کنید. به عنوان مثال:

[Service]
ExecStart=/usr/bin/sample
Restart=on-failure
User=nobody
  • ExecStart مکان اجرای برنامه را مشخص می‌کند.
  • Restart سیاست‌های راه‌اندازی مجدد را تعریف می‌کند.
  • User کاربری را که سرویس تحت آن اجرا می‌شود مشخص می‌کند.

مرحله ۴: تنظیم بخش [Install]

این بخش تعیین می‌کند که چگونه unit باید نصب شود. برای مثال:

[Install]
WantedBy=multi-user.target

این تنظیمات مشخص می‌کند که سرویس در حالت چندکاربره فعال شود.

مرحله ۵: بارگذاری مجدد Systemd

پس از ایجاد و ویرایش فایل unit، برای بارگذاری مجدد systemd و شناسایی تغییرات، از دستور زیر استفاده کنید:

sudo systemctl daemon-reload

مرحله ۶: شروع و فعال‌سازی سرویس

برای شروع سرویس و فعال‌سازی آن در زمان راه‌اندازی سیستم، از دستورات زیر استفاده کنید:

sudo systemctl start sample.service
sudo systemctl enable sample.service

مرحله ۷: بررسی وضعیت سرویس

برای بررسی وضعیت سرویس، می‌توانیم از دستور زیر استفاده کنیم:

sudo systemctl status sample.service

این دستور وضعیت فعلی سرویس را به همراه لاگ‌ها نمایش می‌دهد.

نتیجه‌گیری

در این مقاله ساختار systemd units و مراحل نوشتن یک unit سفارشی به‌طور کامل توضیح داده شد. مراحل کلیدی شامل ایجاد فایل unit، تنظیم بخش‌های مختلف [Unit]، [Service] و [Install]، بارگذاری مجدد systemd، شروع و فعال‌سازی سرویس، و بررسی وضعیت آن بود. این مراحل به مدیران سرور لینوکس و توسعه‌دهندگان حرفه‌ای کمک می‌کند تا به‌طور موثری سرویس‌های خود را مدیریت کنند.