خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه نصب و استفاده از systemd برای مدیریت خدمات در WSL

WSL به طور پیش فرض از سیستم System V init استفاده می کند. در اینجا نحوه جایگزینی آن با systemd برای مدیریت خدمات در WSL مانند یک حرفه ای آورده شده است.

Windows Subsystem for Linux یا WSL یک راه عالی برای توسعه دهندگانی است که نیاز به اجرای لینوکس و ویندوز دارند تا این کار را بدون نیاز به راه اندازی ماشین مجازی یا بوت دوگانه انجام دهند.

یکی از ویژگی های مهم جدید، توانایی اجرای systemd در WSL است که برای توسعه دهندگان وب که محیط های آزمایشی را به صورت محلی تنظیم می کنند مفید است. در اینجا نحوه فعال کردن و استفاده از آن آورده شده است.

چرا systemd را روی WSL نصب کنیم؟

سرویس‌های WSL به‌طور پیش‌فرض سرویس قدیمی‌تر System V init را اجرا می‌کنند و سرویس‌ها با دستور سرویس شروع می‌شوند. در سپتامبر 2022، مایکروسافت گزینه استفاده از systemd را برای مدیریت خدمات اضافه کرد. اکثر توزیع های اصلی لینوکس قبلاً به systemd تغییر کرده اند.

علیرغم اختلاف نظرها، در استفاده واقعی، شروع و توقف خدمات با systemd بسیار ساده تر است. همچنین دنبال کردن سایر آموزش‌های لینوکس آسان‌تر است، زیرا نیازی به تغییر دستورات ندارید.

یک محیط تست LAMP محلی به سرور استاندارد لینوکس نزدیک‌تر خواهد بود، بنابراین اشکال‌زدایی برنامه شما آسان‌تر خواهد بود.

نحوه فعال کردن systemd در WSL

برای فعال کردن systemd، باید نسخه مناسب WSL را اجرا کنید. systemd به WSL نسخه 0.67.6 یا بالاتر نیاز دارد. با باز کردن PowerShell و تایپ کردن، می توانید شماره نسخه را بررسی کنید:

wsl --version

اگر نسخه قدیمی‌تری نصب کرده‌اید و می‌خواهید از systemd استفاده کنید، می‌توانید WSL را با استفاده از:

wsl --update

اکنون باید systemd را در هر توزیعی که با WSL نصب کرده اید راه اندازی کنید. این فرآیند در هر توزیع WSL یکسان است، خواه اوبونتو، دبیان، فدورا یا چیز دیگری باشد.

مطلب مرتبط:   نحوه فعال کردن زیرسیستم ویندوز برای لینوکس

به سادگی فایل /etc/wsl.conf را در سیستم خود به عنوان root ویرایش کنید و این خطوط را اضافه کنید:

[boot]
systemd=true

اگر فایل wsl.conf وجود ندارد، نگران نباشید و خودتان آن را ایجاد کنید. این خطوط بدون در نظر گرفتن کار خواهند کرد.

فایل را ذخیره کنید و اکنون باید هر توزیع WSL در حال اجرا را مجددا راه اندازی کنید. برای انجام این کار، یک پنجره PowerShell باز کنید و این دستور را تایپ کنید:

wsl --shutdown

ترمینال دیگری را باز کنید و می‌توانید خدمات را با systemd در WSL مدیریت کنید.

شروع و توقف خدمات WSL با systemd

اکنون می توانید از systemctl برای شروع و توقف خدمات در WSL استفاده کنید.

فرض کنید از آپاچی برای اجرای یک وب سرور محلی برای آزمایش یک برنامه وب که در حال توسعه بودید استفاده می‌کردید.

شما آپاچی را به این صورت شروع می کنید:

sudo systemctl start apache2.service

اگر می خواهید به طور خودکار شروع شود، می توانید آن را با استفاده از:

sudo systemctl apache2.service را فعال می کند

و غیر فعالش کنید با:

sudo systemctl stop apache2.service

اکنون می توانید systemd را روی WSL اجرا کنید

با آخرین به‌روزرسانی‌های WSL، اکنون می‌توانید systemd را فعال کنید و خدمات را در صورت نیاز شروع و متوقف کنید. این امر WSL را به محیط خوبی برای توسعه برنامه های کاربردی وب تبدیل می کند، زیرا می توانید آنها را به گونه ای آزمایش کنید که گویی از هر دستگاه لینوکس استاندارد دیگری استفاده می کنید.

مطلب مرتبط:   6 نکته برای بهبود تجربه WSL 2 Docker در ویندوز

همچنین نصب سرور LAMP (Linux، Apache، MySQL، PHP) در زیر سیستم ویندوز برای لینوکس بسیار آسان است.