ZYPPER(8) ZYPPER ZYPPER(8)

zypper - رابط خط فرمان برای کتابخانه مدیریت سیستم ZYpp (libzypp)

zypper [--global-opts] command [--command-opts] [command-arguments]

zypper subcommand [--command-opts] [command-arguments]

zypper help command

دستور zypper یک رابط خط فرمان برای کتابخانه مدیریت سیستم ZYpp (libzypp) است. از آن می‌توان برای نصب، به‌روزرسانی، حذف نرم‌افزار، مدیریت مخازن، انجام پرس‌وجوهای گوناگون و موارد دیگر استفاده کرد.

در یک سیستم تراکنشی که فایل‌سیستم ریشه به صورت فقط‌خواندنی سوار (mount) شده است، دستورات zypper که سیستم را تغییر می‌دهند نمی‌توانند مستقیماً اجرا شوند.

اگر سیستم ابزار کمکی transactional-wrapper را ارائه دهد، zypper به طور خودکار تلاش می‌کند آن را فراخوانی کند. این لفاف (wrapper) دستور zypper را به صورت شفاف درون یک اسنپ‌شات جدید و با قابلیت نوشتن اجرا می‌کند و چرخه حیات آن اسنپ‌شات را بر اساس وضعیت خروج دستور مدیریت می‌نماید.

در سیستم‌های تراکنشی فاقد transactional-wrapper، کاربران باید ابزارهای تخصصی - مانند transactional-update - را به صورت دستی فراخوانی کنند تا نرم‌افزار را نصب، به‌روزرسانی یا حذف نمایند.

بیشتر مفاهیم زیر برای تمامی برنامه‌های مبتنی بر کتابخانه مدیریت بسته libzypp مشترک هستند، اما برخی ویژگی‌های مختص zypper نیز وجود دارند.

مجموعه بسته‌های نصب‌شده روی یک سیستم گاهی به عنوان مخزن @System یا System Packages شناخته می‌شود. بر خلاف مخازن موجود که بسته‌های قابل نصب را ارائه می‌دهند، @System بسته‌هایی را ارائه می‌دهد که فقط می‌توانند حذف شوند. بسته‌های نصب‌شده‌ای که توسط حداقل یکی از مخازن موجود ارائه نمی‌شوند (نه در نسخه‌ای متفاوت و نه به عنوان بسته‌ای تغییرنام‌یافته) اغلب به عنوان بسته‌های ناخواسته (unwanted)، یتیم (orphaned) یا رهاشده (dropped) در نظر گرفته می‌شوند.

نکته: اگر بسته‌هایی را نصب می‌کنید که درون یک مخزن عرضه نمی‌شوند - مانند بسته‌هایی که دستی ساخته یا دانلود شده‌اند -، آن‌ها را درون یک دایرکتوری محلی جمع‌آوری کرده و این دایرکتوری را به عنوان یک مخزن plaindir به سیستم خود اضافه کنید. به این ترتیب بسته‌ها به عنوان یتیم تلقی نخواهند شد و در طول یک dist-upgrade محافظت می‌شوند.

ایجاد چنین مخزن plaindir بسیار ساده است:
$ mkdir /LocalRepo
$ zypper addrepo --refresh /LocalRepo LocalRepo

اگر نیاز دارید اطمینان حاصل کنید که بسته مورد نظر برای نصب از LocalRepo برداشته می‌شود، کافی است از یک آرگومان به سبک REPO:PACKAGE استفاده کنید:
$ cp example.rpm /LocalRepo
$ zypper install LocalRepo:example

بسته به نوع بسته‌هایی که در مخزن محلی نگه می‌دارید، ممکن است بخواهید شیوه انجام بررسی‌های امضای GPG را تنظیم کنید. برای جزئیات به بخش بررسی‌های GPG مراجعه کنید.

کتابخانه Libzypp با فراداده‌های مخزن کار می‌کند؛ این اطلاعات درباره بسته‌ها و روابط بین آن‌ها است که از بسته‌های RPM و داده‌های دیگر مانند اطلاعات وصله (patch)، تعاریف الگو (pattern) و غیره استخراج می‌شود. این داده‌ها همراه با فایل‌های RPM در پوشه‌هایی به نام مخازن (repositories) ذخیره می‌شوند. مخازن را می‌توان روی رسانه‌های مختلفی مانند سرور HTTP یا FTP، دیسک DVD، یا پوشه‌ای روی دیسک محلی قرار داد.

مجموعه خاصی از دستورات در zypper برای دستکاری مخازن در نظر گرفته شده است. همچنین بسیاری از دستورات و گزینه‌ها یک مخزن را به عنوان آرگومان می‌پذیرند. برای جزئیات بیشتر به بخش دستورات (COMMANDS)، زیربخش مدیریت مخازن (Repository Management) مراجعه کنید.

غیرفعال کردن بررسی‌های GPG توصیه نمی‌شود. امضا کردن داده‌ها به گیرنده امکان می‌دهد تا تأیید کند پس از امضا شدن داده‌ها هیچ تغییری رخ نداده است. پذیرش داده‌های بدون امضا، دارای امضای نادرست یا ناشناخته می‌تواند منجر به خراب شدن سیستم و در موارد حاد حتی به خطر افتادن امنیت سیستم شود.

کتابخانه ZYpp اصالت فراداده‌های مخزن را با بررسی امضای GPG آن‌ها تأیید می‌کند. اگر فراداده‌های مخزن با یک کلید معتمد امضا شده باشند و با موفقیت تأیید شوند، بسته‌های این مخزن در صورتی که با چک‌سام ارائه شده در فراداده همخوانی داشته باشند، برای نصب پذیرفته می‌شوند. استفاده از مخازن بدون امضا نیازمند تأیید است.

اگر فراداده‌های مخزن امضا نشده باشند، امضای GPG هر بسته rpm دانلود شده پیش از پذیرش آن برای نصب بررسی می‌شود. بسته‌های حاصل از مخازن بدون امضا نیازمند یک امضای معتبر GPG هستند. استفاده از بسته‌های بدون امضا نیازمند تأیید است.

موارد فوق رفتار پیش‌فرضی است که توسط تنظیمات موجود در /etc/zypp/zypp.conf تعیین می‌شود.

دستورات addrepo و modifyrepo گزینه‌های بیشتری را برای تنظیم این رفتار به ازای هر مخزن فراهم می‌کنند. به عنوان مثال، می‌توان الزام تأیید نصب بسته‌های بدون امضا را برای یک مخزن خاص غیرفعال کرد. اما اگر چنین کنید، باید کاملاً مطمئن باشید که یک نفوذگر به سختی بتواند داده‌های بسته را درون مخزن یا در مسیر انتقال به دستگاه شما تغییر دهد. برای جزئیات گزینه‌های دستور به بخش دستورات (COMMANDS) مراجعه کنید.

برای تعیین مکان مخازن یا سایر منابع (فایل‌های RPM، فایل‌های repo.) می‌توانید از هر نوع URI پشتیبانی‌شده توسط libzypp استفاده کنید. علاوه بر این، Zypper یک URI ویژه را برای شناسایی مخازن سرویس ساخت openSUSE (OBS) در دستور addrepo می‌پذیرد. این URIها به شکل obs://project/[platform] هستند.

برای مشاهده فهرست کامل و مثال‌هایی از قالب‌های URI پشتیبانی‌شده، به بخش دستورات (COMMANDS)، زیربخش مدیریت مخازن (Repository Management) مراجعه کنید.

تازه‌سازی یک مخزن به معنای دانلود فراداده‌های بسته‌ها از رسانه (در صورت نیاز)، ذخیره آن در کَش محلی (معمولاً در دایرکتوری /var/cache/zypp/raw/alias) و پیش‌تجزیه فراداده‌ها به فایل‌های .solv (ساخت کَش solv)، معمولاً در /var/cache/zypp/solv/alias است.

فراداده‌ها یا به صورت خودکار یا به درخواست کاربر تازه‌سازی می‌شوند. یک تازه‌سازی خودکار دقیقاً پیش از خواندن فراداده از پایگاه‌داده صورت می‌گیرد، در صورتی که auto-refresh برای مخزن فعال باشد و فراداده به عنوان منسوخ گزارش شده باشد. اگر auto-refresh غیرفعال باشد، مخزن تنها با درخواست کاربر تازه‌سازی خواهد شد. شما می‌توانید با فراخوانی zypper refresh درخواست تازه‌سازی دهید (برای جزئیات به مستندات دستور refresh مراجعه کنید).

فراداده‌های مخزن پیش از انجام واقعی تازه‌سازی، از نظر وجود تغییرات بررسی می‌شوند. تغییر با دانلود یک یا دو فایل نمایه فراداده (فایل‌های کوچک) و مقایسه چک‌سام‌های فایل‌های کَش‌شده با فایل‌های راه دور شناسایی می‌شود. اگر فایل‌ها متفاوت باشند، مخزن منسوخ شده و تازه‌سازی خواهد شد.

برای به تعویق انداختن بررسی به‌روز بودن (و در نتیجه تازه‌سازی خودکار) به مدت چند دقیقه مشخص، مقدار مشخصه repo.refresh.delay را در فایل پیکربندی ZYpp (/etc/zypp/zypp.conf) ویرایش کنید. این بدان معناست که zypper حتی تلاشی برای دانلود و بررسی فایل‌های نمایه نخواهد کرد، و شما قادر خواهید بود بدون دسترسی به اینترنت یا دسترسی‌های ریشه، از zypper برای عملیاتی مانند جستجو یا دریافت اطلاعات استفاده کنید.

نکته: دستور zypper -vv ref سرورهای آینه‌ای مورد استفاده برای دانلود فراداده را نمایش می‌دهد.

سرویس‌ها یک سطح بالاتر از مخازن قرار دارند و برای مدیریت مخازن یا انجام کارهای ویژه به کار می‌روند. Libzypp در حال حاضر از Repository Index Service (RIS) و Plugin Service پشتیبانی می‌کند.

سرویس نمایه مخزن (RIS) نوع خاصی از مخزن است که شامل فهرستی از مخازن دیگر است. این فهرست می‌تواند به صورت پویا توسط سرور بر اساس برخی پارامترهای URI یا نام کاربر ایجاد شود، یا می‌تواند ایستا باشد. هنگامی که چنین سرویسی به سیستم شما افزوده شد، zypper وظیفه افزودن، اصلاح، یا حذف این مخازن را در سیستم شما برای بازتاب فهرست فعلی به عهده می‌گیرد. برای جزئیات بیشتر به بخش مدیریت سرویس‌ها (Service Management) و https://en.opensuse.org/openSUSE:Standards_Repository_Index_Service مراجعه کنید.

ابزار Zypper با چندین نوع شیء منبع به نام قابل‌حل‌ها (resolvables) کار می‌کند. یک قابل‌حل می‌تواند یک package (بسته)، patch (وصله)، pattern (الگو)، یا product (محصول) باشد؛ اساساً هر نوع شیء با وابستگی به اشیاء دیگر.

package

یک بسته معمولی RPM.

patch

یک وصله منتشرشده با نسخه‌های آسیب‌دیده/آسیب‌پذیر مجموعه‌ای از بسته‌ها تعارض دارد. تا زمانی که هر یک از این نسخه‌های آسیب‌دیده/آسیب‌پذیر نصب باشند، تعارض فعال می‌شود و وصله به عنوان needed (مورد نیاز)، یا در صورتی که قفل شده باشد به عنوان unwanted (ناخواسته) دسته‌بندی می‌گردد.

با انتخاب وصله، تعارض از طریق به‌روزرسانی تمام بسته‌های نصب‌شده و آسیب‌دیده/آسیب‌پذیر به نسخه‌ای که حاوی اصلاحیه است برطرف می‌شود. هنگام به‌روزرسانی بسته‌ها، zypper همیشه جدیدترین نسخه موجود را هدف قرار می‌دهد. وصله‌های حل‌شده بسته به اینکه آیا به بسته‌های واقعاً نصب‌شده اشاره دارند یا خیر، به صورت applied (اعمال‌شده) یا not needed (غیرضروری) دسته‌بندی می‌شوند.

بنابراین نصب، به‌روزرسانی یا حذف بسته‌ها ممکن است دسته‌بندی وصله‌های مربوط به این بسته‌ها را تغییر دهد. از نسخه libzypp-17.23.0 به بعد، فایل /var/log/zypp/history به خاطر می‌سپارد که آیا یک تراکنش نهایی‌شده دسته‌بندی وصله‌ای را تغییر داده است یا خیر. اگر داده‌های تاریخچه در دسترس باشند، جدول‌های وصله ستونی را نشان می‌دهند که بیانگر زمانی است که وصله در وضعیت فعلی خود قرار گرفته است (since).

بسته به نوع نقص، وصله‌ها بر اساس دسته‌بندی (category) و شدت (severity) طبقه‌بندی می‌شوند. مقادیر رایج برای category عبارتند از security (امنیتی)، (recommended (توصیه‌شده)، bugfix (رفع اشکال))، (optional (اختیاری)، feature (قابلیت)، enhancement (بهبود))، document (مستندات) یا yast. مقادیر رایج برای severity عبارتند از critical (بحرانی)، important (مهم)، moderate (متوسط)، low (کم) یا unspecified (نامشخص). نام‌های داخل پرانتز به صورت مترادف استفاده می‌شوند.

توجه داشته باشید که دستور patch به صورت پیش‌فرض وصله‌های اختیاری را اعمال نمی‌کند (دسته‌بندی optional یا feature). اگر واقعاً می‌خواهید تمام وصله‌های اختیاری به عنوان مورد نیاز در نظر گرفته شوند، دستور patch --with-optional را اجرا کنید. وصله‌های خاص را می‌توان با استفاده از دستور install اعمال کرد (به عنوان مثال zypper install patch:openSUSE-2014-7).

اگر صادرکننده تصمیم به پس گرفتن یک وصله منتشرشده بگیرد، وضعیت وصله به صورت retracted (پس‌گرفته‌شده) نشان داده خواهد شد. بسته‌های ارائه‌شده توسط وصله پس‌گرفته‌شده هنوز قابل مشاهده هستند اما دارای برچسب پس‌گرفته‌شده (R) خواهند بود. حل‌کننده وابستگی از انتخاب خودکار بسته‌های پس‌گرفته‌شده خودداری می‌کند. اگر مطمئن هستید که یک بسته پس‌گرفته‌شده باید روی سیستم شما نصب شود، باید آن را به صراحت انتخاب کنید.

pattern

گروهی از بسته‌ها که برای نصب یک قابلیت، مورد نیاز یا توصیه‌شده هستند.

product

گروهی از بسته‌ها که برای نصب یک محصول ضروری هستند.

srcpackage

بسته کد منبع (.src.rpm). این نوع در دستورات search و install کار می‌کند.

application

منسوخ: از نسخه libzypp-17.7.0 این نوع دیگر در دسترس نیست.

در سرتاسر این راهنما ما اغلب از resolvables به سادگی با عنوان بسته‌ها (packages) و از انواع resolvable با عنوان نوع بسته یا گونه (kind) یاد خواهیم کرد. این نام‌های نوع را می‌توان به عنوان آرگومان‌های گزینه --type در چندین دستور مانند install، info یا search به کار برد. دستورات همچنین باید اجازه دهند که اشیاء resolvable را به صورت KIND:NAME تعیین کنید (مانند patch:openSUSE-2014-7).

بسته‌های نرم‌افزاری به روش‌های مختلفی به یکدیگر وابسته هستند. بسته‌ها معمولاً به بسته‌های دیگر نیاز دارند (require) یا آن‌ها را توصیه می‌کنند (recommend)، اما می‌توانند با آن‌ها تعارض (conflict) نیز داشته باشند. بسته‌ها ممکن است از سخت‌افزار یا تنظیمات زبانی خاصی پشتیبانی کنند. ابزار Zypper از یک حل‌کننده وابستگی (dependency solver) برای تشخیص اینکه چه بسته‌هایی باید برای برآورده کردن درخواست کاربر نصب شوند استفاده می‌کند.

اگر نسخه خاصی از یک بسته را درخواست نکنید، حل‌کننده یک نسخه مناسب را برمی‌گزیند. رویکرد کلی حل‌کننده هنگام پردازش یک وظیفه، تمرکز بر نصب بهترین نسخه از بسته درخواستی و افزودن یا به‌روزرسانی وابستگی‌ها بر اساس نیاز است. به غیر از این حالت Focus on Job (تمرکز بر وظیفه) که حالت پیش‌فرض است، دو حالت تمرکز دیگر نیز در دسترس هستند:

در حالت Focus on Installed (تمرکز بر موارد نصب‌شده)، حل‌کننده بر اعمال کمترین تغییرات ممکن روی بسته‌های نصب‌شده تمرکز می‌کند. انتخاب نسخه‌ای قدیمی‌تر از یک بسته درخواستی در صورتی که وابستگی‌های آن به تغییرات کمتری در سیستم نیاز داشته باشند معتبر است. حل‌کننده تلاش خواهد کرد تا از به‌روزرسانی بسته‌های از قبل نصب‌شده اجتناب کند.

در حالت Focus on Update (تمرکز بر به‌روزرسانی)، حل‌کننده بر به‌روزرسانی بسته درخواستی و تمام وابستگی‌های آن تا حد ممکن تمرکز می‌کند. توجه داشته باشید که نصب یک تک‌بسته در این حالت به راحتی می‌تواند منجر به یک به‌روزرسانی سراسری کوچک در سیستم شود.

برای یک دستور واحد، حالت تمرکز را می‌توان با استفاده از سوییچ --solver-focus MODE تنظیم کرد. حالت‌های معتبر عبارتند از Job، Installed یا Update. اگر می‌خواهید حالت پیش‌فرض را برای سیستم خود تغییر دهید، مقدار [/etc/zypp/zypp.conf:solver.focus] را روی مقدار مورد نظر تنظیم کنید.

بسته‌هایی که توسط حل‌کننده وابستگی به منظور رفع درخواست کاربر اضافه می‌شوند، به عنوان بسته‌های به‌طور خودکار نصب‌شده به خاطر سپرده می‌شوند. این بسته‌ها ممکن است بعداً در صورتی که هیچ بسته نصب‌شده توسط کاربر به آن‌ها وابسته نباشد، حذف شوند (مثلاً با دستور zypper remove --clean-deps).

در ستون Status، دستور search بین بسته‌های نصب‌شده توسط کاربر (i+) و بسته‌های به‌طور خودکار نصب‌شده (i) تمایز قائل می‌شود.

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

از آنجا که بررسی تعارض فایل نیازمند دسترسی به فهرست کامل فایل‌های هر بسته در حال نصب است، zypper تنها در صورتی قادر به بررسی تعارض فایل خواهد بود که همه بسته‌ها از قبل دانلود شده باشند (به --download-in-advance مراجعه کنید). اگر از --dry-run استفاده می‌کنید، هیچ بسته‌ای دانلود نمی‌شود، بنابراین بررسی تعارض فایل از بسته‌هایی که در کَش بسته‌ها موجود نیستند صرف‌نظر خواهد کرد. برای انجام یک بررسی معنادار تعارض فایل، از --dry-run به همراه --download-only استفاده کنید.

از آنجا که علت تعارض فایل معمولاً طراحی ضعیف بسته یا عدم هماهنگی بین سازندگان بسته‌ها است، حل آن‌ها ساده نیست. با استفاده از گزینه --replacefiles می‌توانید zypper را وادار به جایگزینی فایل‌های دارای تعارض کنید. با این وجود، این کار ممکن است به بسته‌ای که فایل آن جایگزین می‌شود آسیب برساند.

ابزار zypper مجموعه‌ای از دستورات را فراهم می‌کند. هر دستور گزینه‌های فهرست‌شده در بخش گزینه‌های سراسری (GLOBAL OPTIONS) را می‌پذیرد. این گزینه‌ها باید پیش از نام دستور مشخص شوند. علاوه بر این، بسیاری از دستورات دارای گزینه‌های ویژه‌ای هستند که در این بخش فهرست شده‌اند. این گزینه‌های مختص دستور باید پس از نام دستور و پیش از هر یک از آرگومان‌های دستور مشخص شوند.

ابزار Zypper همچنین پشتیبانی محدودی از نوشتن افزونه‌ها/زیردستورها به هر زبانی ارائه می‌دهد. برای جزئیات به بخش زیردستورها (SUBCOMMANDS) مراجعه کنید.

help [command]

متن‌های راهنما را نمایش می‌دهد. اگر بدون هیچ آرگومانی اجرا شود (فقط zypper یا zypper help)، zypper متن راهنمای سراسری را نمایش می‌دهد که تمام گزینه‌های سراسری و دستورات موجود را فهرست می‌کند.

اگر با یک آرگومان نام command اجرا شود، در صورتی که چنین دستوری وجود داشته باشد، zypper راهنمای دستور مشخص‌شده را نمایش می‌دهد. هر دو نگارش بلند و کوتاه نام‌های دستورات قابل استفاده هستند.

برای راحتی شما، zypper help را می‌توان به هر یک از روش‌های زیر نیز فراخوانی کرد:

$ zypper -h|--help [command]
$ zypper [command] -h|--help

shell (sh)

یک پوسته برای وارد کردن چندین دستور در یک نشست باز می‌کند. خروج از پوسته با استفاده از exit، quit یا Ctrl-D انجام می‌شود.

پشتیبانی از پوسته کامل نیست، بنابراین انتظار وجود اشکالاتی در آن داشته باشید. با این حال، به لطف سریع شدن چشمگیر libzypp با حل‌کننده SAT و ابزارهای آن (openSUSE 11.0)، نیاز مبرمی به استفاده از پوسته وجود ندارد، اما با این حال می‌توانید با آن آزمایش کنید.

info (if) [options] name[-version[-release]]...

اطلاعات دقیق بسته‌های مشخص‌شده را نشان می‌دهد. به صورت پیش‌فرض، فقط بسته‌هایی نمایش داده می‌شوند که دقیقاً با نام‌های ارائه‌شده مطابقت داشته باشند. برای در نظر گرفتن بسته‌هایی که مطابقت جزئی دارند، از گزینه --match-substrings یا کاراکترهای عام (* یا ?) درون نام استفاده کنید.

