apk-protected_paths(5) File Formats Manual apk-protected_paths(5)

apk-protected_paths - مسیرهای دارای رفتار ویژه توسط apk

فایل‌های موجود در /etc/apk/protected_paths.d/*.list فایل‌هایی را مشخص می‌کنند که محافظت‌شده هستند و توسط apk(8) رونویسی نمی‌شوند. معمولاً این پرونده‌ها، فایل‌های پیکربندی هستند که انتظار می‌رود توسط مدیر سیستم تغییر داده شوند. این فایل‌ها همچنین از سوی apk-audit(8) رفتار ویژه‌ای دریافت می‌کنند.

اگر apk(8) بخواهد فایلی را در یک مسیر محافظت‌شده که تغییر یافته است نصب کند، در عوض فایل را درون پرونده‌ای با پسوند .apk-new می‌نویسد.

به عنوان مثال، هنگامی که فایل /etc/passwd توسط مدیر محلی سیستم تغییر داده شود، apk(8) نباید هنگام ارتقا یا تعمیر بسته‌ها آن را رونویسی کند. به همین ترتیب، فایل‌های محافظت‌شده‌ای که توسط هرگونه خودکارسازی (از جمله اسکریپت‌های post-install) تغییر یافته‌اند نیز رونویسی نمی‌شوند.

دستور apk-audit(8) به‌طور پیش‌فرض مسیرهای محافظت‌شده را گزارش می‌دهد. هنگام استفاده از apk audit --system یا apk audit --full، فایل‌های محافظت‌شده از خروجی حذف می‌شوند. هنگام استفاده از apk audit --backup، فایل‌های منطبق همیشه گزارش می‌شوند. این مورد به نوبه خود توسط lbu commit استفاده می‌شود.

هر خط یک قاعده منفرد متشکل از یک نماد و به دنبال آن یک عبارت الگو (glob) است، که نسبت به دایرکتوری ریشه ارزیابی می‌شود.

نماد اولیه باید یکی از موارد زیر باشد:

+

محافظت از مسیرهای منطبق، تنها در صورتی که چکسام (checksum) فایل با چکسام موجود در پایگاه داده apk مطابقت نداشته باشد.

-

عدم محافظت از مسیرهای منطبق، حتی اگر با یک قاعده قبلی مطابقت داشته باشد.

@

محافظت از مسیرهای منطبق، تنها در صورتی که پیوندهای نمادین (symlinks) تغییریافته باشند.

!

محافظت بدون قید و شرط از مسیر منطبق.

خطوطی که با # آغاز می‌شوند و خطوط خالی نادیده گرفته می‌شوند.

حتی اگر /etc/apk/protected_paths.d/*.list خالی باشد، موارد زیر به‌طور پیش‌فرض استفاده می‌شوند:

+etc/
@etc/init.d
!etc/apk

محتویات /etc/apk/protected_paths.d/*.list پس از پیش‌فرض‌های بالا اعمال می‌شوند. هنگامی که یک گزینه دایرکتوری protected_paths.d را بازنویسی (override) کند، این پیش‌فرض‌ها را نیز بازنویسی می‌کند.

# This line is ignored; it is a comment.
-etc/ssl/certs/ca-cert-*.pem

اگر فایلی تغییر داده شود و محتوای آن در نهایت با آنچه در ابتدا توسط apk نصب شده بود یکسان گردد، آن فایل دست‌نخورده در نظر گرفته می‌شود.

الگوهای عمومی (wildcard) هنگام ایجاد فایل‌های .apk-new به جای رونویسی فایل‌ها، توسط apk(8) در نظر گرفته نمی‌شوند.

apk(8), apk-audit(8)

2026-08-31