SYSTEMD-SYSCTL.SERVICE(8) systemd-sysctl.service SYSTEMD-SYSCTL.SERVICE(8)

systemd-sysctl.service - پیکربندی پارامترهای هسته لینوکس در زمان بوت مطابق فایل‌های sysctl.d

/usr/lib/systemd/systemd-sysctl [OPTIONS...] [CONFIGFILE...]

systemd-sysctl.service

systemd-sysctl.service یک سرویس در مراحل اولیه بوت (early boot) است که پارامترهای هسته sysctl(8) را با فراخوانی /usr/lib/systemd/systemd-sysctl پیکربندی می‌کند.

هنگامی که بدون آرگومان فراخوانی شود، /usr/lib/systemd/systemd-sysctl تمام دستورالعمل‌های موجود در فایل‌های پیکربندی فهرست‌شده در sysctl.d(5) را اعمال می‌کند. زمانی که با آرگومان‌های موضعی (positional) فراخوانی شود، پیکربندی مشخص‌شده توسط آرگومان‌های خط فرمان اجرا می‌شود. اگر به جای نام فایل رشته‌ی "-" مشخص شود، پیکربندی از ورودی استاندارد خوانده می‌شود. اگر آرگومان نام یک فایل باشد (بدون هیچ اسلشی)، تمام دایرکتوری‌های پیکربندی برای یافتن فایل مطابق جستجو می‌شوند و فایلی که بالاترین اولویت را دارد اجرا می‌شود. اگر آرگومان یک مسیر (path) باشد، آن فایل به طور مستقیم و بدون جستجوی دایرکتوری‌های پیکربندی برای فایل‌های مطابقت‌دار دیگر استفاده می‌شود.

علاوه بر این، گزینه --prefix= می‌تواند برای محدود کردن تنظیمات sysctl اعمال‌شده استفاده شود.

برای اطلاعات بیشتر درباره پیکربندی تنظیمات sysctl به sysctl.d(5) مراجعه کنید. پس از اینکه پیکربندی sysctl روی دیسک تغییر یافت، باید قبل از اعمال در فایل‌های موجود در /proc/sys/ نوشته شود. به‌روزرسانی تنظیمات خاص، یا بارگذاری مجدد تمام پیکربندی‌ها امکان‌پذیر است، بخش مثال‌ها در زیر را ببینید.

--prefix=

فقط قوانینی با پیشوند مشخص‌شده را اعمال می‌کند.

اضافه‌شده در نسخه ۲۳۰.

--strict=

در صورت بروز خطا (از جمله نام نامعتبر متغیر sysctl و مجوزهای ناکافی)، همیشه یک کد خروج غیر صفر برمی‌گرداند، مگر اینکه نام متغیر sysctl با نویسه «-» پیشوندگذاری شده باشد.

اضافه‌شده در نسخه ۲۵۲.

--inline

با هر آرگومان موضعی به عنوان یک خط پیکربندی جداگانه به جای نام فایل رفتار می‌کند.

اضافه‌شده در نسخه ۲۵۹.

--cat-config

محتویات فایل‌های پیکربندی را در خروجی استاندارد کپی می‌کند. قبل از هر فایل، نام فایل به صورت یک کامنت چاپ می‌شود.

--tldr

محتویات فایل‌های پیکربندی را در خروجی استاندارد کپی می‌کند. فقط بخش‌های «مهم» فایل‌های پیکربندی چاپ می‌شوند و کامنت‌ها و خطوط خالی نادیده گرفته می‌شوند. قبل از هر فایل، نام فایل به صورت یک کامنت چاپ می‌شود.

--no-pager

خروجی را به یک صفحه‌بند (pager) هدایت نمی‌کند.

-h, --help

یک متن راهنمای کوتاه چاپ کرده و خارج می‌شود.

--version

یک رشته نسخه کوتاه چاپ کرده و خارج می‌شود.

systemd-sysctl از منطق اعتبارنامه‌های سرویس همان‌طور که توسط ImportCredential=/LoadCredential=/SetCredential= پیاده‌سازی شده است پشتیبانی می‌کند (برای جزئیات به systemd.exec(5) مراجعه کنید). در صورت ارسال، اعتبارنامه‌های زیر استفاده می‌شوند:

sysctl.extra

محتوای این اعتبارنامه می‌تواند شامل خطوط اضافی برای پردازش باشد. محتوای اعتبارنامه باید از همان قالبی پیروی کند که هر فایل پیکربندی drop-in دیگری در sysctl.d/ استفاده می‌کند. اگر این اعتبارنامه ارسال شود، پس از خوانده شدن تمام فایل‌های drop-in از فایل‌سیستم پردازش می‌شود. بنابراین تنظیمات پیکربندی‌شده در این اعتبارنامه بر تنظیمات موجود در فایل‌سیستم اولویت دارند.

اضافه‌شده در نسخه ۲۵۲.

توجه داشته باشید که به صورت پیش‌فرض فایل واحد systemd-sysctl.service به گونه‌ای تنظیم شده است که اعتبارنامه "sysctl.extra" را از مدیر سرویس به ارث ببرد.

مثال ۱. بازنشانی تمام تنظیمات sysctl

systemctl restart systemd-sysctl

مثال ۲. مشاهده پیکربندی گرداننده coredump

# sysctl kernel.core_pattern
kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t %P %I

مثال ۳. به‌روزرسانی پیکربندی گرداننده coredump

# /usr/lib/systemd/systemd-sysctl --prefix kernel.core_pattern

این دستور تمام دایرکتوری‌های فهرست‌شده در sysctl.d(5) را برای یافتن فایل‌های پیکربندی جستجو کرده و در /proc/sys/kernel/core_pattern می‌نویسد.

مثال ۴. به‌روزرسانی پیکربندی گرداننده coredump بر اساس یک فایل خاص

# /usr/lib/systemd/systemd-sysctl 50-coredump.conf

این دستور تمام تنظیمات موجود در 50-coredump.conf را اعمال می‌کند. به ترتیب اولویت، یکی از فایل‌های /etc/sysctl.d/50-coredump.conf، یا /run/sysctl.d/50-coredump.conf، یا /usr/lib/sysctl.d/50-coredump.conf استفاده خواهد شد.

برای روش‌های گوناگون اعمال مستقیم تنظیمات sysctl به sysctl(8) مراجعه کنید.

systemd(1), sysctl.d(5), sysctl(8)

systemd 261.2