اگر هیچ قید نسخه‌ای مشخص نشده باشد، اطلاعات مربوط به بهترین بسته موجود نمایش داده می‌شود. توجه داشته باشید که هر دو شماره نسخه و انتشار باید همیشه دقیقاً مطابقت داشته باشند.

اگر یک پرس‌وجو هیچ نتیجه‌ای در بر نداشته باشد، zypper مقدار ZYPPER_EXIT_INF_CAP_NOT_FOUND را بازمی‌گرداند مگر اینکه گزینه سراسری --ignore-unknown تنظیم شده باشد.

-s, --match-substrings

شامل کردن بسته‌هایی که مطابقت جزئی با نام‌های ارائه‌شده دارند.

-r, --repo alias|name|#|URI

تنها کار کردن با مخزن مشخص‌شده توسط نام مستعار، نام، شماره یا URI. این گزینه می‌تواند چندین بار استفاده شود.

-t, --type type

نوع بسته (پیش‌فرض: package). برای فهرست انواع بسته‌های موجود به بخش انواع بسته‌ها (Package Types) مراجعه کنید.

--provides

نمادهایی را که بسته ارائه می‌دهد نمایش می‌دهد.

--requires

نمادهایی را که بسته به آن‌ها نیاز دارد نمایش می‌دهد.

--conflicts

نمادهایی را که بسته با آن‌ها تعارض دارد نمایش می‌دهد.

--obsoletes

نمادهایی را که بسته منسوخ می‌کند نمایش می‌دهد.

--recommends

نمادهایی را که بسته توصیه می‌کند نمایش می‌دهد.

--suggests

نمادهایی را که بسته پیشنهاد می‌کند نمایش می‌دهد.

--supplements

نمادهایی را که بسته تکمیل می‌کند نمایش می‌دهد.

--enhances

نمادهایی را که بسته بهبود می‌بخشد نمایش می‌دهد.

مثال‌ها:

$ zypper info workrave

نمایش اطلاعات درباره بسته workrave

$ zypper info -t patch libzypp

نمایش اطلاعات درباره وصله libzypp

$ zypper info -t pattern lamp_server

نمایش اطلاعات درباره الگوی lamp_server

install (in) [options] name|capability|rpm_file_uri...

نصب یا به‌روزرسانی بسته‌ها.

بسته‌ها را می‌توان بر اساس name (نام) آن‌ها یا بر اساس یک capability (قابلیت) که ارائه می‌دهند انتخاب کرد.

یک قابلیت به صورت "NAME[.ARCH][ OP EDITION]" تشکیل می‌شود، که در آن ARCH کد معماری است، OP یکی از <، <=، =، >= یا > است و EDITION به صورت "VERSION[-RELEASE]" می‌باشد. برای مثال: zypper=0.8.8-2.

جزء NAME در یک قابلیت نه تنها نام یک بسته، بلکه هر نماد ارائه‌شده توسط بسته‌ها است: /bin/vi، libcurl.so.3، perl(Time::ParseDate). فقط به یاد داشته باشید که برای محافظت از نویسه‌های خاص در برابر پوسته از نقل‌قول استفاده کنید، برای مثال: zypper\>0.8.10 یا 'zypper>0.8.10'.

اگر EDITION مشخص نشده باشد، جدیدترین نسخه قابل نصب، نصب خواهد شد. این بدان معناست که اگر بسته از قبل نصب شده باشد و نسخه‌های جدیدتری در دسترس باشند، به جدیدترین نسخه قابل نصب ارتقا می‌یابد.

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

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

ابزار Zypper همچنین قادر به نصب فایل‌های ساده RPM است در حالی که تلاش می‌کند وابستگی‌های آن‌ها را با استفاده از بسته‌های مخازن تعریف‌شده برطرف کند. می‌توانید یک فایل ساده RPM را با مشخص کردن مکان آن در آرگومان‌های دستور install به صورت یک مسیر محلی یا یک URI نصب کنید. به عنوان مثال:

$ zypper install ~/rpms/foo.rpm http://some.site/bar.rpm

ابزار Zypper بسته‌هایی را که نتواند پیدا کند گزارش خواهد داد. علاوه بر این، در حالت تعاملی، zypper به نصب بقیه بسته‌های درخواستی ادامه می‌دهد، و در حالت غیرتعاملی فوراً متوقف می‌شود. در هر دو حالت، zypper پس از اتمام عملیات مقدار ZYPPER_EXIT_INF_CAP_NOT_FOUND را بازمی‌گرداند.

ابزار Zypper فایل‌ها را در یک مخزن موقت plaindir جمع‌آوری کرده و بسته‌های مربوطه را برای نصب علامت‌گذاری می‌کند. اگر از --download-only استفاده شود، بسته‌های دانلودشده تا زمانی که واقعاً آن‌ها را نصب کنید یا دستور zypper clean را برای پاکسازی کَش‌های بسته اجرا نمایید، در /var/cache/zypper/RPMS در دسترس خواهند بود. آن‌ها بخشی از کَش سراسری بسته در /var/cache/zypp/packages نخواهند شد (همچنین به گزینه سراسری --pkg-cache-dir مراجعه کنید).

در دستور install، می‌توانید بسته‌هایی را که می‌خواهید حذف شوند نیز با افزودن نویسه - یا ! به ابتدای نام آن‌ها مشخص کنید. برای مثال:

$ zypper install \!Firefox 

بر خلاف zypper remove Firefox که فایرفاکس و بسته‌های وابسته به آن را حذف می‌کند، دستور install تلاش می‌کند با جستجوی جایگزین‌های فایرفاکس، بسته‌های وابسته را نصب‌شده نگه دارد.

توجه داشته باشید که اگر تصمیم گرفتید از - با اولین بسته‌ای که مشخص می‌کنید استفاده کنید، باید -- را قبل از آن بنویسید تا از تفسیر آن به عنوان یک گزینه دستور جلوگیری شود:

$ zypper install --  -boring-game great-game great-game-manual 

-r, --repo alias|name|#|URI

تنها کار کردن با مخزن مشخص‌شده توسط نام مستعار، نام، شماره یا URI. این گزینه می‌تواند چندین بار استفاده شود.

استفاده از --repo توصیه نمی‌شود زیرا در حال حاضر مخازن ذکرنشده را از حل‌کننده پنهان می‌کند و منجر به تصمیم‌گیری‌های غیربهینه می‌شود. در آینده --repo به یک نام مستعار برای --from تبدیل خواهد شد.

اگر می‌خواهید بسته‌ای را از یک مخزن خاص نصب کنید، از REPOSITORY:PACKAGENAME به عنوان آرگومان استفاده کنید.

-t, --type type

نوع بسته برای نصب (پیش‌فرض: package). برای فهرست انواع بسته‌های موجود به بخش انواع بسته‌ها (Package Types) مراجعه کنید. از zypper se -t type [name] برای جستجوی موارد موجود از این نوع و از zypper info -t type name برای نمایش اطلاعات دقیق‌تر درباره مورد استفاده کنید.

اگر patch مشخص شود، zypper بسته‌ها را برای برآورده کردن وصله مشخص‌شده نصب و/یا حذف خواهد کرد. این روشی برای اطمینان از نصب یک رفع اشکال خاص است. برای یافتن وصله‌های قابل اعمال از zypper list-patches استفاده کنید.

اگر product یا pattern مشخص شود، zypper اطمینان حاصل می‌کند که تمام بسته‌های مورد نیاز (و در صورت تمایل توصیه‌شده) نصب شوند.

-n, --name

انتخاب بسته‌ها بر اساس نام آن‌ها؛ تلاشی برای انتخاب بر اساس قابلیت‌ها صورت نمی‌گیرد.

-f, --force

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

--oldpackage

اجازه می‌دهد یک مورد جدیدتر با یک مورد قدیمی‌تر جایگزین شود. هنگام بازگردانی سیستم (rollback) کاربردی است. بر خلاف --force، اگر مورد قبلاً با همان نسخه درخواستی نصب شده باشد، نصب مجدد را تحمیل نمی‌کند.

--from alias|name|#|URI

انتخاب بسته‌ها از مخزن مشخص‌شده. اگر رشته‌های مشخص‌شده به عنوان آرگومان‌های دستور install با بسته‌های موجود در مخازن تعیین‌شده در این گزینه مطابقت داشته باشند، برای نصب علامت‌گذاری می‌شوند. این گزینه در حال حاضر شامل --name می‌شود، اما امکان استفاده از کاراکترهای عام (wildcards) را برای تعیین بسته‌ها فراهم می‌کند.

-C, --capability

انتخاب بسته‌ها بر اساس قابلیت‌ها.

-l, --auto-agree-with-licenses

پاسخ مثبت (yes) خودکار به اعلان تأیید مجوز نرم‌افزارهای شخص ثالث. با استفاده از این گزینه، موافقت خود را با مجوزهای تمام نرم‌افزارهای شخص ثالثی که این دستور نصب خواهد کرد اعلام می‌کنید. این گزینه به ویژه برای مدیرانی مفید است که مجموعه یکسانی از بسته‌ها را روی چندین دستگاه (از طریق یک فرآیند خودکار) نصب می‌کنند و مجوزها را از قبل تأیید کرده‌اند.

--auto-agree-with-product-licenses

پذیرش خودکار فقط برای مجوزهای محصول. این گزینه توسط ابزارهایی مانند SUSEconnect استفاده می‌شود که پیش از ثبت محصول درخواست تأیید می‌کنند؛ بنابراین نیازی به تأیید مجدد مجوز محصول در هنگام نصب نیست.

--replacefiles

نصب بسته‌ها حتی در صورتی که فایل‌هایی از سایر بسته‌های از قبل نصب‌شده را جایگزین کنند. رفتار پیش‌فرض این است که تعارض فایل به عنوان یک خطا در نظر گرفته شود. گزینه --download-as-needed بررسی تعارض فایل را غیرفعال می‌کند زیرا برای انجام بررسی، دسترسی پیشاپیش به فهرست فایل‌های تمام بسته‌ها مورد نیاز است.

-D, --dry-run

آزمایش نصب بدون نصب واقعی هیچ بسته‌ای. اگر همراه با --download-only استفاده شود، می‌توان بررسی معناداری از تعارض‌های فایل انجام داد (به بخش تعارض‌های فایل بسته (Package File Conflicts) مراجعه کنید).

--details

نمایش خلاصه دقیق نصب.

-y, --no-confirm

عدم نیاز به تعامل با کاربر. توصیه می‌شود به جای آن از گزینه سراسری --non-interactive استفاده کنید. گزینه‌های سراسری پیش از دستور وارد می‌شوند (zypper --non-interactive COMMAND ...). بر خلاف گزینه دستور no-confirm، گزینه سراسری را می‌توان همراه با هر دستور zypper استفاده کرد.

--allow-unsigned-rpm

نصب بی سر و صدای بسته‌های rpm. بدون امضا که به عنوان پارامترهای خط فرمان داده شده‌اند. این گزینه بر بسته‌های بدون امضای ارائه‌شده توسط مخازن تأثیری ندارد. برای اجازه دادن به یک مخزن جهت ارائه بسته‌های بدون امضا بدون تأیید صریح، گزینه --gpgcheck-allow-unsigned-package مخزن را تنظیم کنید. برای جزئیات به دستورات addrepo و modifyrepo مراجعه کنید.

گزینه‌های مربوط به حل‌کننده (Solver):

--debug-solver

ایجاد مورد آزمون حل‌کننده برای اشکال‌زدایی. اگر احساس می‌کنید وابستگی‌ها به درستی حل نشده‌اند از این گزینه استفاده کنید. هنگام استفاده از این گزینه هیچ بسته‌ای نصب یا حذف نخواهد شد. در عوض یک مورد آزمون حل‌کننده در /var/log/zypper.solverTestCase نوشته می‌شود. می‌توانید آن دایرکتوری را فشرده کرده و به گزارش اشکال خود پیوست کنید.

--force-resolution

اجبار حل‌کننده به یافتن یک راه‌حل (حتی یک راه‌حل تهاجمی) به جای پرسش از کاربر.

به منظور انجام وظیفه درخواستی، حل‌کننده مجاز است هر خط‌مشی فعالی را نقض کند. این شامل مجوز حذف بسته‌ها و همچنین نادیده گرفتن خط‌مشی‌های صراحتاً تنظیم‌شده (توسط --no-allow-policy یا در فایل‌های کانفیگ) می‌باشد. استفاده از این گزینه در محیط‌های بدون نظارت توصیه نمی‌شود.

مجوز حذف بسته‌های وابسته، هنگام حذف بسته‌ها (zypper remove) رفتار پیش‌فرض است.

-R, --no-force-resolution

عدم اجبار حل‌کننده به یافتن راه‌حل. در عوض، مشکلات وابستگی را گزارش کرده و از کاربر می‌خواهد آن‌ها را به صورت دستی حل کند. این رفتار پیش‌فرض است مگر هنگام حذف بسته‌ها (zypper remove).

--solver-focus MODE

تنظیم رویکرد کلی حل‌کننده هنگام حل یک وظیفه. حالت‌های معتبر عبارتند از Job، Installed یا Update. برای جزئیات به بخش وابستگی‌های بسته (Package Dependencies) مراجعه کنید.

--recommends

نصب بسته‌های توصیه‌شده علاوه بر بسته‌های مورد نیاز. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

--no-recommends

عدم نصب بسته‌های توصیه‌شده و تنها نصب بسته‌های مورد نیاز. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

گزینه‌های حالت دانلود و نصب:

-d, --download-only

تنها دانلود بسته‌ها برای نصب در آینده (همچنین به گزینه سراسری --pkg-cache-dir مراجعه کنید).

اگر همراه با --dry-run استفاده شود، می‌توان بررسی معناداری از تعارض‌های فایل انجام داد (به بخش تعارض‌های فایل بسته (Package File Conflicts) مراجعه کنید).

--download-in-advance

ابتدا دانلود تمام بسته‌ها و سپس آغاز نصب. این رفتار پیش‌فرض است.

--download-in-heaps

حداقل مجموعه‌ای از بسته‌ها را که می‌توان بدون بر جای گذاشتن سیستم در وضعیت خراب نصب کرد دانلود کرده و نصب می‌کند. سپس دسته دیگری را دانلود و نصب می‌کند تا زمانی که همه نصب شوند. این کار به حفظ یکپارچگی سیستم بدون نیاز به دانلود پیشاپیش همه بسته‌ها کمک می‌کند، که مزایای --download-in-advance و --download-as-needed را با هم ترکیب می‌کند.

نکته

تا زمانی که حل‌کننده قادر به ساخت دسته‌ها نباشد، این گزینه رفتاری مشابه با --download-in-advance خواهد داشت.

--download-as-needed

دانلود یک بسته، نصب بلافاصله آن، و ادامه با بقیه بسته‌ها تا زمانی که همه نصب شوند.

--download mode

استفاده از حالت مشخص‌شده برای دانلود و نصب. حالت‌های موجود عبارتند از: only، in-advance، in-heaps، as-needed. برای توضیحات آن‌ها به گزینه‌های متناظر --download-mode مراجعه کنید.

گزینه‌های پیشرفته (Expert Options):

از آن‌ها استفاده نکنید مگر اینکه بدانید به آن‌ها نیاز دارید.

--allow-downgrade, --no-allow-downgrade

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

--allow-name-change, --no-allow-name-change

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

--allow-arch-change, --no-allow-arch-change

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

--allow-vendor-change, --no-allow-vendor-change

تعیین اینکه آیا تغییر توزیع‌کننده (تولیدکننده) موارد قابل‌حل نصب‌شده مجاز است یا خیر. تنظیم این گزینه روی no ممکن است زمانی مفید باشد که نمی‌خواهید بسته‌های مخازن خارجی به نسخه توزیع تغییر یابند (یا برعکس).

مثال‌ها:

$ zypper install -t pattern lamp_server

نصب الگوی lamp_server.

$ zypper install --no-recommends gv

نصب نمایشگر GhostScript، اما بدون در نظر گرفتن بسته‌های توصیه‌شده.

$ zypper install virtualbox-ose-2.0.6

$ zypper install virtualbox-ose=2.0.6

$ zypper install virtualbox-ose = 2.0.6

نصب نسخه 2.0.6 از بسته virtualbox-ose.

source-install (si) name...

بسته‌های منبع مشخص‌شده و وابستگی‌های ساخت آن‌ها را نصب می‌کند. اگر نام یک بسته دودویی (باینری) داده شود، بسته منبع متناظر جستجو شده و به‌جای آن نصب می‌شود.

این دستور تلاش خواهد کرد تا جدیدترین نسخه‌های موجود بسته‌های منبع را پیدا کرده و از rpm -i برای نصب آن‌ها استفاده کند، به صورت اختیاری همراه با تمامی بسته‌هایی که برای ساخت بسته منبع مورد نیاز است. مکان پیش‌فرضی که rpm بسته‌های منبع را در آن نصب می‌کند /usr/src/packages/{SPECS,SOURCES} است، اما این مقادیر را می‌توان در پیکربندی محلی rpm تغییر داد. در صورت تردید، اجرای rpm --eval "%{_specdir} and %{_sourcedir}" را امتحان کنید.

توجه داشته باشید که بسته‌های منبع باید در مخازنی که استفاده می‌کنید موجود باشند. با استفاده از دستور زیر می‌توانید بررسی کنید که آیا یک مخزن حاوی بسته منبع است یا خیر:

$ zypper search -t srcpackage -r alias|name|#|URI
$ zypper search -t srcpackage -r alias|name|#|URI

-d, --build-deps-only

تنها وابستگی‌های ساخت بسته‌های مشخص‌شده را نصب می‌کند.

-D, --no-build-deps

وابستگی‌های ساخت را نصب نمی‌کند.

-r, --repo alias|name|#|URI

تنها با مخزن مشخص‌شده توسط نام مستعار (alias)، نام، شماره یا URI کار می‌کند. از این گزینه می‌توان چندین بار استفاده کرد.

--download-only

تنها بسته‌ها را بارگیری کرده و آن‌ها را نصب نمی‌کند.

مثال‌ها:

$ zypper si -d dbus-1

نصب وابستگی‌های ساخت بسته منبع dbus-1.

verify (ve) [options]

بررسی می‌کند که آیا وابستگی‌های بسته‌های نصب‌شده برآورده شده‌اند یا خیر.

در صورتی که هرگونه مشکل وابستگی پیدا شود، zypper بسته‌هایی را برای نصب یا حذف جهت رفع آن‌ها پیشنهاد می‌دهد.

-D, --dry-run

تعمیر را آزمایش می‌کند، بدون اینکه عملاً تغییری در سیستم ایجاد کند. اگر همراه با --download-only استفاده شود، می‌توان بررسی معناداری برای تداخل فایل‌ها انجام داد (بخش Package File Conflicts را ببینید).

--details

نمایش خلاصه باجزئیات فرایند نصب.

-r, --repo alias|name|#|URI

تنها با مخزن مشخص‌شده توسط نام مستعار (alias)، نام، شماره یا URI کار می‌کند. از این گزینه می‌توان چندین بار استفاده کرد.

-y, --no-confirm

نیازی به تعامل با کاربر ندارد. توصیه می‌شود به جای آن از گزینه سراسری --non-interactive استفاده کنید. گزینه‌های سراسری پیش از دستور ارسال می‌شوند (zypper --non-interactive COMMAND ...). بر خلاف گزینه دستوری no-confirm، گزینه سراسری را می‌توان همراه با هر دستور zypper استفاده کرد.

گزینه‌های مربوط به حل‌کننده (Solver):

--debug-solver

ایجاد یک مورد آزمایشی (test case) حل‌کننده برای اشکال‌زدایی. اگر فکر می‌کنید وابستگی‌ها به درستی حل نشده‌اند، از این گزینه استفاده کنید. هنگام استفاده از این گزینه هیچ بسته‌ای نصب یا حذف نخواهد شد. در عوض، یک مورد آزمایشی حل‌کننده در مسیر /var/log/zypper.solverTestCase نوشته می‌شود. می‌توانید این پوشه را فشرده کرده و به گزارش باگ خود پیوست کنید.

--force-resolution

حل‌کننده را مجبور می‌کند تا به‌جای پرسیدن از کاربر، راه‌حلی (حتی تهاجمی) پیدا کند.

به منظور انجام وظیفه درخواستی، حل‌کننده مجاز است هر خط‌مشی فعال در غیر این صورت را نقض کند. این شامل مجوز حذف بسته‌ها و همچنین عدم رعایت حتی خط‌مشی‌های صراحتاً تعیین‌شده (توسط --no-allow-policy یا در فایل‌های پیکربندی) است. استفاده از این گزینه در محیط‌های بدون نظارت توصیه نمی‌شود.

مجوز حذف بسته‌های وابسته هنگام حذف بسته‌ها (zypper remove) حالت پیش‌فرض است.

-R, --no-force-resolution

حل‌کننده را برای یافتن راه‌حل مجبور نمی‌کند. در عوض، مشکلات وابستگی را گزارش کرده و از کاربر می‌خواهد آن‌ها را به صورت دستی حل کند. این حالت پیش‌فرض است، مگر در هنگام حذف بسته‌ها (zypper remove).

--solver-focus MODE

رویکرد کلی حل‌کننده را هنگام حل یک وظیفه تنظیم می‌کند. حالت‌های معتبر عبارتند از Job، Installed یا Update. برای جزئیات بخش Package Dependencies را ببینید.

--recommends

علاوه بر بسته‌های الزامی، بسته‌های توصیه‌شده را نیز نصب می‌کند. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

--no-recommends

بسته‌های توصیه‌شده را نصب نمی‌کند، بلکه تنها بسته‌های الزامی را نصب می‌کند. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

گزینه‌های پیشرفته:

از آن‌ها استفاده نکنید مگر اینکه بدانید واقعاً به آن‌ها نیاز دارید.

--allow-downgrade, --no-allow-downgrade

تعیین مجاز بودن تنزل نسخه (downgrade) موارد قابل‌حل نصب‌شده.

--allow-name-change, --no-allow-name-change

تعیین مجاز بودن تغییر نام موارد قابل‌حل نصب‌شده. تنظیم این گزینه روی no بسته‌هایی را که تغییر نام داده‌اند جایگزین نخواهد کرد.

--allow-arch-change, --no-allow-arch-change

