zypper نرمافزاریست که با آن میتوانید از طریق خطفرمان بستههای نرمافزاری را نصب، حذف و بهروز کنید. همچنین با استفاده از zypper میتوانید مخازن نرمافزاری را مدیریت (اضافه،حذف و ویرایش) کنید. توجه کنید که برای استفاده از zypper باید در حالت کاربر ریشه (root) باشید.
همانطور که میدانید شما در اوپنسوزه و با استفاده از دستور zypper dup میتوانید کل سیستم را بروز کنید. حال اگر برخی بستهها بهنگام بروز رسانی ریست شوند ممکن است یک ریست ناموفق قبل از تنظیم فایلهای پیکره بندی رخ دهد. این مورد مخصوصاً در مواقعی خطرناک میشود که سرویسهای در حال اجرا نیازمند بستههایی باشند که در حال بروز رسانی هستند.
برخی موارد هم توسط کابران ذکر شده که از آنجایی که zypper به هنگام کار یکی یکی بستهها را دریافت و نصب میکند و بین دانلود فاصله میاندازد، کاهش آزار دهندهای در سرعت دانلود رخ میدهد! حتی راه حلهای جالب و مبتکرانهای برای این مشکل هم اختراع شده!
برای مثال در هنگام کاهش سرعت دانلود توسط zypper با استفاده از برنامههای مدیریت دانلودی همچون wget یا … فایلی را دانلود کنید تا پهنای باند را کشیده و zypper را تحریک کند. و جالب اینجا که این شیوه جواب میدهد! (رابطهاش را نه مخترع و نه من نفهمیدیم!)
اما راه حل بهتر و اصولی چیست؟
همانطور که میدانید در لینوکس همه چیز آزاد است و قابل تنظیم! پس ما باید برای این قبیل موارد بدنبال گزینهای باشیم تا این سبک دانلود و نصب متداول بستهها را به دانلود کلیه بستهها و سپس نصب آنها تبدیل کند.
پس به فایل پیکرهبندی zypper در مسیر /etc/zypp/zypp.conf میرویم و مقدار
Set commit.downloadMode = |
به مقدار
Set commit.downloadMode = DownloadInAdvance |
تغییر میدهیم!
توجه به این نکته لازم است که تراکنش دانلود در این حالت مستلزم مقدار زیادی فضای خالی در مسیر /var میباشد.
این گزینه حالتهای دیگری هم دارد که شرح آن در جدول زیر آمده است.
مقدار | شرح |
---|---|
DownloadOnly |
فقط تمامی بستهها را در یک کش محلی دانلود میکند ولی نصب نمیکند |
DownloadInAdvance |
ابتدا تمامی بستهها را در یک کش محلی دانلود میکند و سپس همه را با هم نصب میکند |
DownloadInHeaps |
تقریباً مشابه DownloadInAdvance است با این تفاوت که سعی میکند تراکنش ها را در جایی که آخر هر بخش وضعیت پایدار موجود است به قسمتهای مختلفی تقسیم کند!!! * |
DownlodAsNeeded |
بستهها بطور متناوب دانلود و نصب میشوند. همان یبک معمول و پیشفرض |
برای دریافت اطلاعات بیشتر راجع به zypper و چکونگی کار با آن به اینجا (زبان فارسی) و اینجا مراجعه کنید.
* ترجمه بنده ظعیف هست، متن دقیق اینه:
Similar to DownloadInAdvance, but try to split the transaction into heaps, where at the end of each heap a consistent system state is reached.