apk-add(8) System Manager's Manual apk-add(8)

apk-add - افزودن یا به‌روزرسانی محدودیت‌ها در world و اعمال تغییرات

apk add [<گزینه‌ها>...] [محدودیت‌ها|فایل]...

دستور apk add محدودیت‌های داده‌شده را به world می‌افزاید یا به‌روزرسانی می‌کند (نگاه کنید به apk-world(5)) و تغییرات را روی دیسک اعمال می‌نماید. این کار معمولاً شامل نصب بسته‌های جدید است، اما ممکن است باعث ایجاد تغییرات دیگری نیز در بسته‌های نصب‌شده شود.

برای ارتقای بسته‌های تکی بدون تغییر دادن world از apk-fix(8) استفاده کنید.

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

اگر یک فایل اضافه شود، محدودیتی بر اساس هش هویت بسته اضافه خواهد شد. این محدودیت تضمین می‌کند که دقیقاً همان فایل نصب و نگهداری شود. برای ارتقا یا تنزل نسخه بعدی به نسخه موجود در مخزن، از apk upgrade --available استفاده کنید.

دستور apk add از گزینه‌های commit توضیح داده‌شده در apk(8) و همچنین گزینه‌های زیر پشتیبانی می‌کند:

--initdb

راه‌اندازی اولیه یک پایگاه‌داده جدید بسته.

--latest, -l

همیشه جدیدترین بسته بر اساس نسخه انتخاب شود. با این حال، نسخه‌های مد نظر بر اساس پین‌کردن بسته (package pinning) هستند. این گزینه در درجه اول روش اکتشافی (heuristic) پیش‌فرض را لغو می‌کند و در صورتی که همه وابستگی‌ها برآورده نشوند، باعث نمایش خطا خواهد شد.

--no-chown

نام مستعار منسوخ‌شده برای --usermode.

--upgrade, -u

ارتقای بسته‌ها و وابستگی‌های آن‌ها. به‌طور معمول apk add از تغییر بسته‌های نصب‌شده خودداری می‌کند، مگر آنکه توسط بسته‌های جدید اضافه‌شده یا وابستگی‌های آن‌ها نیاز باشد. این گزینه اولویت پیش‌فرض را به ارتقای بسته به جدیدترین نسخه قابل نصب تغییر می‌دهد.

--usermode

ایجاد پایگاه‌داده حالت کاربری با --initdb. در حالت کاربری، apk به شکلی عمل می‌کند که نیازی به دسترسی ریشه (root) نباشد. در حال حاضر این حالت شامل موارد زیر است:
  • بررسی اجرای دستور به عنوان کاربر غیرریشه
  • تغییر ندادن مالک یا گروه فایل
  • تنظیم نکردن ویژگی‌های توسعه‌یافته سیستمی (xattrs)

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

--virtual, -t NAME

ایجاد بسته مجازی NAME با وابستگی‌های داده‌شده. این بسته جدید به جای world، بسته‌ها را به عنوان وابستگی دریافت خواهد کرد. در نهایت NAME به world افزوده می‌شود. یک مشخص‌کننده نسخه اختیاری برای بسته مجازی را می‌توان از طریق ساختار NAME=VERSION تعیین کرد. مقدار پیش‌فرض نسخه، یک نسخه ترکیبی بر مبنای زمان است.

می‌توان از این گزینه استفاده کرد تا اطمینان حاصل شود مجموعه‌ای از بسته‌ها نصب می‌شوند، و سپس بعداً این تغییر موقت با apk-del(8) NAME بدون حذف بسته‌هایی که پیش‌تر نصب شده بودند، لغو گردد.

2026-08-31