تعیین مجاز بودن تغییر معماری موارد قابل‌حل نصب‌شده.

--allow-vendor-change, --no-allow-vendor-change

تعیین مجاز بودن تغییر توزیع‌کننده (vendor) موارد قابل‌حل نصب‌شده. تنظیم این گزینه روی no زمانی مفید است که نمی‌خواهید بسته‌های مخازن خارجی به نسخه توزیع تغییر یابند (یا بالعکس).

این دستور همچنین گزینه‌های حالت بارگیری و نصب شرح‌داده‌شده در دستور install را می‌پذیرد.

install-new-recommends (inr) [options]

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

در صورت فراخوانی به صورت zypper inr --no-recommends، دستور محدود می‌شود تا فقط به دنبال بسته‌هایی باشد که از سخت‌افزارها، زبان‌ها یا سیستم‌های فایل موجود پشتیبانی می‌کنند. این امر پس از افزودن مثلاً سخت‌افزار جدید یا مخازن درایور مفید است. همچنین اگر [zypp.conf:solver.onlyRequires] را تنظیم کرده باشید، این رفتار پیش‌فرض خواهد بود.

-r, --repo alias|name|#|URI

تنها با مخزن مشخص‌شده توسط نام مستعار (alias)، نام، شماره یا URI کار می‌کند. از این گزینه می‌توان چندین بار استفاده کرد.

-D, --dry-run

نصب را آزمایش می‌کند، بدون اینکه عملاً چیزی نصب کند. اگر همراه با --download-only استفاده شود، می‌توان بررسی معناداری برای تداخل فایل‌ها انجام داد (بخش Package File Conflicts را ببینید).

--details

نمایش خلاصه باجزئیات فرایند نصب.

گزینه‌های مربوط به حل‌کننده (Solver):

--debug-solver

ایجاد یک مورد آزمایشی (test case) حل‌کننده برای اشکال‌زدایی. اگر فکر می‌کنید وابستگی‌ها به درستی حل نشده‌اند، از این گزینه استفاده کنید. هنگام استفاده از این گزینه هیچ بسته‌ای نصب یا حذف نخواهد شد. در عوض، یک مورد آزمایشی حل‌کننده در مسیر /var/log/zypper.solverTestCase نوشته می‌شود. می‌توانید این پوشه را فشرده کرده و به گزارش باگ خود پیوست کنید.

--force-resolution

حل‌کننده را مجبور می‌کند تا به‌جای پرسیدن از کاربر، راه‌حلی (حتی تهاجمی) پیدا کند.

به منظور انجام وظیفه درخواستی، حل‌کننده مجاز است هر خط‌مشی فعال در غیر این صورت را نقض کند. این شامل مجوز حذف بسته‌ها و همچنین عدم رعایت حتی خط‌مشی‌های صراحتاً تعیین‌شده (توسط --no-allow-policy یا در فایل‌های پیکربندی) است. استفاده از این گزینه در محیط‌های بدون نظارت توصیه نمی‌شود.

مجوز حذف بسته‌های وابسته هنگام حذف بسته‌ها (zypper remove) حالت پیش‌فرض است.

-R, --no-force-resolution

حل‌کننده را برای یافتن راه‌حل مجبور نمی‌کند. در عوض، مشکلات وابستگی را گزارش کرده و از کاربر می‌خواهد آن‌ها را به صورت دستی حل کند. این حالت پیش‌فرض است، مگر در هنگام حذف بسته‌ها (zypper remove).

--solver-focus MODE

رویکرد کلی حل‌کننده را هنگام حل یک وظیفه تنظیم می‌کند. حالت‌های معتبر عبارتند از Job، Installed یا Update. برای جزئیات بخش Package Dependencies را ببینید.

--recommends

علاوه بر بسته‌های الزامی، بسته‌های توصیه‌شده را نیز نصب می‌کند. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

--no-recommends

بسته‌های توصیه‌شده را نصب نمی‌کند، بلکه تنها بسته‌های الزامی را نصب می‌کند. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

گزینه‌های پیشرفته:

از آن‌ها استفاده نکنید مگر اینکه بدانید واقعاً به آن‌ها نیاز دارید.

--allow-downgrade, --no-allow-downgrade

تعیین مجاز بودن تنزل نسخه (downgrade) موارد قابل‌حل نصب‌شده.

--allow-name-change, --no-allow-name-change

تعیین مجاز بودن تغییر نام موارد قابل‌حل نصب‌شده. تنظیم این گزینه روی no بسته‌هایی را که تغییر نام داده‌اند جایگزین نخواهد کرد.

--allow-arch-change, --no-allow-arch-change

تعیین مجاز بودن تغییر معماری موارد قابل‌حل نصب‌شده.

--allow-vendor-change, --no-allow-vendor-change

تعیین مجاز بودن تغییر توزیع‌کننده (vendor) موارد قابل‌حل نصب‌شده. تنظیم این گزینه روی no زمانی مفید است که نمی‌خواهید بسته‌های مخازن خارجی به نسخه توزیع تغییر یابند (یا بالعکس).

این دستور همچنین گزینه‌های حالت بارگیری و نصب شرح‌داده‌شده در دستور install را می‌پذیرد.

remove (rm) [options] name...

remove (rm) [options] --capability capability...

بسته‌ها را حذف (لغو نصب) می‌کند.

دستور remove بسته‌های انتخاب‌شده و بسته‌های وابسته به آن‌ها را لغو نصب می‌کند. این دستور برای نگه داشتن بسته‌های وابسته، تلاشی برای نصب گزینه‌های جایگزین نخواهد کرد. اگر این رفتار را می‌خواهید، از zypper install !name استفاده کنید.

بسته‌ها را می‌توان بر اساس نام آن‌ها یا قابلیتی که ارائه می‌دهند انتخاب کرد. برای جزئیات در مورد انتخاب بسته، به توضیحات دستور install مراجعه کنید.

-r, --repo alias|name|#|URI

تنها با مخزن مشخص‌شده توسط نام مستعار (alias)، نام، شماره یا URI کار می‌کند. از این گزینه می‌توان چندین بار استفاده کرد.

-t, --type type

نوع بسته (پیش‌فرض: package). برای فهرست انواع بسته‌های موجود، بخش Package Types را ببینید.

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

-n, --name

انتخاب بسته‌ها بر اساس نام آن‌ها (پیش‌فرض).

-C, --capability

انتخاب بسته‌ها بر اساس قابلیت‌ها.

-D, --dry-run

حذف بسته‌ها را آزمایش می‌کند، بدون اینکه عملاً چیزی را حذف کند.

--details

نمایش خلاصه باجزئیات فرایند نصب.

-y, --no-confirm

نیازی به تعامل با کاربر ندارد. توصیه می‌شود به جای آن از گزینه سراسری --non-interactive استفاده کنید. گزینه‌های سراسری پیش از دستور ارسال می‌شوند (zypper --non-interactive COMMAND ...). بر خلاف گزینه دستوری no-confirm، گزینه سراسری را می‌توان همراه با هر دستور zypper استفاده کرد.

گزینه‌های مربوط به حل‌کننده (Solver):

--debug-solver

ایجاد یک مورد آزمایشی (test case) حل‌کننده برای اشکال‌زدایی. اگر فکر می‌کنید وابستگی‌ها به درستی حل نشده‌اند، از این گزینه استفاده کنید. هنگام استفاده از این گزینه هیچ بسته‌ای نصب یا حذف نخواهد شد. در عوض، یک مورد آزمایشی حل‌کننده در مسیر /var/log/zypper.solverTestCase نوشته می‌شود. می‌توانید این پوشه را فشرده کرده و به گزارش باگ خود پیوست کنید.

--force-resolution

حل‌کننده را مجبور می‌کند تا به‌جای پرسیدن از کاربر، راه‌حلی (حتی تهاجمی) پیدا کند.

به منظور انجام وظیفه درخواستی، حل‌کننده مجاز است هر خط‌مشی فعال در غیر این صورت را نقض کند. این شامل مجوز حذف بسته‌ها و همچنین عدم رعایت حتی خط‌مشی‌های صراحتاً تعیین‌شده (توسط --no-allow-policy یا در فایل‌های پیکربندی) است. استفاده از این گزینه در محیط‌های بدون نظارت توصیه نمی‌شود.

مجوز حذف بسته‌های وابسته هنگام حذف بسته‌ها (zypper remove) حالت پیش‌فرض است.

-R, --no-force-resolution

حل‌کننده را برای یافتن راه‌حل مجبور نمی‌کند. در عوض، مشکلات وابستگی را گزارش کرده و از کاربر می‌خواهد آن‌ها را به صورت دستی حل کند. این حالت پیش‌فرض است، مگر در هنگام حذف بسته‌ها (zypper remove).

--solver-focus MODE

رویکرد کلی حل‌کننده را هنگام حل یک وظیفه تنظیم می‌کند. حالت‌های معتبر عبارتند از Job، Installed یا Update. برای جزئیات بخش Package Dependencies را ببینید.

-u, --clean-deps

حذف خودکار وابستگی‌هایی که پس از حذف بسته‌های درخواستی دیگر مورد نیاز نیستند.

-U, --no-clean-deps

عدم حذف خودکار وابستگی‌های غیرضروری.

removeptf (rmptf) [options] <PTF|CAPABILITY> ...

حذف بسته‌های PTF (و نه تنها آن‌ها).

یک دستور حذف که جایگزینی بسته‌های وابسته را به حذف آن‌ها نیز ترجیح می‌دهد. در واقع این یک دستور کامل install همراه با اصلاح‌کننده حذف (-) است که روی آرگومان‌های ساده آن اعمال شده است. بنابراین removeptf foo معادل install — -foo است. به همین دلیل است که این دستور همان گزینه‌های دستور install را می‌پذیرد. این روش توصیه‌شده برای حذف یک PTF (اصلاحیه موقت برنامه یا Program Temporary Fix) است.

یک PTF معمولاً به محض اینکه اصلاحیه ارائه‌شده توسط آن در آخرین به‌روزرسانی رسمی بسته‌های وابسته اعمال شود، حذف می‌گردد. اما شما نمی‌خواهید بسته‌های وابسته همراه با PTF حذف شوند؛ کاری که دستور remove انجام می‌دهد. با این حال دستور removeptf تلاش خواهد کرد تا بسته‌های وابسته را با نسخه‌های به‌روزرسانی رسمی آن‌ها جایگزین کند.

از تمامی گزینه‌هایی که دستور install پشتیبانی می‌کند، پشتیبانی می‌کند

purge-kernels [options]

هسته‌های نصب‌شده را به صورت خودکار حذف می‌کند.

پاک‌سازی خودکار هسته‌های نصب‌شده مطابق با قوانین تعریف‌شده در [zypp.conf:multiversion.kernels] که می‌توانند به صورت <version>، latest[-N]، running، oldest[+N] مشخص شوند.

--details

نمایش خلاصه باجزئیات فرایند نصب.

-D, --dry-run

حذف بسته‌ها را آزمایش می‌کند، بدون اینکه عملاً چیزی را حذف کند.

list-updates (lu) [options]

فهرست کردن به‌روزرسانی‌های موجود.

این دستور فقط به‌روزرسانی‌های قابل‌نصب را فهرست می‌کند؛ یعنی به‌روزرسانی‌هایی که فاقد مشکل وابستگی بوده یا ارائه‌دهنده (vendor) بسته را تغییر نمی‌دهند. این فهرست شامل مواردی است که دستور update برای نصب پیشنهاد خواهد کرد. برای فهرست کردن تمام بسته‌هایی که نسخه جدیدتری از آن‌ها در دسترس است، از گزینه --all استفاده کنید.

-t, --type type

نوع بسته (پیش‌فرض: package). برای مشاهده فهرست انواع بسته‌های موجود، بخش Package Types را ببینید.

اگر patch مشخص شود، zypper به‌گونه‌ای عمل می‌کند که گویی دستور list-patches اجرا شده است.

-r, --repo alias|name|#|URI

تنها با مخزن مشخص‌شده توسط نام مستعار (alias)، نام، شماره یا URI کار می‌کند. از این گزینه می‌توان چندین بار استفاده کرد.

-a, --all

فهرست کردن تمام بسته‌هایی که نسخه جدیدتری از آن‌ها در دسترس است، صرف‌نظر از این‌که قابل‌نصب هستند یا خیر.

--best-effort

برای توضیحات، دستور update را ببینید.

--filter-version-change LEVEL

فیلتر کردن به‌روزرسانی‌ها بر اساس اهمیت تغییر نسخه برای کاهش اطلاعات زائد. مقدار LEVEL یکی از موارد زیر است:

none

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

rebuild

پنهان کردن به‌روزرسانی‌هایی که در آن‌ها فقط شمارنده بازسازی (rebuild counter) تغییر کرده است (آخرین بخش جداشده با نقطه در رشته release). نسخه بالادستی (upstream) و ثبت بسته‌بندی (checkin) یکسان هستند.

package

پنهان کردن به‌روزرسانی‌هایی که در آن‌ها فقط انتشار (release) تغییر کرده است (checkin و/یا rebuild). نسخه بالادستی یکسان است. این حالت سخت‌گیرانه‌تر از rebuild است.

تغییرات Epoch هرگز فیلتر نمی‌شوند. این گزینه برای وصله‌ها (patches) اعمال نمی‌شود (به جای آن از فیلترهای list-patches استفاده کنید).

گزینه‌های پیشرفته (Expert Options):

از آن‌ها استفاده نکنید مگر اینکه مطمئن باشید به آن‌ها نیاز دارید.

--allow-downgrade, --no-allow-downgrade

آیا تنزل نسخه (downgrade) مولفه‌های قابل‌حل (resolvables) نصب‌شده مجاز باشد یا خیر.

--allow-name-change, --no-allow-name-change

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

--allow-arch-change, --no-allow-arch-change

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

--allow-vendor-change, --no-allow-vendor-change

آیا تغییر ارائه‌دهنده (vendor) مولفه‌های قابل‌حل نصب‌شده مجاز باشد یا خیر. تنظیم این گزینه روی no ممکن است زمانی مفید باشد که نمی‌خواهید بسته‌های مخازن خارجی به نسخه توزیع تغییر یابند (یا برعکس).

update (up) [options] [packagename]...

به‌روزرسانی بسته‌های نصب‌شده با نسخه‌های جدیدتر، در صورت امکان.

این دستور بسته‌هایی را که نیازمند تغییر ارائه‌دهنده بسته باشند به‌روزرسانی نخواهد کرد، مگر اینکه ارائه‌دهنده در /etc/zypp/vendors.d مشخص شده باشد، یا نیازمند حل دستی مشکلات وابستگی‌ها باشند. چنین به‌روزرسانی‌های غیرقابل‌نصبی در بخش جداگانه‌ای از خلاصه وضعیت با عنوان "The following package updates will NOT be installed:" فهرست خواهند شد.

برای به‌روزرسانی بسته‌های منفرد، یک یا چند نام بسته را مشخص کنید. می‌توانید از نویسه‌های عامه‌نمای (wildcard) * و ? در نام بسته‌ها برای مشخص کردن چندین بسته منطبق با الگو استفاده کنید.

-t, --type type

نوع بسته (پیش‌فرض: package). برای مشاهده فهرست انواع بسته‌های موجود، بخش Package Types را ببینید.

اگر patch مشخص شود، zypper به‌گونه‌ای عمل می‌کند که گویی دستور patches اجرا شده است.

-r, --repo alias|name|#|URI

تنها با مخزن مشخص‌شده با نام مستعار، نام، شماره یا URI کار می‌کند. از این گزینه می‌توان چندین بار استفاده کرد.

--skip-interactive

وصله‌های تعاملی را نادیده می‌گیرد؛ یعنی وصله‌هایی که نیازمند راه‌اندازی مجدد هستند، حاوی پیامی می‌باشند، یا بسته‌ای را به‌روزرسانی می‌کنند که مجوز آن نیاز به تایید دارد.

--with-interactive

جلوگیری از نادیده گرفتن وصله‌های تعاملی در هنگام کار در حالت غیرتعاملی.

-l, --auto-agree-with-licenses

پاسخ خودکار yes به اعلان تایید مجوزهای شخص ثالث. با استفاده از این گزینه، شما موافقت با مجوزهای تمام نرم‌افزارهای شخص ثالثی را که این دستور نصب خواهد کرد می‌پذیرید. این گزینه به ویژه برای مدیران سیستمی مفید است که مجموعه یکسانی از بسته‌ها را روی چندین ماشین (توسط یک فرآیند خودکار) نصب می‌کنند و مجوزها را از قبل تایید نموده‌اند.

--auto-agree-with-product-licenses

پذیرش خودکار فقط مجوزهای محصول. این گزینه توسط ابزارهایی مانند SUSEconnect استفاده می‌شود که پیش از ثبت محصول درخواست تایید می‌کنند؛ بنابراین نیازی به تایید مجدد مجوز محصول در زمان نصب نیست.

--replacefiles

نصب بسته‌ها حتی اگر فایل‌هایی از بسته‌های دیگر که قبلاً نصب شده‌اند را جایگزین کنند. حالت پیش‌فرض این است که تداخل فایل‌ها به عنوان یک خطا در نظر گرفته شود. گزینه --download-as-needed بررسی تداخل فایل‌ها را غیرفعال می‌کند، زیرا برای انجام این بررسی به دسترسی زودهنگام به فهرست فایل‌های همه بسته‌ها نیاز است.

-D, --dry-run

آزمایش به‌روزرسانی بدون این‌که عملاً بسته‌ای نصب یا به‌روزرسانی شود. اگر همراه با --download-only استفاده شود، یک بررسی معنادار تداخل فایل‌ها می‌تواند انجام گیرد (بخش Package File Conflicts را ببینید).

--details

نمایش خلاصه نصب به صورت باجزئیات.

--best-effort

استفاده از رویکرد «بیشترین تلاش» (best effort) برای به‌روزرسانی. این روش به صراحت بسته‌هایی با بهترین نسخه و معماری را انتخاب نمی‌کند، بلکه درخواست نصب بسته‌ای با نسخه بالاتر از نسخه نصب‌شده را ثبت می‌کند و باقی کار را به حل‌کننده وابستگی‌ها واگذار می‌نماید. این روش همیشه برای بسته‌ها به کار می‌رود و برای محصولات و الگوها اختیاری است. این گزینه برای وصله‌ها کاربردی ندارد.

-y, --no-confirm

عدم نیاز به تعامل با کاربر. توصیه می‌شود به جای این گزینه از گزینه عمومی --non-interactive استفاده کنید. گزینه‌های عمومی پیش از دستور درج می‌شوند (zypper --non-interactive COMMAND ...). برخلاف گزینه no-confirm این دستور، گزینه عمومی می‌تواند همراه با هر دستور zypper استفاده شود.

گزینه‌های مربوط به حل‌کننده وابستگی‌ها (Solver related options):

--debug-solver

ایجاد مورد آزمایشی حل‌کننده برای اشکال‌زدایی. اگر فکر می‌کنید وابستگی‌ها به درستی حل نشده‌اند از این گزینه استفاده کنید. هنگام استفاده از این گزینه هیچ بسته‌ای نصب یا حذف نخواهد شد. در عوض یک مورد آزمایشی حل‌کننده در /var/log/zypper.solverTestCase نوشته می‌شود. می‌توانید این پوشه را فشرده کرده و به گزارش باگ خود پیوست کنید.

--force-resolution

مجبور کردن حل‌کننده به یافتن یک راهکار (حتی یک راهکار تهاجمی) به جای سوال پرسیدن از کاربر.

به منظور انجام کار درخواستی، حل‌کننده مجاز است هر خط‌مشی که در حالت عادی فعال است را نقض کند. این شامل مجوز حذف بسته‌ها و همچنین عدم رعایت خط‌مشی‌هایی است که صریحاً تنظیم شده‌اند (توسط --no-allow-policy یا در فایل‌های کانفیگ). استفاده از این گزینه در محیط‌های بدون نظارت توصیه نمی‌شود.

مجوز حذف بسته‌های وابسته، هنگام حذف بسته‌ها (zypper remove) رفتار پیش‌فرض است.

-R, --no-force-resolution

حل‌کننده را به یافتن راهکار مجبور نمی‌کند؛ بلکه مشکلات وابستگی را گزارش کرده و از کاربر می‌خواهد آن‌ها را به صورت دستی حل کند. این حالت پیش‌فرض است، مگر هنگام حذف بسته‌ها (zypper remove).

--solver-focus MODE

تنظیم رویکرد کلی حل‌کننده هنگام حل یک کار. حالت‌های معتبر عبارتند از Job، Installed یا Update. برای جزئیات، بخش Package Dependencies را ببینید.

--recommends

علاوه بر بسته‌های لازم (required)، بسته‌های توصیه‌شده (recommended) را نیز نصب می‌کند. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

--no-recommends

بسته‌های توصیه‌شده را نصب نمی‌کند، بلکه تنها بسته‌های لازم را نصب می‌نماید. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

گزینه‌های پیشرفته (Expert Options):

از آن‌ها استفاده نکنید مگر اینکه مطمئن باشید به آن‌ها نیاز دارید.

--allow-downgrade, --no-allow-downgrade

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

--allow-name-change, --no-allow-name-change

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

--allow-arch-change, --no-allow-arch-change

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

--allow-vendor-change, --no-allow-vendor-change

آیا تغییر ارائه‌دهنده مولفه‌های قابل‌حل نصب‌شده مجاز باشد یا خیر. تنظیم این گزینه روی no ممکن است زمانی مفید باشد که نمی‌خواهید بسته‌های مخازن خارجی به نسخه توزیع تغییر یابند (یا برعکس).

این دستور همچنین گزینه‌های حالت بارگیری و نصب (Download-and-install mode options) شرح داده شده در توضیحات دستور install را می‌پذیرد.

list-patches (lp) [options]

فهرست کردن تمام وصله‌های قابل‌اعمال.

این دستور مشابه zypper list-updates -t patch است.

توجه داشته باشید که آرگومان‌های اختیاری برخی از گزینه‌های زیر باید با استفاده از = به جای فاصله مشخص شوند.

