'\" t .TH "SYSTEMD\&.PATH" "5" "" "systemd 261.2" "systemd.path" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" systemd.path \- پیکربندی واحد مسیر (Path) .SH "خلاصه دستور (SYNOPSIS)" .PP \fIpath\fR\&.path .SH "توضیحات (DESCRIPTION)" .PP یک فایل پیکربندی واحد که نام آن به "\&.path" ختم می‌شود، اطلاعات مربوط به مسیری را که توسط systemd نظارت می‌شود، برای فعال‌سازی مبتنی بر مسیر کدگذاری می‌کند\&. .PP این صفحه راهنما گزینه‌های پیکربندی مخصوص این نوع واحد را فهرست می‌کند\&. برای گزینه‌های مشترک تمام فایل‌های پیکربندی واحد، \fBsystemd.unit\fR(5) را ببینید\&. موارد پیکربندی مشترک در بخش‌های عمومی [Unit] و [Install] پیکربندی می‌شوند\&. گزینه‌های پیکربندی مخصوص مسیر در بخش [Path] پیکربندی می‌شوند\&. .PP برای هر فایل مسیر، باید یک فایل واحد منطبق وجود داشته باشد که واحدی را که با تغییر مسیر باید فعال شود توصیف کند\&. به‌طور پیش‌فرض، سرویسی با همان نام مسیر (به جز پسوند) فعال می‌شود\&. برای مثال: یک فایل مسیر foo\&.path سرویس منطبق foo\&.service را فعال می‌کند\&. واحدی که باید فعال شود را می‌توان با \fIUnit=\fR (در زیر ببینید) کنترل کرد\&. .PP از نظر داخلی، واحدهای مسیر از رابط برنامه‌نویسی (API) \fBinotify\fR(7) برای نظارت بر سیستم‌های فایل استفاده می‌کنند\&. به همین دلیل، همان محدودیت‌های inotify را دارند و به عنوان مثال نمی‌توان از آن‌ها برای نظارت بر فایل‌ها یا دایرکتوری‌هایی استفاده کرد که توسط ماشین‌های دیگر روی سیستم‌های فایل NFS راه دور تغییر می‌یابند\&. .PP هنگامی که یک واحد سرویس فعال‌شده توسط یک واحد مسیر خاتمه می‌یابد (صرف‌نظر از اینکه با موفقیت خارج شده باشد یا با شکست مواجه شده باشد)، مسیرهای تحت نظارت بلافاصله دوباره بررسی می‌شوند و سرویس بر همین اساس فوراً راه‌اندازی مجدد می‌شود\&. به عنوان محافظت در برابر حلقه پرمشغله (busy looping) در این چرخه تحریک/راه‌اندازی، یک محدودیت نرخ شروع (start rate limit) روی واحد سرویس اعمال می‌شود؛ \fIStartLimitIntervalSec=\fR و \fIStartLimitBurst=\fR را در \fBsystemd.unit\fR(5) ببینید\&. برخلاف سایر خطاهای سرویس، وضعیت خطای ناشی از رسیدن به محدودیت نرخ شروع، از واحد سرویس به واحد مسیر منتقل می‌شود و باعث شکست واحد مسیر نیز می‌گردد و بدین ترتیب به حلقه پایان می‌دهد\&. .SH "وابستگی‌های خودکار (AUTOMATIC DEPENDENCIES)" .SS "وابستگی‌های ضمنی (Implicit Dependencies)" .PP وابستگی‌های زیر به‌طور ضمنی اضافه می‌شوند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر یک واحد مسیر در سلسله‌مراتب سیستم فایل زیر یک واحد سوار کردن (mount) دیگر قرار داشته باشد، هم وابستگی نیازمندی و هم وابستگی ترتیبی بین هر دو واحد به‌طور خودکار ایجاد می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} یک وابستگی ضمنی \fIBefore=\fR بین یک واحد مسیر و واحدی که قرار است فعال کند اضافه می‌شود\&. .RE .SS "وابستگی‌های پیش‌فرض (Default Dependencies)" .PP وابستگی‌های زیر اضافه می‌شوند مگر اینکه \fIDefaultDependencies=no\fR تنظیم شده باشد: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} واحدهای مسیر به‌طور خودکار وابستگی‌هایی از نوع \fIBefore=\fR به paths\&.target، وابستگی‌هایی از نوع \fIAfter=\fR و \fIRequires=\fR به sysinit\&.target، و وابستگی‌هایی از نوع \fIConflicts=\fR و \fIBefore=\fR به shutdown\&.target خواهند داشت\&. این موارد تضمین می‌کنند که واحدهای مسیر پیش از خاموش شدن سیستم به‌طور تمیز متوقف شوند\&. تنها واحدهای مسیری که در مراحل اولیه بوت یا مراحل پایانی خاموش شدن سیستم دخیل هستند باید گزینه \fIDefaultDependencies=\fR را غیرفعال کنند\&. .RE .PP .SH "گزینه‌ها (OPTIONS)" .PP فایل‌های واحد مسیر ممکن است شامل بخش‌های [Unit] و [Install] باشند که در \fBsystemd.unit\fR(5) شرح داده شده‌اند\&. .PP فایل‌های واحد مسیر باید شامل یک بخش [Path] باشند که اطلاعات مربوط به مسیر یا مسیرهای تحت نظارت را در بر دارد\&. گزینه‌های مخصوص بخش [Path] در واحدهای مسیر به شرح زیر است: .PP \fIPathExists=\fR, \fIPathExistsGlob=\fR, \fIPathChanged=\fR, \fIPathModified=\fR, \fIDirectoryNotEmpty=\fR .RS 4 مسیرهایی را برای نظارت بر تغییرات مشخص تعریف می‌کند: \fIPathExists=\fR می‌تواند برای نظارت بر صرف وجود یک فایل یا دایرکتوری استفاده شود\&. اگر فایل مشخص‌شده وجود داشته باشد، واحد پیکربندی‌شده فعال می‌شود\&. \fIPathExistsGlob=\fR مشابه عمل می‌کند، اما وجود حداقل یک فایل منطبق با الگوی تطبیق (globbing pattern) مشخص‌شده را بررسی می‌کند\&. \fIPathChanged=\fR می‌تواند برای نظارت بر یک فایل یا دایرکتوری و فعال‌سازی واحد پیکربندی‌شده در زمان تغییر آن استفاده شود\&. این گزینه با هر بار نوشتن در فایل تحت نظارت فعال نمی‌شود، بلکه در صورتی فعال می‌شود که فایلی که برای نوشتن باز شده بود بسته شود\&. \fIPathModified=\fR مشابه است، اما علاوه بر آن، با نوشتن‌های ساده در فایل تحت نظارت نیز فعال می‌شود\&. \fIDirectoryNotEmpty=\fR می‌تواند برای نظارت بر یک دایرکتوری و فعال‌سازی واحد پیکربندی‌شده در صورتی که حداقل یک فایل درون آن باشد استفاده شود\&. .sp آرگومان‌های این دستورالعمل‌ها باید مسیرهای مطلق سیستم فایل باشند\&. .sp می‌توان چندین دستورالعمل از انواع یکسان یا متفاوت را برای نظارت بر چندین مسیر با یکدیگر ترکیب کرد\&. اگر یک رشته خالی به هر یک از این گزینه‌ها اختصاص داده شود، فهرست مسیرهای تحت نظارت بازنشانی می‌شود و هر مقداردهی قبلی به این گزینه‌ها بی‌اثر خواهد شد\&. .sp اگر در زمان فعال‌سازی واحد مسیر، مسیری از قبل وجود داشته باشد (در مورد \fIPathExists=\fR و \fIPathExistsGlob=\fR) یا یک دایرکتوری از قبل خالی نباشد (در مورد \fIDirectoryNotEmpty=\fR)، آنگاه واحد پیکربندی‌شده نیز بلافاصله فعال می‌شود\&. مورد مشابهی برای \fIPathChanged=\fR و \fIPathModified=\fR صدق نمی‌کند\&. .sp اگر خود مسیر یا هر یک از دایرکتوری‌های حاوی آن غیرقابل دسترس باشند، \fBsystemd\fR برای تغییرات مجوزها نظارت خواهد کرد و زمانی که مجوزها اجازه دهند، متوجه برآورده شدن شرایط خواهد شد\&. .sp توجه داشته باشید فایل‌هایی که نام آن‌ها با یک نقطه شروع می‌شود (یعنی فایل‌های پنهان) هنگام نظارت بر این مسیرها معمولاً نادیده گرفته می‌شوند\&. .RE .PP \fIUnit=\fR .RS 4 واحدی که باید با تغییر هر یک از مسیرهای پیکربندی‌شده فعال شود\&. آرگومان یک نام واحد است که پسوند آن "\&.path" نیست\&. در صورت مشخص نشدن، این مقدار به‌طور پیش‌فرض به سرویسی با همان نام واحد مسیر (به جز پسوند) اختصاص می‌یابد (به بالا مراجعه کنید)\&. توصیه می‌شود که نام واحد فعال‌شده و نام واحد مسیر به جز در پسوند، یکسان باشند\&. .RE .PP \fIMakeDirectory=\fR .RS 4 یک آرگومان بولی دریافت می‌کند\&. اگر درست (true) باشد، دایرکتوری‌های تحت نظارت پیش از شروع نظارت ایجاد می‌شوند\&. این گزینه برای تنظیمات \fIPathExists=\fR نادیده گرفته می‌شود\&. پیش‌فرض \fBfalse\fR است\&. .RE .PP \fIDirectoryMode=\fR .RS 4 اگر \fIMakeDirectory=\fR فعال باشد، از حالت دسترسی مشخص‌شده در اینجا برای ایجاد دایرکتوری‌های مورد نظر استفاده می‌کند\&. یک حالت دسترسی در مبنای هشت (octal) دریافت می‌کند\&. پیش‌فرض \fB0755\fR است\&. .RE .PP \fITriggerLimitIntervalSec=\fR, \fITriggerLimitBurst=\fR .RS 4 محدودیتی را برای تعداد دفعات مجاز فعال‌سازی این واحد مسیر در یک بازه زمانی مشخص پیکربندی می‌کند\&. گزینه \fITriggerLimitIntervalSec=\fR می‌تواند برای پیکربندی طول بازه زمانی با واحدهای زمانی رایج "us", "ms", "s", "min", "h", \&... استفاده شود و پیش‌فرض آن 2s است\&. برای جزئیات مربوط به انواع واحدهای زمانی قابل درک، \fBsystemd.time\fR(7) را ببینید\&. تنظیم \fITriggerLimitBurst=\fR یک مقدار عدد صحیح مثبت دریافت می‌کند و تعداد فعال‌سازی‌های مجاز در هر بازه زمانی را مشخص می‌سازد و پیش‌فرض آن 200 است\&. برای غیرفعال کردن هرگونه محدودیت نرخ تحریک، هر یک از آن‌ها را روی 0 تنظیم کنید\&. اگر محدودیت حاصل شود، واحد در وضعیت شکست (failure mode) قرار می‌گیرد و تا زمان راه‌اندازی مجدد، دیگر بر مسیرها نظارت نخواهد کرد\&. توجه داشته باشید که این محدودیت پیش از قرار گرفتن فعال‌سازی سرویس در صف اعمال می‌شود\&. .sp در نسخه 250 اضافه شد\&. .RE .PP برای تنظیمات بیشتر، \fBsystemd.unit\fR(5)، \fBsystemd.exec\fR(5)، و \fBsystemd.kill\fR(5) را بررسی کنید\&. .SH "همچنین ببینید (SEE ALSO)" .PP متغیرهای محیطی حاوی جزئیات مربوط به عامل تحریک برای واحدهای تحریک‌شده تنظیم خواهند شد\&. برای جزئیات بیشتر، بخش "Environment Variables Set or Propagated by the Service Manager" در \fBsystemd.exec\fR(5) را ببینید\&. .PP \fBsystemd\fR(1), \fBsystemctl\fR(1), \fBsystemd.unit\fR(5), \fBsystemd.service\fR(5), \fBinotify\fR(7), \fBsystemd.directives\fR(7)