-b, --bugzilla[=#[,...]]

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

--cve[=#[,...]]

فهرست کردن وصله‌های قابل‌اعمال برای تمام گزارش‌های CVE یا مواردی که شماره آن‌ها با رشته ارائه‌شده مطابقت دارد.

--date YYYY-MM-DD[,...]

تنها وصله‌های منتشرشده تا تاریخ مشخص‌شده (بدون شامل شدن خود آن روز) را فهرست می‌کند.

-g, --category category[,...]

تنها وصله‌های متعلق به این دسته‌بندی را فهرست می‌کند. برای مشاهده فهرستی از مقادیر متداول category، بخش Package Types را ببینید.

--severity severity[,...]

تنها وصله‌های دارای این سطح شدت را فهرست می‌کند. برای مشاهده فهرستی از مقادیر متداول severity، بخش Package Types را ببینید.

--issue[=string[,...]]

جستجو برای مسائلی که شماره، خلاصه یا توضیحات آن‌ها با string مشخص‌شده مطابقت دارد. مسائلی که بر اساس شماره پیدا می‌شوند جدا از مسائلی که بر اساس توضیحات یافت شده‌اند نمایش می‌یابند. در حالت دوم، از دستور zypper patch-info patchname برای دریافت اطلاعات درباره مسائلی که وصله برطرف می‌کند استفاده کنید.

-a, *--all

به طور پیش‌فرض، فقط وصله‌هایی که روی سیستم شما قابل‌اعمال هستند فهرست می‌شوند. این گزینه باعث می‌شود تمام وصله‌های منتشرشده موجود فهرست شوند. این گزینه می‌تواند با تمام گزینه‌های دیگر دستور list-updates ترکیب شود.

--with-optional, --without-optional

آیا وصله‌های اختیاری قابل‌اعمال باید به عنوان مورد نیاز در نظر گرفته شوند یا نادیده گرفته شوند. رفتار پیش‌فرض نادیده گرفتن وصله‌های اختیاری است.

-r, --repo alias|name|#|URI

تنها با مخزن مشخص‌شده با نام مستعار، نام، شماره یا URI کار می‌کند. از این گزینه می‌توان چندین بار استفاده کرد.

patch-check (pchk)

بررسی وجود وصله‌ها. تعداد وصله‌های قابل‌اعمال و اینکه چه تعداد از آن‌ها در دسته‌بندی امنیتی هستند را نمایش می‌دهد.

همچنین برای جزئیات در مورد وضعیت‌های خروج 0، 100 و 101 بازگردانده‌شده توسط این دستور، بخش EXIT CODES را ببینید.

--updatestack-only

تنها وصله‌هایی را بررسی می‌کند که بر خود مدیریت بسته‌ها اثر می‌گذارند.

--with-optional, --without-optional

آیا وصله‌های اختیاری قابل‌اعمال باید به عنوان مورد نیاز در نظر گرفته شوند یا نادیده گرفته شوند. رفتار پیش‌فرض نادیده گرفتن وصله‌های اختیاری است.

-r, --repo alias|name|#|URI

بررسی وجود وصله‌ها تنها در مخزن مشخص‌شده با نام مستعار، نام، شماره یا URI. از این گزینه می‌توان چندین بار استفاده کرد.

patch [options]

نصب تمام وصله‌های مورد نیاز و موجود.

هنگام به‌روزرسانی بسته‌های تحت‌تاثیر قرار گرفته/آسیب‌پذیر شرح داده شده توسط یک وصله، zypper همیشه جدیدترین نسخه موجود را هدف قرار می‌دهد. برای جزئیات بیشتر درباره نحوه عملکرد وصله‌ها، بخش Package Types را ببینید.

اگر وصله‌هایی وجود داشته باشند که بر خود مدیریت بسته‌ها اثر می‌گذارند، ابتدا آن‌ها نصب خواهند شد و از شما خواسته می‌شود دستور patch را مجدداً اجرا کنید.

این دستور مشابه zypper update -t patch است.

--updatestack-only

تنها وصله‌هایی را که بر خود مدیریت بسته‌ها اثر می‌گذارند نصب کرده و خارج می‌شود.

--skip-not-applicable-patches

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

در محیط‌های اسکریپتی و بدون نظارت، ممکن است تمایل داشته باشید حداقل تا جای ممکن وصله‌ها اعمال شوند تا سیستم کاملاً بدون به‌روزرسانی نماند. اکیداً توصیه می‌شود پس از آن دستور zypper patch-check را اجرا کنید تا ببینید آیا وصله‌های مورد نیازی وجود دارند که همچنان منتظر حل تعاملی باشند.

--with-update

تلاش مضاعف برای به‌روزرسانی تمام بسته‌هایی که تحت پوشش وصله‌ها قرار نگرفته‌اند. این اساساً مشابه اجرای دستور zypper update پس از اتمام کار است.

اگر دستور وصله ابتدا نیاز به به‌روزرسانی پشته به‌روزرسانی (update stack) داشته باشد، این گزینه نادیده گرفته می‌شود؛ بنابراین نمی‌توان آن را با گزینه --updatestack-only ترکیب کرد.

--with-optional, --without-optional

آیا وصله‌های اختیاری قابل‌اعمال باید به عنوان مورد نیاز در نظر گرفته شوند یا نادیده گرفته شوند. رفتار پیش‌فرض نادیده گرفتن وصله‌های اختیاری است.

-b, --bugzilla #[,...]

انتخاب وصله‌های قابل‌اعمال برای یک گزارش باگ‌زیلا مشخص‌شده بر اساس شماره. از دستور list-patches --bugzilla برای دریافت فهرستی از وصله‌های قابل‌اعمال برای گزارش‌های خاص استفاده کنید.

--cve #[,...]

انتخاب وصله‌های قابل‌اعمال برای یک مورد CVE از MITRE مشخص‌شده بر اساس شماره. از دستور list-patches --cve برای دریافت فهرستی از وصله‌های قابل‌اعمال برای مسائل خاص استفاده کنید.

--date YYYY-MM-DD[,...]

تنها وصله‌های منتشرشده تا تاریخ مشخص‌شده (بدون شامل شدن خود آن روز) را انتخاب می‌کند.

-g, --category category[,...]

تنها وصله‌های متعلق به این دسته‌بندی را انتخاب می‌کند. از دستور list-patches --category برای دریافت فهرستی از وصله‌های موجود با یک دسته‌بندی خاص استفاده کنید. برای فهرستی از مقادیر متداول category، بخش Package Types را ببینید.

--severity severity[,...]

تنها وصله‌های با این سطح شدت را انتخاب می‌کند. از دستور list-patches --severity برای دریافت فهرستی از وصله‌های موجود با یک شدت خاص استفاده کنید. برای فهرستی از مقادیر متداول severity، بخش Package Types را ببینید.

-r, --repo alias|name|#|URI

تنها با مخزن مشخص‌شده با نام مستعار، نام، شماره یا URI کار می‌کند. از این گزینه می‌توان چندین بار استفاده کرد.

--skip-interactive

وصله‌های تعاملی را نادیده می‌گیرد؛ یعنی وصله‌هایی که نیازمند راه‌اندازی مجدد هستند، حاوی پیامی می‌باشند، یا بسته‌ای را به‌روزرسانی می‌کنند که مجوز آن نیاز به تایید دارد.

--with-interactive

جلوگیری از نادیده گرفتن وصله‌های تعاملی در هنگام کار در حالت غیرتعاملی.

-l, --auto-agree-with-licenses

پاسخ خودکار yes به اعلان تایید مجوزهای شخص ثالث. با استفاده از این گزینه، شما موافقت با مجوزهای تمام نرم‌افزارهای شخص ثالثی را که این دستور نصب خواهد کرد می‌پذیرید. این گزینه به ویژه برای مدیران سیستمی مفید است که مجموعه یکسانی از بسته‌ها را روی چندین ماشین (توسط یک فرآیند خودکار) نصب می‌کنند و مجوزها را از قبل تایید نموده‌اند.

--auto-agree-with-product-licenses

پذیرش خودکار فقط مجوزهای محصول. این گزینه توسط ابزارهایی مانند SUSEconnect استفاده می‌شود که پیش از ثبت محصول درخواست تایید می‌کنند؛ بنابراین نیازی به تایید مجدد مجوز محصول در زمان نصب نیست.

--replacefiles

نصب بسته‌ها حتی اگر فایل‌هایی از بسته‌های دیگر که قبلاً نصب شده‌اند را جایگزین کنند. حالت پیش‌فرض این است که تداخل فایل‌ها به عنوان یک خطا در نظر گرفته شود. گزینه --download-as-needed بررسی تداخل فایل‌ها را غیرفعال می‌کند، زیرا برای انجام این بررسی به دسترسی زودهنگام به فهرست فایل‌های همه بسته‌ها نیاز است.

-D, --dry-run

آزمایش به‌روزرسانی بدون این‌که عملاً به‌روزرسانی انجام شود. اگر همراه با --download-only استفاده شود، یک بررسی معنادار تداخل فایل‌ها می‌تواند انجام پذیرد (بخش Package File Conflicts را ببینید).

--details

نمایش خلاصه نصب به صورت باجزئیات.

-y, --no-confirm

عدم نیاز به تعامل با کاربر. توصیه می‌شود به جای این گزینه از گزینه عمومی --non-interactive استفاده کنید. گزینه‌های عمومی پیش از دستور درج می‌شوند (zypper --non-interactive COMMAND ...). برخلاف گزینه no-confirm این دستور، گزینه عمومی می‌تواند همراه با هر دستور zypper استفاده شود.

گزینه‌های مربوط به حل‌کننده وابستگی‌ها (Solver related options):

--debug-solver

ایجاد مورد آزمایشی حل‌کننده برای اشکال‌زدایی. اگر فکر می‌کنید وابستگی‌ها به درستی حل نشده‌اند از این گزینه استفاده کنید. هنگام استفاده از این گزینه هیچ بسته‌ای نصب یا حذف نخواهد شد. در عوض یک مورد آزمایشی حل‌کننده در /var/log/zypper.solverTestCase نوشته می‌شود. می‌توانید این پوشه را فشرده کرده و به گزارش باگ خود پیوست کنید.

--force-resolution

مجبور کردن حل‌کننده به یافتن یک راهکار (حتی یک راهکار تهاجمی) به جای سوال پرسیدن از کاربر.

به منظور انجام کار درخواستی، حل‌کننده مجاز است هر خط‌مشی که در حالت عادی فعال است را نقض کند. این شامل مجوز حذف بسته‌ها و همچنین عدم رعایت خط‌مشی‌هایی است که صریحاً تنظیم شده‌اند (توسط --no-allow-policy یا در فایل‌های کانفیگ). استفاده از این گزینه در محیط‌های بدون نظارت توصیه نمی‌شود.

مجوز حذف بسته‌های وابسته، هنگام حذف بسته‌ها (zypper remove) رفتار پیش‌فرض است.

-R, --no-force-resolution

حل‌کننده را به یافتن راهکار مجبور نمی‌کند؛ بلکه مشکلات وابستگی را گزارش کرده و از کاربر می‌خواهد آن‌ها را به صورت دستی حل کند. این حالت پیش‌فرض است، مگر هنگام حذف بسته‌ها (zypper remove).

--solver-focus MODE

تنظیم رویکرد کلی حل‌کننده هنگام حل یک کار. حالت‌های معتبر عبارتند از Job، Installed یا Update. برای جزئیات، بخش Package Dependencies را ببینید.

--recommends

علاوه بر بسته‌های لازم (required)، بسته‌های توصیه‌شده (recommended) را نیز نصب می‌کند. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

--no-recommends

بسته‌های توصیه‌شده را نصب نمی‌کند، بلکه تنها بسته‌های لازم را نصب می‌نماید. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

گزینه‌های پیشرفته (Expert Options):

از آن‌ها استفاده نکنید مگر اینکه مطمئن باشید به آن‌ها نیاز دارید.

--allow-downgrade, --no-allow-downgrade

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

--allow-name-change, --no-allow-name-change

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

--allow-arch-change, --no-allow-arch-change

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

--allow-vendor-change, --no-allow-vendor-change

آیا تغییر ارائه‌دهنده مولفه‌های قابل‌حل نصب‌شده مجاز باشد یا خیر. تنظیم این گزینه روی no ممکن است زمانی مفید باشد که نمی‌خواهید بسته‌های مخازن خارجی به نسخه توزیع تغییر یابند (یا برعکس).

این دستور همچنین گزینه‌های حالت بارگیری و نصب (Download-and-install mode options) شرح داده شده در توضیحات دستور install را می‌پذیرد.

dist-upgrade (dup) [options]

ارتقای توزیع را انجام می‌دهد. این دستور وضعیت مخازن (مشخص‌شده) را بر روی سیستم اعمال می‌کند؛ بسته‌های نصب‌شده را به نسخه‌های موجود در مخازن ارتقا (یا حتی تنزل) می‌دهد، بسته‌هایی را که دیگر در مخازن وجود ندارند و مانع وابستگی برای ارتقا ایجاد می‌کنند حذف می‌نماید، تقسیم و تغییر نام بسته‌ها را مدیریت می‌کند و غیره.

اگر هیچ مخزنی از طریق گزینه --from مشخص نشده باشد، zypper یک ارتقای سراسری با تمام مخازن تعریف‌شده انجام خواهد داد. این حالت سراسری dup بسته‌های بدون تغییر نصب‌شده را نیز مد نظر قرار داده و وابستگی‌های آن‌ها را مجدداً ارزیابی می‌کند. اگر سیستم حاوی مخازن متناقض باشد (مانند مخازن دو انتشار مختلف توزیع)، این امر می‌تواند مشکل‌ساز شود. این حالت اغلب زمانی رخ می‌دهد که کاربر پس از افزودن مخزن یک انتشار جدید، فراموش کند مخزن انتشار قدیمی‌تر را حذف کند؛ مثلاً openSUSE 13.1 و openSUSE 13.2.

برای تمام مخازنی که نسخه توزیع را درون نشانی URL خود دارند (مانند https://download.opensuse.org/distribution/13.1/repo/oss)، استفاده از متغیر $releasever به جای آن می‌تواند مفید باشد (https://download.opensuse.org/distribution/$releasever/repo/oss). این متغیر به طور پیش‌فرض با نسخه فعلی توزیع (13.1) جایگزین می‌شود.

این مقدار را می‌توان به صورت موقت در دستور جاری zypper با استفاده از گزینه عمومی --releasever بازنویسی کرد. فراخوانی دستور به‌صورت zypper --releasever 13.2... باعث می‌شود این مخازن بدون نیاز به افزودن یا حذف هیچ موردی، از مکان جدید (https://download.opensuse.org/distribution/13.2/repo/oss) استفاده کنند. اما تا زمانی که ارتقای توزیع عملاً انجام شود، باید از --releasever 13.2 همراه با هر دستور zypper استفاده کنید. پس از پایان عملیات dup، مقدار $releasever به طور پیش‌فرض نسخه جدید توزیع 13.2 خواهد بود و دیگر به --releasever نیازی نیست.

تنظیم دائمی $releasever روی مقدار توزیع هدف می‌تواند زحمت کمتری داشته باشد تا اصلاً نیازی به --releasever نباشد. برای اطلاعات بیشتر درباره جایگزینی متغیرها و تعریف متغیرهای سفارشی، بخش Repository Management را ببینید.

یادداشت: اجرای ارتقای توزیع به طور خودکار یک مورد آزمایشی حل‌کننده در /var/log/updateTestcase-YYYY-MM-DD-hh-mm-ss (تاریخ و زمان اجرای دستور) ایجاد خواهد کرد.

یادداشت: ارتقای توزیع در openSUSE در حال حاضر فقط بین انتشارهای متوالی پشتیبانی می‌شود. برای ارتقا در میان چند انتشار، هر انتشار متوالی را یکی‌یکی ارتقا دهید. برای جزئیات بیشتر به نشانی http://en.opensuse.org/SDB:System_upgrade و یادداشت‌های انتشار openSUSE در نشانی http://doc.opensuse.org/release-notes. مراجعه فرمایید.

یادداشت: به دلیل نحوه برخورد با بسته‌های یتیم، dist-upgrade بیش از هر دستور دیگری به پیکربندی صحیح مخازن وابسته است. در صورتی که بازخوانی مخازن فعال ناموفق باشد، این دستور نباید ادامه یابد، زیرا این امر می‌تواند آسیب شدیدی به سیستم وارد کند. اگر مخزن دارای خطا در واقع مورد نیاز نیست، باید غیرفعال شود.

--from alias|name|#|URI

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

--remove-orphaned

حذف بسته‌های یتیم (orphaned). بسته‌های نصب‌شده‌ای که توسط حداقل یکی از مخازن موجود ارائه نشده باشند، به عنوان یتیم یا حذف‌شده (dropped) در نظر گرفته می‌شوند. در صورتی که بسته‌های یتیم مانع ارتقای بسته‌های مورد نظر شوند، dist-upgrade آن‌ها را حذف می‌کند. با این گزینه، تمام بسته‌های یتیم غیرضروری حذف می‌شوند.
'یادداشت:' بسته‌هایی که درون یک مخزن عرضه نشده‌اند - بسته‌های دست‌ساز یا بارگیری‌شده - را می‌توان در یک مخزن plaindir جمع‌آوری کرد تا از برخورد با آن‌ها به عنوان بسته یتیم جلوگیری شود. برای جزئیات، بخش *System Packages* را ببینید.

-r, --repo alias|name|#|URI

تنها با مخزن مشخص‌شده با نام مستعار (alias)، نام، شماره یا URI کار می‌کند.

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

-l, --auto-agree-with-licenses

پاسخ خودکار yes به اعلان تایید مجوزهای شخص ثالث. با استفاده از این گزینه، شما موافقت با مجوزهای تمام نرم‌افزارهای شخص ثالثی را که این دستور نصب خواهد کرد می‌پذیرید. این گزینه به ویژه برای مدیران سیستمی مفید است که مجموعه یکسانی از بسته‌ها را روی چندین ماشین (توسط یک فرآیند خودکار) نصب می‌کنند و مجوزها را از قبل تایید نموده‌اند.

--auto-agree-with-product-licenses

پذیرش خودکار فقط مجوزهای محصول. این گزینه توسط ابزارهایی مانند SUSEconnect استفاده می‌شود که پیش از ثبت محصول درخواست تایید می‌کنند؛ بنابراین نیازی به تایید مجدد مجوز محصول در زمان نصب نیست.

--replacefiles

نصب بسته‌ها حتی اگر فایل‌هایی از بسته‌های دیگر که قبلاً نصب شده‌اند را جایگزین کنند. حالت پیش‌فرض این است که تداخل فایل‌ها به عنوان یک خطا در نظر گرفته شود. گزینه --download-as-needed بررسی تداخل فایل‌ها را غیرفعال می‌کند، زیرا برای انجام این بررسی به دسترسی زودهنگام به فهرست فایل‌های همه بسته‌ها نیاز است.

-D, --dry-run

آزمایش ارتقا، بدون این‌که عملاً بسته‌ای نصب یا به‌روزرسانی شود. اگر همراه با --download-only استفاده شود، یک بررسی معنادار تداخل فایل‌ها می‌تواند انجام گیرد (بخش Package File Conflicts را ببینید).

-y, --no-confirm

عدم نیاز به تعامل با کاربر. توصیه می‌شود به جای این گزینه از گزینه عمومی --non-interactive استفاده کنید. گزینه‌های عمومی پیش از دستور درج می‌شوند (zypper --non-interactive COMMAND ...). برخلاف گزینه no-confirm این دستور، گزینه عمومی می‌تواند همراه با هر دستور zypper استفاده شود.

--details

نمایش خلاصه نصب به صورت باجزئیات.

گزینه‌های مربوط به حل‌کننده وابستگی‌ها (Solver related options):

--debug-solver

ایجاد مورد آزمایشی حل‌کننده برای اشکال‌زدایی. اگر فکر می‌کنید وابستگی‌ها به درستی حل نشده‌اند از این گزینه استفاده کنید. هنگام استفاده از این گزینه هیچ بسته‌ای نصب یا حذف نخواهد شد. در عوض یک مورد آزمایشی حل‌کننده در /var/log/zypper.solverTestCase نوشته می‌شود. می‌توانید این پوشه را فشرده کرده و به گزارش باگ خود پیوست کنید.

--force-resolution

مجبور کردن حل‌کننده به یافتن یک راهکار (حتی یک راهکار تهاجمی) به جای سوال پرسیدن از کاربر.

به منظور انجام کار درخواستی، حل‌کننده مجاز است هر خط‌مشی که در حالت عادی فعال است را نقض کند. این شامل مجوز حذف بسته‌ها و همچنین عدم رعایت خط‌مشی‌هایی است که صریحاً تنظیم شده‌اند (توسط --no-allow-policy یا در فایل‌های کانفیگ). استفاده از این گزینه در محیط‌های بدون نظارت توصیه نمی‌شود.

مجوز حذف بسته‌های وابسته، هنگام حذف بسته‌ها (zypper remove) رفتار پیش‌فرض است.

-R, --no-force-resolution

حل‌کننده را به یافتن راهکار مجبور نمی‌کند؛ بلکه مشکلات وابستگی را گزارش کرده و از کاربر می‌خواهد آن‌ها را به صورت دستی حل کند. این حالت پیش‌فرض است، مگر هنگام حذف بسته‌ها (zypper remove).

--solver-focus MODE

تنظیم رویکرد کلی حل‌کننده هنگام حل یک کار. حالت‌های معتبر عبارتند از Job، Installed یا Update. برای جزئیات، بخش Package Dependencies را ببینید.

--recommends

علاوه بر بسته‌های لازم (required)، بسته‌های توصیه‌شده (recommended) را نیز نصب می‌کند. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

--no-recommends

بسته‌های توصیه‌شده را نصب نمی‌کند، بلکه تنها بسته‌های لازم را نصب می‌نماید. رفتار پیش‌فرض توسط [zypp.conf:solver.onlyRequires] تعیین می‌شود.

گزینه‌های پیشرفته (Expert Options):

از آن‌ها استفاده نکنید مگر اینکه مطمئن باشید به آن‌ها نیاز دارید.

--allow-downgrade, --no-allow-downgrade

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

--allow-name-change, --no-allow-name-change

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

--allow-arch-change, --no-allow-arch-change

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

--allow-vendor-change, --no-allow-vendor-change

آیا تغییر ارائه‌دهنده مولفه‌های قابل‌حل نصب‌شده مجاز باشد یا خیر. تنظیم این گزینه روی no ممکن است زمانی مفید باشد که نمی‌خواهید بسته‌های مخازن خارجی به نسخه توزیع تغییر یابند (یا برعکس).

این دستور همچنین گزینه‌های حالت بارگیری و نصب (Download-and-install mode options) شرح داده شده در توضیحات دستور install را می‌پذیرد.

مثال‌ها (Examples):

$ zypper dup --from factory --from packman

ارتقای سیستم به آخرین نسخه‌های ارائه‌شده توسط مخازن factory و packman.

search (se) [options] [querystring|capability]...

جستجو برای بسته‌هایی که با هر یک از رشته‌های جستجوی ارائه‌شده مطابقت دارند. نویسه‌های جانشین (wildcard) * و ? می‌توانند درون رشته‌های جستجو استفاده شوند. اگر رشته جستجو درون / محصور شده باشد (مانند /^k.*e$/)، به عنوان یک عبارت باقاعده (regular expression) تفسیر می‌شود. برای جزئیات در مورد نحوه مشخص کردن یک قابلیت (capability)، دستور install را ببینید.

اگر رشته جستجو با یک / آغاز شود، نام یک فایل فرض می‌شود و جستجو به طور خودکار درون فهرست فایل‌های بسته‌ها را بررسی می‌کند. در غیر این صورت از -f استفاده کنید تا در فهرست فایل‌های بسته‌ها نیز جستجو شود.

نتایج جستجو در یک جدول با ستون‌های وضعیت (Status)، نام (Name)، خلاصه (Summary) و نوع (Type) بسته چاپ می‌شوند. در صورتی که نتیجه پرس‌وجو خالی باشد، zypper مقدار ZYPPER_EXIT_INF_CAP_NOT_FOUND را برمی‌گرداند، مگر اینکه گزینه سراسری --ignore-unknown تنظیم شده باشد.

در نمای پرجزئیات (se -s)، تمام نمونه‌های موجود از بسته‌های منطبق نشان داده می‌شوند؛ هر نسخه در هر مخزن در یک خط جداگانه، با ستون‌های وضعیت (Status)، نام (Name)، نوع (Type)، نسخه (Version)، معماری (Architecture) و مخزن (Repository). برای بسته‌های نصب‌شده، ستون Repository یا مخزنی را نشان می‌دهد که دقیقاً نسخه نصب‌شده بسته را ارائه می‌دهد، یا اگر نسخه دقیق توسط هیچ مخزن شناخته‌شده‌ای ارائه نشود، (System Packages) (یا @System) را نمایش می‌دهد. آن دسته از بسته‌های نصب‌شده که توسط هیچ مخزنی ارائه نمی‌شوند، اغلب به عنوان ناخواسته (unwanted)، یتیم (orphaned) یا کنارگذاشته‌شده (dropped) مشخص می‌شوند.

ستون وضعیت (Status) می‌تواند شامل مقادیر زیر باشد:

i+

نصب‌شده به درخواست کاربر

i

نصب‌شده به‌صورت خودکار (توسط حل‌کننده وابستگی، بخش بسته‌های به‌طور خودکار نصب‌شده (Automatically installed packages) را ببینید)

v

نسخه متفاوتی نصب شده است

empty

هیچ‌کدام از موارد بالا

!

یک وصله در وضعیت مورد نیاز (needed)

.l

اگر مورد قفل شده باشد در ستون ۲ نشان داده می‌شود (بخش مدیریت قفل‌های بسته (Package Locks Management) را ببینید)

.P

اگر مورد بخشی از یک PTF باشد (یک اصلاح موقت برنامه که باید به‌طور صریح انتخاب شود و در غیر این صورت در حل وابستگی در نظر گرفته نمی‌شود)، در ستون ۲ نمایش داده می‌شود.

.R

اگر مورد پس‌گرفته شده باشد (بخش patch در قسمت Package Types را ببینید)، در ستون ۲ نشان داده می‌شود.
وضعیت v فقط زمانی نشان داده می‌شود که نسخه یا مخزن اهمیت داشته باشد (گزینه‌های --details یا --repo را ببینید)، و نمونه نصب‌شده با نمونه فهرست‌شده از نظر نسخه یا مخزن متفاوت باشد.

نمای پرجزئیات (se -v؛ که متضمن -s است) همچنین خود موارد منطبق را درون متادیتای بسته‌ها نشان می‌دهد.

این دستور گزینه‌های زیر را می‌پذیرد:

--match-substrings

تطابق‌ها برای رشته‌های جستجو می‌توانند کلمات جزئی (زیررشته) باشند (پیش‌فرض).

--match-words

تطابق‌ها برای رشته‌های جستجو تنها می‌توانند کلمات کامل باشند.

-x, --match-exact

برای نام دقیق بسته جستجو می‌کند.

--provides

جستجو برای بسته‌هایی که رشته‌های جستجو را ارائه می‌دهند (provides).

--requires

جستجو برای بسته‌هایی که به رشته‌های جستجو نیاز دارند (requires).

--recommends

جستجو برای بسته‌هایی که رشته‌های جستجو را توصیه می‌کنند (recommends).

--suggests

جستجو برای بسته‌هایی که رشته‌های جستجو را پیشنهاد می‌دهند (suggests).

--conflicts

جستجو برای بسته‌هایی که با رشته‌های جستجو تضاد دارند (conflicts).

--obsoletes

جستجو برای بسته‌هایی که رشته‌های جستجو را منسوخ می‌کنند (obsoletes).

--supplements

جستجو برای بسته‌هایی که مکمل رشته‌های جستجو هستند (supplements).

--enhances

جستجو برای بسته‌هایی که رشته‌های جستجو را بهبود می‌بخشند (enhances).

--provides-pkg

جستجو برای تمام بسته‌هایی که هر یک از نیازمندی‌های ارائه‌شده (provides) توسط بسته(های) منطبق با پارامترهای ورودی را ارائه می‌دهند.

--requires-pkg

جستجو برای تمام بسته‌هایی که به هر یک از نیازمندی‌های ارائه‌شده (provides) توسط بسته(های) منطبق با پارامترهای ورودی نیاز دارند.

--recommends-pkg

جستجو برای تمام بسته‌هایی که هر یک از نیازمندی‌های ارائه‌شده (provides) توسط بسته(های) منطبق با پارامترهای ورودی را توصیه می‌کنند.

--supplements-pkg

جستجو برای تمام بسته‌هایی که مکمل هر یک از نیازمندی‌های ارائه‌شده (provides) توسط بسته(های) منطبق با پارامترهای ورودی هستند.

--conflicts-pkg

جستجو برای تمام بسته‌هایی که با هر یک از بسته(های) منطبق با پارامترهای ورودی تضاد دارند.

--obsoletes-pkg

جستجو برای تمام بسته‌هایی که هر یک از بسته(های) منطبق با پارامترهای ورودی را منسوخ می‌کنند.

--suggests-pkg

جستجو برای تمام بسته‌هایی که هر یک از نیازمندی‌های ارائه‌شده (provides) توسط بسته(های) منطبق با پارامترهای ورودی را پیشنهاد می‌دهند.

--enhances-pkg

جستجو برای تمام بسته‌هایی که هر یک از نیازمندی‌های ارائه‌شده (provides) توسط بسته(های) منطبق با پارامترهای ورودی را بهبود می‌بخشند.

-n, --name

همراه با گزینه‌های وابستگی کاربرد دارد، در غیر این صورت جستجو در نام بسته پیش‌فرض است.

-f, --file-list

جستجو در فهرست فایل‌های بسته‌ها. توجه داشته باشید که فهرست کامل فایل‌ها فقط برای بسته‌های نصب‌شده موجود است. برای بسته‌های راه دور فقط خلاصه‌ای از فهرست فایل‌های آن‌ها در متادیتا موجود است (فایل‌های حاوی /etc/، /bin/ یا /sbin/).

-d, --search-descriptions

جستجو در خلاصه‌ها و توضیحات نیز انجام شود.

-C, --case-sensitive

انجام جستجوی حساس به بزرگی و کوچکی حروف.

-i, --installed-only

نمایش فقط بسته‌های نصب‌شده.

-u, --not-installed-only

نمایش فقط بسته‌هایی که نصب نشده‌اند.

نام قدیمی گزینه --uninstalled-only همچنان قابل قبول است، اما باید منسوخ تلقی شود.

-t, --type type

جستجو فقط برای بسته‌هایی از نوع مشخص‌شده. برای مشاهده فهرست انواع بسته‌های موجود، بخش Package Types را ببینید. استفاده هم‌زمان از چندین گزینه --type مجاز است.

همچنین دستورات پرس‌وجوی ویژه هر نوع مانند packages، patterns و غیره را ببینید.

-r, --repo alias|name|#|URI

تنها با مخزن مشخص‌شده توسط نام مستعار، نام، شماره یا URI کار می‌کند. این گزینه می‌تواند چندین بار استفاده شود.

--sort-by-name

مرتب‌سازی بسته‌ها بر اساس نام (پیش‌فرض).

--sort-by-repo

مرتب‌سازی بسته‌ها بر اساس مخزن، نه بر اساس نام.

-s, --details

نمایش تمام نسخه‌های موجود از بسته‌های منطبق، هر نسخه در هر مخزن در یک خط جداگانه.

-v, --verbose

مانند --details همراه با اطلاعات اضافی درباره مکان‌هایی که جستجو در آن‌ها مطابقت یافته است (مفید هنگام جستجو برای وابستگی‌ها، مانند --provides).

مثال‌ها:

$ zypper se 'yast*'

جستجو برای بسته‌های YaST (رشته را در علامت نقل‌قول قرار دهید تا شل نویسه جانشین را بسط ندهد).

$ zypper se -s --match-exact kernel-default

نمایش تمامی نسخه‌های موجود بسته kernel-default

$ zypper se -dC --match-words RSI

جستجوی سرواژه RSI (به‌صورت حساس به حروف بزرگ و کوچک)، همچنین درون خلاصه‌ها و توضیحات.

packages (pa) [options] [repository]...

فهرست کردن تمام بسته‌های موجود یا تمام بسته‌های مخازن مشخص‌شده. مشابه zypper search -s -t package.

-r, --repo alias|name|#|URI

روش دیگری برای مشخص کردن مخازن.

-i, --installed-only

نمایش فقط بسته‌های نصب‌شده.

-u, --not-installed-only

نمایش فقط بسته‌هایی که نصب نشده‌اند.

نام قدیمی گزینه --uninstalled-only همچنان قابل قبول است، اما باید منسوخ تلقی شود.

*--autoinstalled

نمایش بسته‌های نصب‌شده‌ای که به‌طور خودکار توسط حل‌کننده وابستگی انتخاب شده‌اند.

--userinstalled

نمایش بسته‌های نصب‌شده‌ای که به‌طور صریح توسط کاربر انتخاب شده‌اند.

--system

نمایش بسته‌های نصب‌شده‌ای که توسط هیچ مخزنی ارائه نمی‌شوند.

--orphaned

نمایش بسته‌های سیستمی که یتیم (orphaned) هستند (بدون مخزن و بدون کاندیدای به‌روزرسانی). در صورت ترکیب با --system، وضعیت بسته‌های یتیم با برچسب (o) مشخص می‌شود.

--suggested

نمایش بسته‌هایی که پیشنهاد شده‌اند.

--recommended

نمایش بسته‌هایی که توصیه شده‌اند.

--unneeded

نمایش بسته‌هایی که غیرضروری هستند.

patches (pch) [options] [repository]...

فهرست کردن تمام وصله‌های موجود از مخازن مشخص‌شده، شامل مواردی که مورد نیاز نیستند. کوتاه‌شده‌ی zypper lp -a.

-r, --repo alias|name_|#|URI

روش دیگری برای مشخص کردن مخازن.

patterns (pt) [options] [repository]...

فهرست کردن تمام الگوهای موجود یا تمام الگوها از مخازن مشخص‌شده. مشابه zypper search -s -t pattern.

-r, --repo alias|name|#|URI

روش دیگری برای مشخص کردن مخازن.

-i, --installed-only

نمایش فقط الگوهای نصب‌شده.

-u, --not-installed-only

نمایش فقط الگوهایی که نصب نشده‌اند.

نام قدیمی گزینه --uninstalled-only همچنان قابل قبول است، اما باید منسوخ تلقی شود.

products (pd) [options] [repository]...

فهرست کردن تمام محصولات موجود یا تمام محصولات از مخازن مشخص‌شده. مشابه zypper search -s -t product، اما نوع محصول (base، add-on) را نیز نشان می‌دهد.

-r, --repo alias|name|#|URI

روش دیگری برای مشخص کردن مخازن.

-i, --installed-only

نمایش فقط محصولات نصب‌شده.

-u, --not-installed-only

نمایش فقط محصولاتی که نصب نشده‌اند.

نام قدیمی گزینه --uninstalled-only همچنان قابل قبول است، اما باید منسوخ تلقی شود.

--xmlfwd tag

تنها در خروجی XML: تگ XML با نام tag را، در صورتی که در فایل prod.- یک محصول نصب‌شده (در /etc/products.d) یافت شود، دقیقاً به خروجی فوروارد می‌کند.

با استفاده از این گزینه، برای هر محصول نصب‌شده یک گره <xmlfwd> در داخل گره خروجی <product> آن محصول ایجاد می‌شود.

آرگومان Tag نام (یا مسیر جداشده با /) یک تگ xml درون فایل prod.- محصول نصب‌شده را مشخص می‌کند. اگر این تگ درون فایل prod.- محصول وجود داشته باشد، تگ و محتوای آن دقیقاً به گره خروجی <xmlfwd> محصول هدایت می‌شود.

این گزینه می‌تواند چندین بار مشخص شود.

مثال‌ها:

$ zypper -x pd --xmlfwd name --xmlfwd register/target

what-provides (wp) capability

فهرست کردن تمام بسته‌های ارائه‌دهنده قابلیت مشخص‌شده (جستجوی غیرحساس به حروف بزرگ و کوچک). همچنین برای اطلاعات درباره تعیین قابلیت‌ها دستور install را ببینید.

خط فرمان به‌طور خودکار به دستور متناظر search تبدیل می‌شود:

$ zypper what-provides 'zypper>1.6'

$ zypper search --provides --match-exact 'zypper>1.6'

برای یک جستجوی حساس به بزرگی و کوچکی حروف، اجرا کنید:

$ zypper search --provides --match-exact --case-sensitive 'zypper>1.6'

زیپر قادر به کار با مخازن نرم‌افزاری YaST، RPM-MD (yum) و پوشه‌های ساده حاوی فایل‌های rpm. (بدون پیوند نمادین) است.

مخازن در درجه اول با استفاده از URI یا نام مستعار (alias) خود شناسایی می‌شوند. نام مستعار به عنوان نامی کوتاه برای URI طولانی یا نام مخزن عمل می‌کند. نام (name) مخزن باید مخزن را به‌طور خلاصه توصیف کند و در جدول‌ها و پیام‌ها به کاربر نشان داده می‌شود. نام الزامی نیست و اگر مشخص نشده باشد، نام مستعار به‌جای آن نشان داده می‌شود. نام مستعار الزامی است و مخزن را به‌طور یکتا روی سیستم شناسایی می‌کند.

می‌توان از نام مستعار (alias)، نام (name)، URI، یا شماره (number) برگرفته از فهرست zypper repos برای مشخص کردن یک مخزن به عنوان آرگومان دستورات و گزینه‌های مختلف زیپر مانند refresh، --repo، یا --from استفاده کرد.

جدا از موارد بالا، مخازن چندین ویژگی دیگر دارند که می‌توان آن‌ها را با استفاده از دستورات شرح‌داده‌شده در این بخش زیر تنظیم کرد، یا با ویرایش دستی فایل‌های تعریف مخزن (فایل‌های .repo، بخش فایل‌ها (FILES) را ببینید).

می‌توانید از متغیرهای زیر درون مقادیر name و URI در فایل‌های .repo یا .service استفاده کنید:

$arch

از این متغیر برای اشاره به معماری CPU سیستم استفاده کنید.

$basearch

از این متغیر برای اشاره به معماری پایه سیستم استفاده کنید. به عنوان مثال، سیستم‌های iX86 دارای معماری پایه i386 هستند، در حالی که AMD64 و Intel64 دارای x86_64 هستند.

$releasever, $releasever_major, $releasever_minor

از این متغیر برای اشاره به نسخه openSUSE یا SUSE Linux خود استفاده کنید. این مقدار از گره XML مربوط به /product/version در /etc/products.d/baseproduct به دست می‌آید.

این ویژگی برای مخازن مرتبط مانند پک‌من (http://ftp.gwdg.de/pub/linux/packman/suse/$releasever) مفید است که باید همیشه با توزیع نصب‌شده سازگار باشند، حتی پس از ارتقای توزیع.

برای تسهیل انجام ارتقای توزیع، مقدار $releasever را می‌توان با ایجاد یک متغیر سفارشی با همین نام (در زیر ببینید) به‌طور دائمی روی یک مقدار تعریف‌شده توسط کاربر تنظیم کرد. به این ترتیب می‌توانید به راحتی همه مخازن استفاده‌کننده از $releasever را به نسخه جدید منتقل کنید (به شرطی که ساختار سرور تغییر نکرده باشد و مخازن جدید از قبل در دسترس باشند).

برای یک دستور تکی زیپر، مقدار $releasever را می‌توان با استفاده از گزینه سراسری --releasever به‌طور موقت رونویسی کرد.

علاوه بر این، $releasever_major روی بخش ابتدایی تا نقطه اول (بدون احتساب خود نقطه) تنظیم می‌شود؛ و $releasever_minor روی بخش انتهایی پس از نقطه اول تنظیم خواهد شد. اگر نقطه‌ای در $releasever وجود نداشته باشد، $releasever_major با $releasever برابر خواهد بود و $releasever_minor خالی می‌ماند.

متغیرهای سفارشی (Custom Variables)

یک متغیر سفارشی مخزن با ایجاد یک فایل در /etc/zypp/vars.d تعریف می‌شود. نام متغیر برابر با نام فایل است. خط اول فایل (تا قبل از نویسه خط جدید) مقدار متغیر را تعیین می‌کند. نام‌های معتبر برای متغیر (فایل) فقط شامل حروف و ارقام و زیرخط هستند.

به این صورت می‌توانید یک متغیر سفارشی، مثلاً $releasever را روی مقدار 99.0 تنظیم کنید:

echo "99.0" >/etc/zypp/vars.d/releasever

برای حذف متغیر سفارشی، به سادگی فایل آن را در /etc/zypp/vars.d حذف کنید:

rm /etc/zypp/vars.d/releasever

برای بررسی جاهایی که در حال حاضر از $releasever استفاده می‌کنید، اجرا کنید:

zypper --releasever @--HERE--@ lr -u

به یاد داشته باشید که هنگام استفاده از این متغیرها در خط فرمان شل، کاراکتر $ را محافظت (escape) کنید:

zypper ar -f http://ftp.gwdg.de/pub/linux/packman/suse/\$releasever packman

اگر پس از یک متغیر نویسه‌ای الفبانومریک یا زیرخط بیاید، باید در {} محصور شود:

zypper ar -f http://ftp.gwdg.de/pub/linux/packman/suse/\${releasever}_packman

تعریف مقدار پیش‌فرض ${variable:-word} و جایگزین ${variable:+word} به سبک بش:

SLE-${releasever_major}${releasever_minor:+-SP-$releasever_minor}

نکته:

جایگزینی متغیر در بخش authority یک URI تنها به host و port محدود می‌شود. تعریف مقادیر پیش‌فرض و جایگزین به سبک بش پشتیبانی نمی‌شود. در بخش‌های scheme، user و password یک URI نمی‌توان از متغیرها استفاده کرد.

scheme:@]host[:port]]/path[?query][#fragment]

نویسه‌های خاص موجود در مؤلفه‌های URI (مانند یک '@' در گذرواژه) باید به‌صورت کدگذاری درصدی %-encoded (مانند '%40') نوشته شوند.

درایو CD یا DVD

به‌طور اختیاری همراه با فهرست devices برای بررسی و شناسایی.
•cd:///
dvd:/subdir?devices=/dev/sr0,/dev/sr1

درخت پوشه FTP/HTTP/HTTPS

طرحواره نشانی وب ftp از مسیرهای مطلق و نسبی نسبت به پوشه پیش‌فرض سرور ftp پشتیبانی می‌کند (RFC1738، بخش 3.2.2). برای استفاده از یک مسیر مطلق، باید در ابتدای مسیر یک اسلش اضافی قرار دهید، که منجر به ترکیب /%2f (اسلش دوم کدگذاری‌شده به صورت %2f) در ابتدای مسیر URL می‌شود. این امر به‌ویژه در ftp با احراز هویت کاربر اهمیت دارد، جایی که پوشه خانگی کاربر معمولاً پوشه پیش‌فرض سرور است (مگر زمانی که سرور در پوشه خانگی کاربر chroot کند).

تنظیمات صریح پروکسی را می‌توان از طریق پارامترهای اختیاری proxy، proxyport، proxyuser و proxypass ارسال کرد.

روش‌های احراز هویت HTTP قابل استفاده را می‌توان به عنوان یک فهرست جداشده با کاما از طریق پارامتر اختیاری auth تعیین کرد. روش‌های معتبر به عنوان مثال شامل basic، digest، ntlm، negotiate هستند. توجه داشته باشید که این فهرست به روش‌های پشتیبانی‌شده توسط کتابخانه curl وابسته است.

رفتار اعتبارسنجی SSL را می‌توان با استفاده از گزینه ssl_verify تغییر داد (از این گزینه باید با احتیاط استفاده شود). مقادیر معتبر عبارتند از yes (پیش‌فرض امن)، host، peer یا no. مقدار Host فقط بررسی می‌کند که فیلد "Common Name" یا فیلد "Subject Alternate Name" در گواهی سرور با نام میزبان موجود در URL مطابقت داشته باشد. مقدار Peer فقط اصالت گواهی ارائه‌شده توسط سرور را در برابر زنجیره امضاهای دیجیتال موجود در ssl_capath تایید می‌کند. مقدار No هیچ بررسی انجام نمی‌دهد. مقدار Yes پیش‌فرض امن است که بررسی‌های host و peer را با هم انجام می‌دهد.

برای احراز هویت با گواهی کلاینت SSL، از گزینه‌های ssl_clientcert برای مشخص کردن مسیر گواهی کلاینت ssl و ssl_clientkey برای مشخص کردن مسیر کلید کلاینت SSL استفاده کنید. از ssl_capath برای تغییر پوشه حاوی گواهی‌های CA استفاده کنید (پیش‌فرض /etc/ssl/certs است).

•ftp://user:pass@server/path/to/media/dir
ftp://user:pass@server/%2fhome/user/path/to/media/dir
http://user:pass@server/path
https://user:pass@server/path?proxy=foo&proxyuser=me&proxypass=pw
https://server/path?ssl_clientcert=/entitlement/1234.pem&ssl_clientkey=/entitlement/1234-key.pem

حجم دیسک (پارتیشن)

پارامتر اجباری device نام دستگاه بلوکی را برای سوار کردن (mount) مشخص می‌کند. نام اختیاری filesystem به طور پیش‌فرض "auto" است.
•hd:/subdir?device=/dev/sda1&filesystem=reiserfs

درخت پوشه محلی

•dir:/directory/name

رسانه در یک تصویر ISO (سوارشده به‌صورت loopback)

پارامتر اجباری iso نام فایل iso را مشخص می‌کند. پارامتر اختیاری url نشانی URL پوشه حاوی فایل iso را مشخص می‌کند. پارامتر اختیاری mnt نقطه اتصال ترجیحی را برای نشانی منبع رسانه مشخص می‌کند. نام اختیاری filesystem سیستم‌فایل استفاده‌شده در فایل iso را مشخص می‌کند و به طور پیش‌فرض "auto" است.
•iso:/?iso=CD1.iso&url=nfs://server/path/to/media
iso:/?iso=CD1.iso&url=hd:/?device=/dev/hda
iso:/subdir?iso=DVD1.iso&url=nfs://nfs-server/directory&mnt=/nfs/attach/point&filesystem=udf

درخت پوشه به اشتراک گذاشته‌شده با NFS

برای استفاده از NFSv4 یا از طرحواره tnfsv4:// استفاده کنید یا پارامتر اختیاری type=nfs4 را پاس دهید. گزینه‌های اضافی سوار کردن (mountoptions) را می‌توان به صورت یک فهرست جداشده با کاما ارسال کرد. مقدار پیش‌فرض "ro" (فقط‌خواندنی) است.
•nfs://nfs-server/exported/path
nfs://nfs-server/exported/path?mountoptions=ro&type=nfs4
nfs4://nfs-server/exported/path?mountoptions=ro

درخت پوشه CIFS/SMB

دیگر تفاوتی میان طرحواره cifs و smb وجود ندارد. در هر دو حالت از سیستم‌فایل cifs استفاده می‌شود. گزینه‌های اضافی سوار کردن (mountoptions) را می‌توان به صورت یک فهرست جداشده با کاما ارسال کرد. مقدار پیش‌فرض "ro,guest" است. برای غیرفعال کردن "guest" مقدار "noguest" را مشخص کنید. این کار زمانی ضروری است که Samba طوری پیکربندی شده باشد که اتصالات مهمان را رد کند.

پارامتر اختیاری workgroup یا domain نام workgroup را مشخص می‌کند. به عنوان جایگزینی برای ارسال username:password در بخش authority نشانی URI، می‌توان از پارامترهای user و pass استفاده کرد.

•smb://servername/share/path/on/the/share
cifs://usern:passw@servername/share/path/on/the/share?mountoptions=ro,noguest
cifs://usern:passw@servername/share/path/on/the/share?workgroup=mygroup
cifs://servername/share/path/on/the/share?user=usern&pass=passw

مخازن سرویس ساخت اوپن‌سوزه (OBS - OpenSUSE Build Service)

زیپر همچنین URIهای ویژه‌ای را که مخازن سرویس ساخت اوپن‌سوزه (OBS) را مشخص می‌کنند در دستور addrepo می‌پذیرد. این URIها به شکل obs://project/[platform] هستند، که در آن project نام پروژه OBS و platform پلتفرم مقصد (سیستم‌عامل) است که مخزن برای آن در نظر گرفته شده است.

اگر platform حذف شود، از openSUSE_$releasever استفاده می‌شود مگر اینکه مقداری برای obs.platform در zypper.conf تعریف شده باشد. اگر از openSUSE_Factory یا openSUSE_Tumbleweed پیروی می‌کنید، ممکن است لازم باشد این‌ها را به عنوان پلتفرم پیش‌فرض خود تنظیم کنید. اما ما فقط می‌توانیم حدس بزنیم که پوشه حاوی مخزن متناسب با توزیع شما روی سرور چگونه نام‌گذاری شده است. در صورت شک، باید URL مناسب را در یک مرورگر بررسی کنید.

•obs://zypp:Head/
obs://zypp:Head/openSUSE_Factory
obs://zypp:Head/openSUSE_Factory_Staging_Gcc49_standard

addrepo (ar) [options] URI alias

addrepo (ar) [options] FILE*.repo*

یک مخزن جدید مشخص‌شده توسط URI اضافه می‌کند و نام مستعار مشخص‌شده را به آن اختصاص می‌دهد، یا URI یک فایل .repo را مشخص می‌کند.

مخازن تازه‌افزوده‌شده به صورت پیش‌فرض بازخوانی خودکار (auto-refresh) غیرفعال دارند (به جز مخازنی که از یک فایل .repo درون‌ریزی شده‌اند که بازخوانی خودکار در آن‌ها فعال است). برای فعال‌سازی بازخوانی خودکار از addrepo -f یا گزینه --refresh دستور modifyrepo استفاده کنید.

همچنین این دستور مخازن تازه‌افزوده‌شده را به طور خودکار بازخوانی نمی‌کند. مخازن در اولین باری که استفاده شوند بازخوانی خواهند شد، یا می‌توانید پس از پایان تغییرات خود با دستورات *repo، از دستور refresh استفاده کنید.

-r, --repo file.repo

خواندن URI و نام مستعار از فایل .repo مشخص‌شده

-c, --check

بررسی و سنجش URI داده‌شده.

-C, --no-check

عدم بررسی URI؛ سنجش بعداً در زمان بازخوانی انجام می‌شود.

-n, --name name

تعیین نام توصیفی برای مخزن.

-e, --enable

فعال‌سازی مخزن (پیش‌فرض).

-d, --disable

افزودن مخزن به صورت غیرفعال. مخازن به صورت پیش‌فرض فعال اضافه می‌شوند.

-f, --refresh

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

-F, --no-refresh

غیرفعال‌سازی بازخوانی خودکار مخزن.

-p, --priority [1-2147483647]|0

تنظیم اولویت مخزن. اولویت 1 بالاترین و 2147483647 پایین‌ترین است. -p 0 اولویت را به مقدار پیش‌فرض (99) بازمی‌گرداند. بسته‌های حاصل از مخازن با اولویت بالاتر استفاده خواهند شد، حتی اگر نسخه‌های بهتری در مخزنی با اولویت پایین‌تر موجود باشند.

-k, --keep-packages

فعال‌سازی حافظه موقت (کش) فایل‌های RPM برای مخزن.

-K, --no-keep-packages

غیرفعال‌سازی حافظه موقت (کش) فایل‌های RPM.

-g, --gpgcheck

فعال‌سازی بررسی GPG برای این مخزن. رفتار آن در بخش GPG checks شرح داده شده است.

--gpgcheck-strict

فعال‌سازی بررسی سخت‌گیرانه GPG برای این مخزن. حتی بسته‌های حاصل از مخازن امضاشده نیز نیازمند امضای GPG معتبر هستند و استفاده از بسته‌های امضانشده باید تأیید شود.

--gpgcheck-allow-unsigned

حالت خلاصه برای --gpgcheck-allow-unsigned-repo --gpgcheck-allow-unsigned-package

--gpgcheck-allow-unsigned-repo

فعال‌سازی بررسی GPG اما اجازه دادن به امضانشده بودن متاداده‌های مخزن.

--gpgcheck-allow-unsigned-package

فعال‌سازی بررسی GPG اما اجازه دادن به نصب بسته‌های امضانشده از این مخزن.

-G, --no-gpgcheck

غیرفعال‌سازی بررسی GPG برای این مخزن.

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

--default-gpgcheck

استفاده از تنظیمات سراسری بررسی GPG تعریف‌شده در /etc/zypp/zypp.conf. این مقدار پیش‌فرض است.

مگر اینکه تنظیمات zypp.conf خود را تغییر داده باشید، این همان --gpgcheck است که رفتار آن در بخش GPG checks توصیف شده است.

مثال‌ها:

$ zypper ar -c -n 'Packman 11.1 repo' http://packman.iu-bremen.de/suse/11.1 packman

یک مخزن HTTP اضافه می‌کند، آن را می‌سنجد، نام آن را Packman 11.1 repo می‌گذارد و از packman به عنوان نام مستعار استفاده می‌کند.

$ zypper ar https://download.opensuse.org/repositories/zypp:/svn/openSUSE_Factory/zypp:svn.repo

$ zypper ar myreposbackup.repo

افزودن مخازن از یک فایل .repo.

removerepo (rr) [options] alias|name|#|URI...

حذف مخازن مشخص‌شده توسط نام‌های مستعار، نام‌ها، شماره‌ها، URIها یا یکی از گزینه‌های جمعی (aggregate).

--loose-auth

نادیده گرفتن داده‌های احراز هویت کاربر در URI

--loose-query

نادیده گرفتن رشته پرس‌وجو (query string) در URI

-a, --all

اعمال تغییرات روی همه مخازن.

-l, --local

اعمال تغییرات روی همه مخازن محلی.

-t, --remote

اعمال تغییرات روی همه مخازن دوردست (http/https/ftp).

-m, --medium-type type

اعمال تغییرات روی مخازن از نوع مشخص‌شده. این نوع با شناسه طرح‌واره (scheme) URI مخزن مانند http، dvd و غیره مطابقت دارد. می‌توانید فهرست کامل انواع معتبر را در http://en.opensuse.org/openSUSE:Libzypp_URIs.

repos (lr) [options] [repo]...

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

داده‌های زیر می‌توانند برای هر مخزن یافت‌شده در سیستم چاپ شوند: # (شماره مخزن)، Alias (شناسه یکتا)، Name (نام)، Enabled (آیا مخزن فعال است یا خیر)، GPG Check (آیا بررسی GPG برای متاداده مخزن (r) یا بسته‌های rpm بارگیری‌شده (p) فعال است یا خیر)، Refresh (آیا بازخوانی خودکار برای مخزن فعال است یا خیر)، Priority (اولویت)، Type (نوع متاداده مخزن: rpm-md، yast2، plaindir). اینکه کدام داده‌ها نمایش داده شوند توسط گزینه‌های خط فرمان فهرست‌شده در زیر و تنظیم main.repoListColumns در zypper.conf تعیین می‌شود. به طور پیش‌فرض، #، Alias، Name، Enabled، GPG Check و Refresh نمایش داده می‌شوند.

شماره مخزن یک شناسه یکتا از مخزن در مجموعه فعلی مخازن است. اگر مخزنی را اضافه، حذف یا تغییر دهید، ممکن است شماره‌ها تغییر کنند. هنگام استفاده از شماره‌ها همراه با دستورات مدیریت مخزن، این نکته را در نظر داشته باشید. از سوی دیگر، استفاده از نام مستعار به جای شماره همواره ایمن است.

برای نمایش اطلاعات تفصیلی درباره مخازن خاص، آن‌ها را به عنوان آرگومان مشخص کنید، چه با نام مستعار، نام، شماره حاصل از zypper lr ساده، یا با URI؛ مانند zypper lr factory یا zypper lr 2.

-e, --export FILE.repo|-

این گزینه باعث می‌شود zypper تعریف تمام مخازن تعریف‌شده را در قالب فایل repo درون یک فایل واحد بنویسد. اگر به جای نام فایل، - مشخص شود، مخازن در خروجی استاندارد نوشته خواهند شد.

-a, --alias

افزودن ستون نام مستعار (alias) به خروجی.

-n, --name

افزودن ستون نام به خروجی.

-u, --uri

افزودن ستون پایه URI به خروجی.

-p, --priority

افزودن ستون اولویت مخزن به خروجی.

-r, --refresh

افزودن ستون بازخوانی خودکار به خروجی.

-k, --keep-packages

افزودن ستون keep-packages به خروجی. این ستون اگر keep-packages صریحاً برای این مخزن فعال شده باشد، مقدار Yes را نشان می‌دهد. در غیر این صورت، در صورتی که فایل .keep_packages در دایرکتوری pkg-cache وجود داشته باشد، مقدار - یا + نمایش داده می‌شود (بخش FILES را ببینید).

-d, --details

نمایش اطلاعات بیشتر مانند URI، اولویت، نوع و غیره.

-E, --show-enabled-only

فقط مخازن فعال را نمایش می‌دهد.

-U, --sort-by-uri

افزودن ستون پایه URI و مرتب‌سازی فهرست بر اساس آن.

-P, --sort-by-priority

افزودن ستون اولویت مخزن و مرتب‌سازی فهرست بر اساس آن.

-A, --sort-by-alias

مرتب‌سازی فهرست بر اساس نام مستعار.

-N, --sort-by-name

مرتب‌سازی فهرست بر اساس نام.

مثال‌ها:

$ zypper repos -e myreposbackup.repo

پشتیبان‌گیری از پیکربندی مخازن خود:

$ zypper lr -pu

فهرست کردن مخازن به همراه URIها و اولویت‌های آن‌ها:

renamerepo (nr) alias|name|#|URI new-alias

اختصاص نام مستعار جدید به مخزن مشخص‌شده توسط نام مستعار، نام، شماره یا URI.

مثال‌ها:

$ zypper nr 8 myrepo

تغییر نام مخزن شماره ۸ به myrepo (مفید در مواقعی که مخزن دارای نام مستعار نامناسبی است که در خط فرمان به راحتی قابل استفاده نیست).

modifyrepo (mr) options alias|name|#|URI...

modifyrepo (mr) options --all|--remote|--local|--medium-type

تغییر ویژگی‌های مخازن مشخص‌شده توسط نام مستعار، نام، شماره یا URI یا یکی از گزینه‌های جمعی (aggregate).

-n, --name name

تنظیم نام توصیفی برای مخزن.

-e, --enable

فعال‌سازی مخزن.

-d, --disable

غیرفعال‌سازی مخزن.

-f, --refresh (legacy: -r)

فعال‌سازی بازخوانی خودکار برای مخزن.

-F, --no-refresh (legacy: -R)

غیرفعال‌سازی بازخوانی خودکار برای مخزن.

-p, --priority [1-2147483647]|0

تنظیم اولویت مخزن. اولویت 1 بالاترین و 2147483647 پایین‌ترین است. -p 0 اولویت را به مقدار پیش‌فرض (99) بازمی‌گرداند. بسته‌های حاصل از مخازن با اولویت بالاتر استفاده خواهند شد، حتی اگر نسخه‌های بهتری در مخزنی با اولویت پایین‌تر موجود باشند.

-k, --keep-packages

فعال‌سازی حافظه موقت (کش) فایل‌های RPM.

-K, --no-keep-packages

غیرفعال‌سازی حافظه موقت (کش) فایل‌های RPM.

-g, --gpgcheck

فعال‌سازی بررسی GPG برای این مخزن. رفتار آن در بخش GPG checks شرح داده شده است.

--gpgcheck-strict

فعال‌سازی بررسی سخت‌گیرانه GPG برای این مخزن. حتی بسته‌های حاصل از مخازن امضاشده نیز نیازمند امضای GPG معتبر هستند و استفاده از بسته‌های امضانشده باید تأیید شود.

--gpgcheck-allow-unsigned

حالت خلاصه برای --gpgcheck-allow-unsigned-repo --gpgcheck-allow-unsigned-package

--gpgcheck-allow-unsigned-repo

فعال‌سازی بررسی GPG اما اجازه دادن به امضانشده بودن متاداده‌های مخزن.

--gpgcheck-allow-unsigned-package

فعال‌سازی بررسی GPG اما اجازه دادن به نصب بسته‌های امضانشده از این مخزن.

-G, --no-gpgcheck

غیرفعال‌سازی بررسی GPG برای این مخزن.

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

--default-gpgcheck

استفاده از تنظیمات سراسری بررسی GPG تعریف‌شده در /etc/zypp/zypp.conf. این مقدار پیش‌فرض است.

مگر اینکه تنظیمات zypp.conf خود را تغییر داده باشید، این همان --gpgcheck است که رفتار آن در بخش GPG checks توصیف شده است.

-a, --all

اعمال تغییرات روی همه مخازن.

-l, --local

اعمال تغییرات روی همه مخازن محلی.

-t, --remote

اعمال تغییرات روی همه مخازن دوردست (http/https/ftp).

-m, --medium-type type

اعمال تغییرات روی مخازن از نوع مشخص‌شده. این نوع با شناسه طرح‌واره (scheme) URI مخزن مانند http، dvd و غیره مطابقت دارد. می‌توانید فهرست کامل انواع معتبر را در http://en.opensuse.org/openSUSE:Libzypp_URIs.

مثال‌ها:

$ zypper mr -kt

فعال‌سازی نگهداری بسته‌ها برای همه مخازن دوردست.

$ zypper mr -er updates

فعال‌سازی مخزن updates و روشن کردن بازخوانی خودکار برای آن مخزن.

$ zypper mr -da

غیرفعال‌سازی همه مخازن.

refresh (ref) [alias|name|#|URI]...

بازخوانی مخازن مشخص‌شده با نام مستعار، نام، شماره یا URI. اگر هیچ مخزنی مشخص نشود، همه مخازن فعال بازخوانی خواهند شد.

-f, --force

اجبار به بازخوانی کامل مخازن مشخص‌شده. این گزینه باعث می‌شود بارگیری متاداده خام و تجزیه متاداده هر دو اجباری شوند، حتی اگر همه شواهد نشان دهند نیازی به بازخوانی نیست.

-b, --force-build

فقط تجزیه مجدد متاداده‌های کش‌شده و بازسازی پایگاه‌داده را اجباری می‌کند. بارگیری متاداده خام اجباری نخواهد شد.

-d, --force-download

فقط بارگیری نسخه جاری متاداده مخزن را اجباری می‌کند. تجزیه و بازسازی پایگاه‌داده اجباری نخواهد شد.

-B, --build-only

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

-D, --download-only

فقط بارگیری متاداده خام انجام شود و تجزیه آن یا ساخت پایگاه‌داده صورت نگیرد.

--include-all-archs

مخازن چندمعماری (Multi-Arch): بارگیری متاداده خام برای تمام معماری‌های ارائه‌شده حتی اگر مخزن از فیلتر کردن پشتیبانی کند. در غیر این صورت، تنها متاداده معماری‌های سازگار با سیستم محلی بارگیری خواهد شد. شما به این گزینه نیازی ندارید مگر اینکه بخواهید zypper متاداده کامل را به منظور آینه‌سازی (mirroring) مخزن فراهم کند.

-s, --services

سرویس‌ها نیز قبل از بازخوانی مخازن، بازخوانی شوند.

clean (cc) [options] [alias|name|#|URI]...

پاکسازی حافظه‌های موقت (کش‌های) محلی برای تمام مخازن شناخته‌شده یا مشخص‌شده. به صورت پیش‌فرض، فقط کش بسته‌های بارگیری‌شده پاکسازی می‌شود.

-m, --metadata

پاکسازی کش متاداده‌های مخزن به جای کش بسته‌ها.

-M, --raw-metadata

پاکسازی کش متاداده‌های خام مخزن به جای کش بسته‌ها.

-a, --all

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

دستورات services، addservice، removeservice، modifyservice و refresh-services برای مدیریت و دستکاری سرویس‌ها به کار می‌روند. یک سرویس توسط URI خود مشخص می‌شود و باید یک نام مستعار یکتا (در بین هم سرویس‌ها و هم مخازن) برای آن تعریف شده باشد.

با مخازن مستقل (که متعلق به هیچ سرویسی نیستند) نیز مانند سرویس‌ها رفتار می‌شود. دستور ls آن‌ها را فهرست می‌کند، دستور ms آن‌ها را تغییر می‌دهد و غیره. البته گزینه‌های مختص مخزن، مانند --keep-packages در اینجا در دسترس نیستند. برای دستکاری آن‌ها می‌توانید از دستورات مدیریت مخزن استفاده کنید.

addservice (as) [options] URI alias

سرویس مشخص‌شده با URI را به سیستم اضافه می‌کند. نام مستعار (alias) باید یکتا باشد و برای شناسایی سرویس به کار می‌رود. اگر سرویسی با نام مستعار و URI یکسان از قبل وجود داشته باشد، این دستور مانند modifyservice عمل کرده و تنظیمات را مطابق با آن به‌روزرسانی می‌کند.

سرویس‌های تازه‌افزوده‌شده به طور خودکار بازخوانی نمی‌شوند. برای بازخوانی آن‌ها از دستور refresh-services استفاده کنید. زیپر هنگام افزودن سرویس به URI سرویس دسترسی پیدا نمی‌کند، بنابراین نوع سرویس تا زمانی که بازخوانی نشود، نامشخص خواهد بود.

-n, --name name

تعیین نام توصیفی برای سرویس.

-e, --enable

فعال‌سازی سرویس (این حالت پیش‌فرض است).

-d, --disable

افزودن سرویس به صورت غیرفعال.

-f, --refresh

فعال‌سازی بازخوانی خودکار سرویس.

-F, --no-refresh

غیرفعال‌سازی بازخوانی خودکار سرویس.

removeservice (rs) [options] alias|name|#|URI...

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

--loose-auth

نادیده گرفتن داده‌های احراز هویت کاربر در URI.

--loose-query

نادیده گرفتن رشته پرس‌وجو (query string) در URI.

modifyservice (ms) options alias|name|#|URI

modifyservice (ms) options --all|--remote|--local|--medium-type

تغییر ویژگی‌های سرویس‌های مشخص‌شده.

گزینه‌های عمومی (Common Options)

این گزینه‌ها بین تمام انواع سرویس‌ها و مخازن مشترک هستند.

-n, --name name

تنظیم نام توصیفی برای سرویس.

-e, --enable

فعال‌سازی یک سرویس غیرفعال.

-d, --disable

غیرفعال‌سازی سرویس (اما آن را حذف نمی‌کند).

-f, --refresh (legacy: -r)

فعال‌سازی بازخوانی خودکار سرویس.

-F, --no-refresh (legacy: -R)

غیرفعال‌سازی بازخوانی خودکار سرویس.

-a, --all

اعمال تغییرات روی همه سرویس‌ها.

-l, --local

اعمال تغییرات روی همه سرویس‌های محلی.

-t, --remote

اعمال تغییرات روی همه سرویس‌های دوردست.

-m, --medium-type type

اعمال تغییرات روی سرویس‌های از نوع مشخص‌شده.

گزینه‌های خاص سرویس RIS (RIS Service Specific Options)

این گزینه‌ها توسط سرویس‌هایی به جز سرویس‌های نمایه‌سازی مخزن (Repository Index Services) نادیده گرفته می‌شوند.

-i, --ar-to-enable alias

زمان‌بندی فعال‌سازی یک مخزن سرویس RIS در بازخوانی بعدی سرویس.

-I, --ar-to-disable alias

زمان‌بندی غیرفعال‌سازی یک مخزن سرویس RIS در بازخوانی بعدی سرویس.

-j, --rr-to-enable alias

حذف یک مخزن سرویس RIS از فهرست فعال‌سازی.

-J, --rr-to-disable alias

حذف یک مخزن سرویس RIS از فهرست غیرفعال‌سازی.

-k, --cl-to-enable

پاک کردن فهرست مخازن RIS تعیین‌شده برای فعال‌سازی.

-K, --cl-to-disable

پاک کردن فهرست مخازن RIS تعیین‌شده برای غیرفعال‌سازی.

services (ls) [options]

فهرست کردن سرویس‌های تعریف‌شده در سیستم.

-u, --uri

نمایش URI پایه مخازن نیز در خروجی.

-p, --priority

نمایش اولویت مخزن نیز در خروجی.

-d, --details

نمایش اطلاعات بیشتر مانند URI، اولویت، نوع.

-r, --with-repos

نمایش مخازن متعلق به سرویس‌ها نیز در خروجی.

-P, --sort-by-priority

مرتب‌سازی فهرست بر اساس اولویت مخزن.

-E, --show-enabled-only

فقط سرویس‌های فعال را نمایش می‌دهد. اگر همراه با --with-repos استفاده شود، سرویس‌های غیرفعالی که مخازن فعال (به صورت دستی) دارند نیز نمایش داده می‌شوند.

-U, --sort-by-uri

مرتب‌سازی فهرست بر اساس URI.

-N, --sort-by-name

مرتب‌سازی فهرست بر اساس نام.

refresh-services (refs) [options] alias|name|#|URI...

بازخوانی یک سرویس به معنای اجرای وظیفه ویژه آن سرویس است.

سرویس‌های RIS بر اساس محتوای فعلی نمایه مخزن، مخازنی را به سیستم شما اضافه، حذف یا ویرایش می‌کنند. با این حال، تفاوت در وضعیت فعال/غیرفعال ناشی از فراخوانی دستی modify-repo روی یک مخزن سرویس بازگردانده نخواهد شد، مگر اینکه از گزینه --restore-status استفاده شود یا نمایه مخزن صریحاً این تغییر را درخواست کند.

سرویس‌ها فقط مخازن تعریف‌شده را مدیریت می‌کنند و آن‌ها را بازخوانی نمی‌کنند. برای بازخوانی مخازن نیز، از گزینه --with-repos یا دستور refresh استفاده کنید.

-f, --force

اجبار به بازخوانی کامل سرویس‌های مشخص‌شده. این گزینه باعث می‌شود بارگیری متاداده خام و تجزیه متاداده هر دو اجباری شوند، حتی اگر همه شواهد نشان دهند نیازی به بازخوانی نیست.

-r, --with-repos

بازخوانی مخازن سرویس نیز انجام شود.

-R, --restore-status

همچنین بازگرداندن وضعیت فعال/غیرفعال مخازن سرویس به مقدار پیش‌فرض نمایه مخزن. این گزینه پس از تغییر دستی وضعیت فعال بودن برخی مخازن سرویس مفید است.

قفل بسته‌ها با هدف جلوگیری از اعمال تغییرات در مجموعه بسته‌های نصب‌شده روی سیستم به کار می‌روند. قفل‌ها به عنوان پرس‌وجوها در فایل /etc/zypp/locks ذخیره می‌شوند (همچنین locks(5) را ببینید). بسته‌های منطبق با پرس‌وجو از تغییر وضعیت نصب خود منع می‌شوند؛ یک بسته نصب‌شده نمی‌تواند حذف یا ارتقا داده شود و یک بسته نصب‌نشده نمی‌تواند نصب گردد. هنگام درخواست برای نصب، ارتقا یا حذف چنین بسته قفل‌شده‌ای، کادر گفتگوی مشکل وابستگی دریافت خواهید کرد.

یک lock-spec به صورت "NAME [OP EDITION]" تشکیل می‌شود، که در آن NAME همچنین می‌تواند یک الگوی جستجوی چندگانه (glob) با استفاده از نویسه‌های عمومی * و ? باشد. انواع غیربسته‌ای ممکن است رشته نوع آن‌ها در ابتدا درج شود (مانند patch:foo یا product:baa) یا از گزینه --type دستورات استفاده کنند.

فرم پایه همه نسخه‌های موارد منطبق را قفل خواهد کرد. می‌توانید در صورت تمایل قفل را محدود کنید تا با نسخه خاص یا دامنه‌ای از نسخه‌ها با استفاده از =، <، <=، >، >= یا != پس از نسخه مطابقت داشته باشد.


نکته (Note)

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

locks (ll)

فهرست کردن قفل‌های بسته فعال فعلی.

-m, --matches

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

-s, --solvables

فهرست کردن موارد قابل‌حل منطبق با هر قفل. این گزینه نیازمند بارگیری مخازن است.

addlock (al) [options] lock-spec...

افزودن قفل بسته. بسته‌ها را برای قفل کردن همان‌طور که در بالا توضیح داده شد مشخص کنید.

-r, --repo alias|name|#|URI

محدود کردن قفل به مخزن مشخص‌شده.

-t, --type type

فقط بسته‌های نوع مشخص‌شده قفل شوند (پیش‌فرض: package). برای فهرست انواع بسته‌های موجود، بخش Package Types را ببینید.

-m, --comment comment

افزودن یادداشت برای قفل بسته.

removelock (rl) [options] lock-number|lock-spec...

حذف قفل بسته. قفل مورد نظر برای حذف را با شماره آن که از zypper locks به دست آمده یا توسط lock-spec مشخص کنید.

-r, --repo alias|name|#|URI

محدود کردن قفل به مخزن مشخص‌شده.

-t, --type type

محدود کردن قفل به بسته‌های نوع مشخص‌شده (پیش‌فرض: package). برای فهرست انواع بسته‌های موجود، بخش Package Types را ببینید.

cleanlocks (cl)

حذف قفل‌های بلااستفاده.

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

این دستورات اطلاعاتی درباره محلی‌سازی‌های درخواستی ارائه داده و امکان مدیریت آن‌ها را فراهم می‌کنند. یک محلی‌سازی با یک کد زبان تعریف می‌شود. برای بسیاری از بسته‌ها، بسته‌های وابسته به محلی‌سازی موجود هستند که ترجمه‌ها یا فرهنگ‌های لغت را ارائه می‌دهند. برای نصب شدن این موارد، محلی‌سازی زبان مورد نظر باید توسط کتابخانه مدیر بسته به عنوان درخواستی علامت‌گذاری شود.

locales (lloc) [OPTIONS] [LOCALE] ...

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

-a, --all

فهرست کردن تمام محلی‌سازی‌های موجود.

-p, --packages

نمایش بسته‌های متناظر.

addlocale (aloc) [OPTIONS] <LOCALE> ...

افزودن محلی‌سازی(های) مشخص‌شده به فهرست محلی‌سازی‌های درخواستی.

-n, --no-packages

عدم نصب بسته‌های متناظر.

removelocale (rloc) [OPTIONS] <LOCALE> ...

حذف محلی‌سازی(های) مشخص‌شده از فهرست محلی‌سازی‌های درخواستی.

-n, --no-packages

عدم حذف بسته‌های متناظر.

مثال‌ها:

$ zypper locales

فهرست کردن محلی‌سازی‌های درخواستی.

$ zypper locales --packages de en

دریافت فهرست بسته‌هایی که برای de و en موجود هستند (تطبیق دقیق).

$ zypper locales en_

دریافت تمام محلی‌سازی‌ها با کد زبان en که دارای کد کشور مخصوص به خود هستند، به استثنای حالت ذخیره (fallback) en.

$ zypper locales en*

دریافت تمام محلی‌سازی‌ها با کد زبان en با یا بدون کد کشور.

$ zypper aloc --packages de_CH

درخواست de_CH و نصب بسته‌های وابسته به زبان.

system-architecture

معماری شناسایی‌شده سیستم را چاپ می‌کند.

versioncmp (vcmp) VERSION1 VERSION2

نسخه‌های ارائه‌شده به عنوان آرگومان را مقایسه می‌کند و مشخص می‌سازد که آیا VERSION1 از VERSION2 قدیمی‌تر یا جدیدتر است، یا این‌که دو رشته نسخه با هم مطابقت دارند. کد خروج در صورت برابر بودن نسخه‌ها 0، در صورت جدیدتر بودن VERSION1 مقدار 11، و در صورت جدیدتر بودن VERSION2 مقدار 12 است.

خروجی پیش‌فرض به صورت خوانا برای انسان است. اگر از گزینه سراسری --terse استفاده شود، نتیجه یک عدد صحیح خواهد بود؛ در صورتی که VERSION1 از VERSION2 قدیمی‌تر/جدیدتر باشد منفی/مثبت، و در صورت مطابقت صفر است.

-m, --match

نبود شماره انتشار (release) را به منزله هر شماره انتشاری در نظر می‌گیرد.

برای مثال:

$ zypper vcmp -m 0.15.3 0.15.3-2

0.15.3 matches 0.15.3-2

$ zypper vcmp 0.15.3 0.15.3-2

0.15.3 is older than 0.15.3-2

targetos (tos)

رشته شناسه (ID) سیستم‌عامل مقصد را نمایش می‌دهد. این رشته با مدخل XPath:/product/register/target در (current-rootdir)/etc/products.d/baseproduct تعریف می‌شود.

اگر baseproduct این مدخل را ارائه ندهد، یا اگر اصلاً هیچ baseproductای نصب نشده باشد، در صورت استفاده از گزینه سراسری --terse، مقدار خالی خواهد بود.

در حالت غیر terse، اگر یک baseproduct نصب شده باشد، برچسب توزیع به جای مقدار خالی نشان داده می‌شود.

-l, --label

در عوض، توزیع و برچسب کوتاه baseproduct را نشان می‌دهد.

licenses

گزارشی درباره مجوزها و EULAهای بسته‌های نصب‌شده را در خروجی استاندارد چاپ می‌کند.

ابتدا فهرستی از تمام بسته‌ها و مجوزها و/یا EULAهای آن‌ها نمایش داده می‌شود. به دنبال آن خلاصه‌ای شامل تعداد کل بسته‌های نصب‌شده و تعداد بسته‌های نصب‌شده دارای EULA که نیازمند تأیید کاربر بودند ارائه می‌شود. از آنجا که EULAها روی سیستم ذخیره نمی‌شوند و تنها از طریق متاداده مخزن قابل خواندن هستند، این خلاصه همچنین شامل تعداد بسته‌های نصب‌شده‌ای است که معادل آن‌ها در مخازن وجود دارد. این گزارش با فهرستی از تمامی مجوزهای مورد استفاده توسط بسته‌های نصب‌شده پایان می‌یابد.

این دستور می‌تواند برای شرکت‌هایی که یک توزیع سفارشی (مانند applianceها) را بازتوزیع می‌کنند مفید باشد تا متوجه شوند به چه مجوزهایی پایبند هستند.

download [OPTIONS]

فایل‌های rpm مشخص‌شده در خط فرمان را در یک دایرکتوری محلی بارگیری می‌کند.

به طور پیش‌فرض بسته‌ها در کش بسته libzypp بارگیری می‌شوند (/var/cache/zypp/packages؛ برای کاربران غیر ریشه $XDG_CACHE_HOME/zypp/packages)، اما می‌توان این مسیر را با استفاده از گزینه سراسری --pkg-cache-dir تغییر داد.

خروجی قابل تجزیه XML تولیدشده توسط zypper --xmlout شامل یک گره <download-result> برای هر بسته‌ای خواهد بود که زیپر سعی در بارگیری آن داشته است. در صورت موفقیت، مکان بسته بارگیری‌شده در صفت path زیرگره <localfile> یافت می‌شود (مسیر xpath: download-result/localpath@path):

<download-result>
  <solvable>
    <kind>package</kind>
    <name>zypper</name>
    <edition epoch="0" version="1.9.17" release="26.1"/>
    <arch>x86_64</arch>
    <repository name="repo-oss-update (13.1)" alias="openSUSE:repo-oss-update"/>
  </solvable>
  <localfile path="/var/cache/zypp/pac.../zypper-1.9.17-26.1.x86_64.rpm"/>
</download-result>

--all-matches

بارگیری تمامی نسخه‌های منطبق با آرگومان‌های خط فرمان. در غیر این صورت فقط بهترین نسخه از هر بسته منطبق بارگیری می‌شود.

--dry-run

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

-r, --repo alias|name|#|URI

تنها با مخزن مشخص‌شده توسط نام مستعار، نام، شماره یا URI کار می‌کند. از این گزینه می‌توان چندین بار استفاده کرد.

--from alias|name|#|URI

انتخاب بسته‌ها فقط از مخزن مشخص‌شده. از این گزینه می‌توان چندین بار استفاده کرد.

source-download [OPTIONS]

بارگیری rpmهای سورس برای تمام بسته‌های نصب‌شده در یک دایرکتوری محلی.

-d, --directory dir

بارگیری تمام rpmهای سورس در این دایرکتوری. پیش‌فرض /var/cache/zypper/source-download است.

--delete

حذف rpmهای سورس اضافی در دایرکتوری محلی. این حالت پیش‌فرض است.

--no-delete

rpmهای سورس اضافی را حذف نکنید.

--status

هیچ rpm سورسی را بارگیری نکنید، بلکه نشان دهید کدام rpmهای سورس مفقود یا اضافی هستند.

ps [OPTIONS]

پس از هر ارتقا یا حذف بسته‌ها، ممکن است فرآیندهایی روی سیستم در حال اجرا باشند که همچنان از فایل‌هایی که در این میان حذف شده‌اند استفاده کنند. دستور zypper ps تمامی فرآیندهایی را که از فایل‌های حذف‌شده استفاده می‌کنند، به همراه فایل‌های مربوطه و راهنمای نام سرویس در صورت شناخته‌شده بودن، فهرست می‌کند. این کار نشان می‌دهد کدام سرویس‌ها ممکن است پس از یک به‌روزرسانی نیاز به راه‌اندازی مجدد داشته باشند؛ معمولاً برنامه‌هایی که همچنان به استفاده از کتابخانه‌های مشترک حذف‌شده ادامه می‌دهند. این فهرست شامل اطلاعات زیر است:

PID

شناسه فرآیند

PPID

شناسه فرآیند والد

UID

شناسه کاربر اجراکننده فرآیند

Login

نام ورود کاربر اجراکننده فرآیند

Command

دستور استفاده‌شده برای اجرای فرآیند

Service

نام سرویس، در صورتی که دستور با یک سرویس سیستمی مرتبط باشد

Files

فهرست فایل‌های حذف‌شده

-s, --short

ایجاد یک جدول کوتاه بدون نمایش فایل‌های حذف‌شده. اگر دو بار داده شود، فقط فرآیندهایی را نشان می‌دهد که با یک سرویس سیستمی مرتبط هستند. اگر سه بار داده شود، فقط نام سرویس‌های سیستمی مرتبط را فهرست می‌کند.

--print format

برای هر سرویس سیستمی مرتبط، format را روی خروجی استاندارد چاپ می‌کند که پس از آن یک خط جدید می‌آید. هر دستورالعمل %s در format با نام سرویس سیستمی جایگزین می‌شود.

-d, --debugFile filename

خروجی دادن فایلی شامل تمامی مدخل‌های proc که به مجموعه نهایی فایل‌های باز مورد استفاده راه یافته‌اند. این فایل را می‌توان به عنوان اطلاعات اضافی در گزارش باگ ارسال کرد.

مثال‌ها:

$ zypper ps -ss

فقط فرآیندهای مرتبط با یک سرویس سیستمی را نشان می‌دهد.

$ zypper ps -sss

کوتاه‌شده zypper ps --print "%s"؛ سرویس‌هایی را که ممکن است به راه‌اندازی مجدد نیاز داشته باشند فهرست می‌کند.

$ zypper ps --print "systemctl status %s"

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

needs-rebooting

بررسی می‌کند که آیا فلگ reboot-needed بر اثر به‌روزرسانی یا نصب قبلی یک کتابخانه اصلی یا سرویس تنظیم شده است یا خیر.

فلگ reboot-needed زمانی تنظیم می‌شود که بسته‌ای که installhint(reboot-needed) را فراهم می‌کند، به‌روزرسانی یا نصب شود. علاوه بر این، یک فهرست از پیش‌تعریف‌شده (/etc/zypp/needreboot) از بسته‌های شناخته‌شده وجود دارد که باعث تنظیم بدون قید و شرط فلگ reboot-needed می‌شوند. کد خروج ZYPPER_EXIT_INF_REBOOT_NEEDED نشان می‌دهد که راه‌اندازی مجدد پیشنهاد می‌شود، در غیر این صورت کد خروج روی ZYPPER_EXIT_OK تنظیم می‌گردد.

به اسکریپت‌ها توصیه می‌شود از این دستور برای آزمایش این‌که آیا راه‌اندازی مجدد سیستم پیشنهاد شده است استفاده کنند. از --quiet برای جلوگیری از نمایش خروجی عادی استفاده کنید.

subcommand

زیردستورهای موجود در /usr/lib/zypper/commands و سایر مسیرهای موجود در $PATH شما را فهرست می‌کند. برای جزئیات بخش زیردستورها (SUBCOMMANDS) را ببینید.

-h, --help

راهنما. اگر یک دستور همراه با گزینه --help مشخص شود، راهنمای مخصوص همان دستور نمایش داده می‌شود.

-V, --version

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

-c, --config file

استفاده از فایل پیکربندی مشخص‌شده زیپر به جای فایل پیش‌فرض zypper.conf. سایر گزینه‌های خط فرمان که همراه با --config مشخص شده‌اند و معادل آن‌ها در فایل پیکربندی زیپر وجود دارد، همچنان اولویت خواهند داشت.

ترتیب اولویت با --config به صورت زیر است:

1.گزینه‌های خط فرمان
2.--config file
3.[/etc/zypp/zypp.conf] (پیش‌فرض‌های سراسری سیستم برای تمام برنامه‌های مبتنی بر libzypp)

نکته

استفاده و مکان فایل سراسری سیستم /etc/zypp/zypp.conf را نمی‌توان به این روش تغییر داد. این فایل صرفاً از این جهت در اینجا ذکر شده که برخی از گزینه‌های خط فرمان زیپر امکان بازنویسی پیش‌فرض‌های سراسری سیستم تعریف‌شده در zypp.conf را فراهم می‌کنند.

همچنین برای اطلاعات بیشتر بخش فایل‌ها (FILES) را ببینید.

-v, --verbose

افزایش پرگویی خروجی. برای خروجی اشکال‌زدایی (دیباگ) این گزینه را دو بار مشخص کنید. به عنوان مثال zypper -vv ref آینه‌های مورد استفاده برای بارگیری متاداده را نشان می‌دهد.

-q, --quiet

جلوگیری از نمایش خروجی عادی. با این حال، پیام‌های مختصر (به‌ویژه اعلان نتیجه) و پیام‌های خطا همچنان چاپ خواهند شد. اگر همراه با گزینه متناقض --verbose استفاده شود، گزینه --verbose اولویت خواهد داشت.

--color, --no-color

تعیین استفاده از رنگ‌ها در خروجی در صورتی که tty پشتیبانی کند. برای جزئیات بخش [color] در zypper.conf را ببینید.

-A, --no-abbrev

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

-t, --terse

خروجی فشرده و موجز برای پردازش ماشینی. مستلزم --no-abbrev و --no-color است.

-s, --table-style integer

انتخاب از بین مجموعه‌های مختلف کاراکترهای رسم خط از پیش‌تعریف‌شده برای کشیدن جدول. سبک جدول با یک عدد صحیح مشخص می‌شود. سبک 0 پیش‌فرض است، سبک‌های 1 تا 9 از ترکیب کاراکترهای مختلف رسم جعبه استفاده می‌کنند که شکل آن‌ها ممکن است به فونت مورد استفاده در ترمینال بستگی داشته باشد. سبک 10 ستون‌ها را با دو نقطه جدا می‌کند و سبک 11 اصلاً هیچ خطی رسم نمی‌کند.

-n, --non-interactive

تغییر حالت به غیرتعاملی. در این حالت زیپر از کاربر نمی‌خواهد برای اعلان‌های مختلف پاسخ تایپ کند، بلکه پاسخ‌های پیش‌فرض را به صورت خودکار به کار می‌برد. این پاسخ‌های پیش‌فرض به گزینه‌های دیگری مانند --no-gpg-checks یا --ignore-unknown نیز بستگی دارند.

--non-interactive-include-reboot-patches

در حالت غیرتعاملی، از وصله‌هایی که فلگ rebootSuggested دارند صرف‌نظر نکنید. در غیر این صورت این وصله‌ها تعاملی در نظر گرفته می‌شوند، مانند وصله‌هایی که شامل یک مجوز یا پیامی برای تأیید هستند. نکته: این گزینه حالت غیرتعاملی را فعال نمی‌کند.

-x, --xmlout

تغییر خروجی به قالب XML. این گزینه برای اسکریپت‌ها یا رابط‌های گرافیکی که از زیپر استفاده می‌کنند مفید است.

-i, --ignore-unknown

نادیده گرفتن بسته‌های ناشناخته. این گزینه برای اسکریپت‌ها مفید است، زیرا هنگام نصب در حالت --non-interactive زیپر انتظار دارد هر آرگومان خط فرمان حداقل با یک بسته شناخته‌شده مطابقت داشته باشد. نام‌های ناشناخته یا عبارت‌های الگو (globbing) بدون تطابق، به عنوان خطا تلقی می‌شوند مگر اینکه از این گزینه استفاده شود.

برای دستورات search و info این گزینه باعث می‌شود که اگر پرس‌وجو هیچ تطابقی پیدا نکرد، زیپر به جای ZYPPER_EXIT_INF_CAP_NOT_FOUND مقدار ZYPPER_EXIT_OK را برگرداند.

-D, --reposd-dir dir

استفاده از دایرکتوری مشخص‌شده برای جستجوی فایل‌های تعریف مخزن (.repo). مقدار پیش‌فرض /etc/zypp/repos.d است.

--servicesd-dir dir

استفاده از دایرکتوری مشخص‌شده برای جستجوی فایل‌های تعریف سرویس (.service). مقدار پیش‌فرض /etc/zypp/services.d است.

-C, --cache-dir dir

استفاده از یک دایرکتوری ریشه جایگزین برای تمامی حافظه‌های موقت (کش‌ها). مقدار پیش‌فرض /var/cache/zypp است.

--raw-cache-dir dir

استفاده از دایرکتوری مشخص‌شده برای ذخیره رونوشت‌های خام فایل‌های متاداده مخزن. مقدار پیش‌فرض /var/cache/zypp/raw است.

--solv-cache-dir dir

استفاده از دایرکتوری مشخص‌شده برای ذخیره فایل‌های پایگاه داده کش متاداده مخزن (فایل‌های solv). مقدار پیش‌فرض /var/cache/zypp/solv است.

--pkg-cache-dir dir

استفاده از دایرکتوری مشخص‌شده برای ذخیره بسته‌های rpm بارگیری‌شده از مخازن (دستور addrepo --keep-packages را ببینید). مقدار پیش‌فرض /var/cache/zypp/packages است. + بسته‌ها در زیردایرکتوری‌هایی که بر اساس نام مستعار مخزن نام‌گذاری شده‌اند و با همان مسیری که در رسانه مخازن دارند ذخیره می‌شوند.

--userdata string

انتظار می‌رود داده‌های کاربر یک رشته ساده بدون کاراکترهای خاص یا خطوط جدید تعبیه‌شده باشد و می‌تواند به عنوان شناسه تراکنش عمل کند. این مقدار در تمامی ورودی‌های لاگ تاریخچه نصب که در طول این فراخوانی مشخص زیپر ایجاد می‌شوند نوشته خواهد شد. همچنین به پلاگین‌های zypp که هنگام ثبت (commit) اجرا می‌شوند ارسال می‌گردد. این امر به عنوان مثال به یک پلاگین btrfs امکان می‌دهد تصاویر فوری (snapshots) ایجادشده را با این رشته برچسب‌گذاری کند. این رشته برای خود زیپر هیچ معنای خاصی ندارد.

گزینه‌های مخزن:

--no-gpg-checks

نادیده گرفتن خطاهای بررسی GPG و ادامه دادن. اگر هنگام استفاده از این گزینه یک مشکل GPG رخ دهد، زیپر یک هشدار را چاپ و ثبت می‌کند و بدون ایجاد وقفه در عملیات، به طور خودکار ادامه می‌دهد. از این گزینه با احتیاط استفاده کنید، زیرا با استفاده از آن ممکن است به راحتی متوجه مشکلات امنیتی نشوید (بخش بررسی‌های GPG (GPG checks) را ببینید).

--gpg-auto-import-keys

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

-p, --plus-repo URI

استفاده از یک مخزن اضافی برای این عملیات. مخزنی با نام مستعار tmp# و آدرس مشخص‌شده با URI برای این عملیات اضافه شده و در پایان حذف خواهد شد. می‌توانید این گزینه را چندین بار مشخص کنید.

--plus-content tag

علاوه بر این، استفاده از مخازن غیرفعال مشخص‌شده توسط tag برای این عملیات. اگر tag با نام مستعار، نام یا URL یک مخزن مطابقت داشته باشد، یا یک کلیدواژه تعریف‌شده در متاداده مخزن باشد، آن مخزن به طور موقت برای این عملیات فعال خواهد شد. سپس مخزن بر اساس قوانین دستور تازه‌سازی شده و مورد استفاده قرار می‌گیرد. می‌توانید این گزینه را چندین بار مشخص کنید.

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

برای تازه‌سازی متاداده تمام مخازن غیرفعال:

zypper --plus-content '' ref

برای گنجاندن مخزن غیرفعال repo-debug در یک جستجو:

zypper --plus-content repo-debug search ...

برای جستجو فقط در مخزن غیرفعال repo-debug:

zypper --plus-content repo-debug search -r repo-debug ...

برای فعال کردن تمام مخازنی که کلیدواژه debug را ارائه می‌دهند:

zypper in --plus-content debug some -debuginfo or -debugsource package

--disable-repositories

عدم خواندن متاداده از مخازن. این گزینه مانع از بارگیری بسته‌ها از مخازن می‌شود، و در نتیجه باعث می‌شود زیپر تنها با بسته‌های نصب‌شده کار کند (در صورتی که --disable-system-resolvables مشخص نشده باشد).

--no-refresh

مخازن به طور خودکار تازه‌سازی نشوند (نادیده گرفتن تنظیمات تازه‌سازی خودکار). برای صرفه‌جویی در زمان هنگام انجام عملیاتی مانند جستجو، در صورتی که نیازی به داشتن متاداده کاملاً به‌روز نباشد، مفید است.

--no-cd

نادیده گرفتن مخازن CD/DVD. هنگامی که این گزینه مشخص شود، زیپر طوری عمل می‌کند که گویی مخازن CD/DVD اصلاً تعریف نشده‌اند.

--no-remote

نادیده گرفتن مخازن دوردست مانند http، ftp، smb و موارد مشابه. این امر استفاده از زیپر را در حالت آفلاین آسان‌تر می‌کند. هنگامی که این گزینه مشخص شود، زیپر طوری عمل می‌کند که گویی مخازن دوردست اصلاً تعریف نشده‌اند.

--releasever version

برای دستور جاری، مقدار متغیر مخزن $releasever را روی version تنظیم می‌کند. این کار می‌تواند برای جابه‌جایی به مخازن توزیع جدید هنگام انجام ارتقای توزیع به کار رود. برای جزئیات بیشتر در مورد استفاده از متغیر مخزن $releasever، دستور dist-upgrade (dup) و بخش مدیریت مخزن (Repository Management) را ببینید.

برای بررسی این‌که هم‌اکنون در کجا از $releasever استفاده می‌کنید، دستور زیر را اجرا کنید:

zypper --releasever @--HERE--@ lr -u

گزینه‌های مقصد:

-R, --root dir

روی یک دایرکتوری ریشه متفاوت عمل می‌کند. این گزینه بر مکان دایرکتوری repos.d و دایرکتوری کش متاداده تأثیر می‌گذارد و همچنین باعث می‌شود rpm با گزینه --root اجرا شود تا نصب یا حذف واقعی بسته‌ها انجام پذیرد. بخش فایل‌ها (FILES) را نیز ببینید.

--installroot dir

مانند --root رفتار می‌کند اما مخازن را با سیستم میزبان به اشتراک می‌گذارد.

--disable-system-resolvables

این گزینه عمدتاً برای اهداف آزمایشی کاربرد دارد. این گزینه باعث می‌شود زیپر طوری عمل کند که گویی هیچ بسته‌ای در سیستم نصب نشده است. با احتیاط استفاده کنید زیرا می‌توانید با این گزینه به سیستم خود آسیب برسانید.

زیردستورهای زیپر از git(1) الهام گرفته شده‌اند. زیردستورها برنامه‌های اجرایی مستقلی هستند که در دایرکتوری zypper_execdir (/usr/lib/zypper/commands) قرار دارند. برای زیردستورها، زیپر یک پوشش (wrapper) فراهم می‌کند که مکان زیردستورها را می‌داند و آن‌ها را با ارسال گزینه‌ها و آرگومان‌های دستور اجرا می‌کند. اگر زیردستوری در zypper_execdir پیدا نشود، پوشش در بقیه مسیرهای موجود در $PATH شما به دنبال آن خواهد گشت. بنابراین، نوشتن افزونه‌های محلی زیپر که در فضای سیستمی نیستند امکان‌پذیر است. این قابلیت را می‌توان با تنظیم "subcommand.seachSubcommandInPath" روی "no" در فایل zypper.conf غیرفعال کرد.

نحوه افزودن زیردستور خودتان به شکل zypper mytask به این صورت است:

•فایل اجرایی باید zypper-mytask نامیده شود.
•فایل اجرایی باید در مسیر $PATH شما قرار داشته باشد.
•یک صفحه راهنما (manpage) برای zypper-mytask باید ارائه شود و گزینه‌ها و مقادیر بازگشتی دستور را توضیح دهد. این صفحه راهنما هنگام فراخوانی zypper help mytask نشان داده خواهد شد.
•دستورات توکار زیپر نسبت به زیردستورهای هم‌نام اولویت دارند.
•فراخوانی زیپر یا استفاده از libzypp از داخل زیردستور شما بلامانع است.

می‌توانید از دستور توکار zypper subcommand برای دریافت فهرستی از تمام زیردستورها در zypper_execdir و سایر مکان‌های موجود در $PATH خود استفاده کنید.

استفاده از گزینه‌های سراسری زیپر همراه با زیردستورها، و همچنین اجرای زیردستورها در zypper shell در حال حاضر پشتیبانی نمی‌شود.

/etc/zypp/zypper.conf, $HOME/.zypper.conf

فایل پیکربندی سراسری (سیستمی) و کاربر برای zypper. این فایل‌ها هنگام راه‌اندازی زیپر و در صورت عدم استفاده از گزینه --config خوانده می‌شوند.

تنظیمات کاربر بر تنظیمات سراسری ترجیح داده می‌شوند. به طور مشابه، گزینه‌های خط فرمان بر تنظیمات هر یک از این فایل‌ها برتری دارند. به طور خلاصه، ترتیب اولویت به صورت زیر است (از بیشترین به کمترین):

1.گزینه‌های خط فرمان
2.$HOME/.zypper.conf
3./etc/zypp/zypper.conf
4.[/etc/zypp/zypp.conf] (پیش‌فرض‌های سراسری سیستم برای تمامی برنامه‌های مبتنی بر libzypp)

برای فهرستی از گزینه‌های موجود و توضیحات آن‌ها، توضیحات درون /etc/zypp/zypper.conf را ببینید.


نکته

فایل سراسری سیستم /etc/zypp/zypp.conf صرفاً از این جهت در اینجا ذکر شده که برخی از گزینه‌های خط فرمان زیپر امکان بازنویسی پیش‌فرض‌های سراسری سیستم تعریف‌شده در آن را می‌دهند. فایل‌های zypp.conf و zypper.conf محتوای متفاوتی دارند و اهداف متفاوتی را دنبال می‌کنند.

/etc/zypp/zypp.conf

فایل پیکربندی ZYpp که بر تمام برنامه‌های مبتنی بر libzypp تأثیر می‌گذارد. برای توضیحات خصوصیات قابل پیکربندی، به نظرات درون فایل مراجعه کنید. بسیاری از مکان‌های فایل‌ها و دایرکتوری‌های فهرست‌شده در این بخش از طریق zypp.conf قابل پیکربندی هستند. مکان خود این فایل را تنها می‌توان با تنظیم متغیر محیطی $ZYPP_CONF مجدداً تعریف کرد.

/etc/zypp/locks

فایل حاوی تعاریف قفل بسته‌ها. برای دستکاری این فایل باید از دستورات قفل بسته (locks، addlock، removelock و غیره) استفاده شود.

این فایل توسط تمامی برنامه‌های مبتنی بر ZYpp استفاده می‌شود.

/etc/zypp/repos.d

دایرکتوری حاوی فایل‌های تعریف مخزن (*.repo). می‌توانید از دستورات مدیریت مخزن برای دستکاری این فایل‌ها استفاده کنید، یا خودتان آن‌ها را ویرایش نمایید. در هر صورت، پس از انجام اصلاحات، اجرای *zypper refresh* اکیداً توصیه می‌شود.

می‌توانید از گزینه سراسری --reposd-dir برای استفاده از یک دایرکتوری جایگزین برای این منظور یا از گزینه --root برای نسبی کردن این دایرکتوری به دایرکتوری ریشه مشخص‌شده استفاده کنید.

این دایرکتوری توسط تمامی برنامه‌های مبتنی بر ZYpp استفاده می‌شود.

/etc/zypp/services.d

دایرکتوری حاوی فایل‌های تعریف سرویس (*.service). می‌توانید از دستورات مدیریت سرویس برای دستکاری این فایل‌ها استفاده کنید، یا خودتان آن‌ها را ویرایش نمایید. پس از انجام اصلاحات، اجرای *zypper refs* توصیه می‌شود.

می‌توانید از گزینه سراسری --servicesd-dir برای استفاده از یک دایرکتوری جایگزین برای این منظور یا از گزینه --root برای نسبی کردن این دایرکتوری به دایرکتوری ریشه مشخص‌شده استفاده کنید.

این دایرکتوری توسط تمامی برنامه‌های مبتنی بر ZYpp استفاده می‌شود.

/usr/lib/zypper/commands

دایرکتوری سیستمی حاوی افزونه‌های زیپر (بخش زیردستورها (SUBCOMMANDS) را ببینید)

/var/cache/zypp/raw

دایرکتوری ذخیره‌سازی متاداده‌های خام موجود در مخازن. از گزینه سراسری --raw-cache-dir برای استفاده از یک دایرکتوری جایگزین برای این منظور یا از گزینه --root برای نسبی کردن این دایرکتوری به دایرکتوری ریشه مشخص‌شده استفاده کنید.

این دایرکتوری توسط تمامی برنامه‌های مبتنی بر ZYpp استفاده می‌شود.

/var/cache/zypp/solv

دایرکتوری حاوی متاداده‌های پیش‌تحلیل‌شده در قالب فایل‌های solv.

این دایرکتوری توسط تمامی برنامه‌های مبتنی بر ZYpp استفاده می‌شود.

/var/cache/zypp/packages

اگر ویژگی keep-packages برای یک مخزن تنظیم شده باشد (دستور modifyrepo را ببینید)، تمام فایل‌های RPM بارگیری‌شده در حین نصب در اینجا نگهداری می‌شوند. بسته‌ها در زیردایرکتوری‌هایی ذخیره می‌شوند که بر اساس نام مستعار مخزن آن‌ها نام‌گذاری شده است.

زیردایرکتوری‌های مخازن حذف‌شده یا ناشناخته به طور خودکار پاکسازی می‌شوند. با ایجاد فایلی با نام .no_auto_prune در دایرکتوری pkg-cache می‌توان از این پاکسازی خودکار جلوگیری کرد.

ایجاد یک فایل .keep_packages در دایرکتوری pkg-cache، بسته‌های بارگیری‌شده را برای تمام مخازن کش‌شده در اینجا نگه می‌دارد و ویژگی keep-packages مخازن را نادیده می‌گیرد و بازنویسی می‌کند.

همچنین برای پاکسازی این دایرکتوری‌های کش، دستور clean را ببینید.

این دایرکتوری توسط تمامی برنامه‌های مبتنی بر ZYpp استفاده می‌شود.

/var/log/zypper.log

فایل لاگ زیپر. این فایل باید به تمام گزارش‌های باگ پیوست شود (همچنین zypper-log(8) را ببینید).

/var/log/zypper.solverTestCase

مورد آزمون حل‌کننده که با استفاده از گزینه --debug-solver ایجاد شده است.

/var/log/updateTestcase-YYYY-MM-DD-hh-mm-ss

مورد آزمون حل‌کننده که به طور خودکار هنگام اجرای zypper dup ایجاد می‌شود.

/var/log/zypp/history

لاگ تاریخچه نصب.

~/.zypper_history

تاریخچه دستورات برای شل زیپر (دستور shell را ببینید).

/etc/zypp/needreboot

فایل حاوی فهرستی از بسته‌ها که در صورت نصب یا ارتقا، پرچم reboot-needed را تنظیم می‌کنند.

/etc/zypp/needreboot.d

دایرکتوری که می‌توان با افزودن فایل‌های اضافی حاوی نام بسته‌های مورد نیاز، بسته‌هایی را تعریف کرد که پرچم reboot-needed را فعال می‌کنند.

چندین کد خروج برای دستورات توکار زیپر جهت استفاده مثلاً در اسکریپت‌ها تعریف شده است. این کدها در فایل هدر src/zypper-main.h در بسته سورس زیپر تعریف شده‌اند. کدهای زیر 100 نشان‌دهنده خطا هستند، کدهای بالای 100 اطلاعات خاصی ارائه می‌دهند، و 0 نشان‌دهنده اجرای موفق و عادی است. در ادامه فهرستی از این کدها به همراه توضیحات آمده است:

0 - ZYPPER_EXIT_OK

اجرای موفقیت‌آمیز زیپر بدون اطلاعات خاص.

1 - ZYPPER_EXIT_ERR_BUG

وضعیت غیرمنتظره‌ای رخ داده است، احتمالاً ناشی از یک باگ.

2 - ZYPPER_EXIT_ERR_SYNTAX

زیپر با یک دستور یا گزینه نامعتبر، یا نحو نادرست فراخوانی شده است.

3 - ZYPPER_EXIT_ERR_INVALID_ARGS

برخی از آرگومان‌های ارائه‌شده نامعتبر بودند. مثلاً یک URI نامعتبر به دستور addrepo داده شده است.

4 - ZYPPER_EXIT_ERR_ZYPP

مشکلی توسط کتابخانه ZYPP گزارش شده است.

5 - ZYPPER_EXIT_ERR_PRIVILEGES

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

6 - ZYPPER_EXIT_NO_REPOS

هیچ مخزنی تعریف نشده است.

7 - ZYPPER_EXIT_ZYPP_LOCKED

کتابخانه ZYPP قفل است، مثلاً packagekit در حال اجرا است.

8 - ZYPPER_EXIT_ERR_COMMIT

خطایی هنگام نصب یا حذف بسته‌ها رخ داده است. می‌توانید برای اصلاح هرگونه مشکل وابستگی، zypper verify را اجرا کنید.

100 - ZYPPER_EXIT_INF_UPDATE_NEEDED

توسط دستور patch-check در صورتی که وصله‌هایی برای نصب در دسترس باشند برگردانده می‌شود.

101 - ZYPPER_EXIT_INF_SEC_UPDATE_NEEDED

توسط دستور patch-check در صورتی که وصله‌های امنیتی برای نصب در دسترس باشند برگردانده می‌شود.

102 - ZYPPER_EXIT_INF_REBOOT_NEEDED

توسط دستور needs-rebooting در صورتی که راه‌اندازی مجدد سیستم پیشنهاد شود برگردانده می‌شود.

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

103 - ZYPPER_EXIT_INF_RESTART_NEEDED

پس از نصب موفقیت‌آمیز وصله‌ای که نیازمند راه‌اندازی مجدد خود مدیر بسته است برگردانده می‌شود. این بدان معناست که یکی از وصله‌هایی که باید نصب شوند بر خود مدیر بسته تأثیر می‌گذارد و دستور مورد استفاده (مثلاً zypper update) باید یک بار دیگر برای نصب وصله‌های باقی‌مانده اجرا شود.

104 - ZYPPER_EXIT_INF_CAP_NOT_FOUND

توسط دستور install و دستور remove در صورتی که هر یک از آرگومان‌ها با هیچ یک از نام بسته‌های موجود (یا نصب‌شده) یا سایر قابلیت‌ها مطابقت نداشته باشد، برگردانده می‌شود. در دستورات search و info نشان می‌دهد که هیچ موردی یافت نشد. همچنین گزینه سراسری --ignore-unknown را ببینید.

105 - ZYPPER_EXIT_ON_SIGNAL

هنگام خروج پس از دریافت سیگنال SIGINT یا SIGTERM برگردانده می‌شود.

106 - ZYPPER_EXIT_INF_REPOS_SKIPPED

برخی از مخازن به دلیل عدم موفقیت در تازه‌سازی مجبور به غیرفعال شدن موقت شدند. شما باید پیکربندی مخزن خود را بررسی کنید (مثلاً zypper ref -f).

107 - ZYPPER_EXIT_INF_RPM_SCRIPT_FAILED

نصب اساساً با موفقیت انجام شد، اما اسکریپت‌های post% نصب برخی از بسته‌ها خطا برگرداندند. این بسته‌ها با موفقیت روی دیسک باز شده و در پایگاه داده rpm ثبت شده‌اند، اما به دلیل اسکریپت نصب ناموفق ممکن است طبق انتظار کار نکنند. خروجی اسکریپت‌های ناموفق ممکن است مشخص کند واقعاً چه مشکلی پیش آمده است. هرگونه خروجی اسکریپت‌ها همچنین در /var/log/zypp/history ثبت می‌شود.

زیردستورهای زیپر (بخش زیردستورها (SUBCOMMANDS) را ببینید) ممکن است کدهای متفاوتی را برگردانند که باید در صفحه راهنمای دستورات شرح داده شوند. برای مشاهده صفحه راهنمای زیردستور در صورت ارائه شدن، zypper help subcommand را فراخوانی کنید.

https://github.com/openSUSE/zypper

پروژه زیپر توسط مارتین ویدنر (Martin Vidner)، یان کوپک (Jan Kupec)، مایکل آندرس (Michael Andres)، دانکن مک‌ویار پرت (Duncan Mac-Vicar Prett)، جوزف ریدینگر (Josef Reidinger) و استانیسلاو ویشنوفسکی (Stanislav Visnovsky) آغاز شد. افراد بسیاری بعداً در آن مشارکت کردند.

locks(5), zypper-log(8), YaST2(8)

2026-09-04 SUSE Linux