از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش جلوگیری و رفع خطاهای وابستگی بسته در اوبونتو
سرفصلهای مطلب
خطاهای وابستگی بسته ممکن است در اوبونتو پس از نصب برخی از برنامه ها رخ دهد. تصمیمات اتخاذ شده توسط کاربران در حین نصب یا مشکلات سطح سیستم خارج از کنترل کاربران می تواند منجر به شکسته شدن بسته ها شود.
اگر کلماتی مانند “وابستگی های برآورده نشده”، “بسته های شکسته”، “بسته ها بازنگشته شده اند” را در terminal خروجی، احتمال دارد که شما ممکن است درگیری های وابستگی داشته باشید. این مقاله چند روش را فهرست می کند که می توان از آنها برای جلوگیری و رفع این نوع خطاهای وابستگی استفاده کرد. توجه داشته باشید که روش های پیشنهادی در زیر هیچ ترتیبی ندارند.
به روز رسانی بسته ها
اولین کاری که باید در صورت بروز خطا انجام دهید، اجرای دستور به روز رسانی است. هر مخازن رسمی و شخص ثالثی را که به سیستم خود اضافه کرده اید به روز می کند و لیست جدیدی از بسته ها را می کشد. اجرای دستور به روز رسانی از terminal انتشار مرحلهای بستههای رسمی اوبونتو را از طریق بهروزرسانی رابط کاربری گرافیکی دور میزند، بنابراین شما همیشه آخرین لیست بستهها را دریافت میکنید.
با اجرای دستور زیر می توانید مخازن را به روز کنید:
تغییر سرور دانلود بسته
اگر هنگام اجرای دستور بهروزرسانی بالا، خطاهای «نمیتوان بسته را پیدا کرد» دریافت کردید، آینههای دانلود را تغییر دهید. بسته های اوبونتو از سرورهای واقع در سراسر جهان به کاربران نهایی ارائه می شود. گاهی اوقات فقط بهروزرسانیهای جزئی یا شکسته بسته از این سرورها در دسترس هستند که در حین بهروزرسانی با خطا مواجه میشوند. این مشکل معمولاً پس از مدتی به طور خودکار حل می شود که همه بسته های اوبونتو به درستی در این آینه ها کلون شوند. با این حال، برای رفع این مشکل می توانید به صورت دستی مکان آینه را تغییر دهید.
برای تغییر سرور دانلود، برنامه «Software & Updates» را از راهانداز برنامه اجرا کنید. در برگه «نرمافزار اوبونتو»، انتخاب «سرور اصلی» در فهرست کشویی «دانلود از» تقریبا تضمینی برای رفع هرگونه مشکل در دسترس بودن بسته است. با این حال، بسته به سرعت دانلود ممکن است پایین باشد روی موقعیت مکانی و نزدیکی شما به سرورها اوبونتو به طور پیشفرض سروری را انتخاب میکند که حداکثر سرعت را بر اساس آن به شما بدهد روی موقعیت فعلی شما. می توانید با انتخاب هر سرور لیست شده یا با کلیک کردن، آن را لغو کنید روی “بهترین سرور” را انتخاب کنید تا انتخاب را ترک کنید روی اوبونتو
ارتقاء بسته ها
ارتقاء بسته های نصب شده می تواند خطاهای وابستگی را برطرف کند. دو دستور برای ارتقاء بسته های اوبونتو وجود دارد که هر دو دارای رفتارهای متفاوتی هستند:
- “ارتقا”: بسته های نصب شده را در صورت موجود بودن به روز رسانی ارتقا می دهد، هیچ بسته ای را حذف نمی کند حتی اگر وابستگی های برآورده نشده و شکسته وجود داشته باشد.
- “Dist-upgrade”: سعی می کند هوشمندانه بسته ها را ارتقا داده و وابستگی ها را حل کند، وابستگی های شکسته را حذف می کند و هر جا که برای رفع خطاها لازم باشد وابستگی های جدید نصب می کند.
دستورات ارتقاء و dist-upgrade به ترتیب عبارتند از:
$ sudo apt dist-upgrade
پاک کردن بسته های ذخیره شده و باقیمانده
مدیر بسته اوبونتو “apt” بسته های دانلود شده را در یک پوشه کش نگه می دارد. دفعه بعد که نیاز به نصب مجدد بسته ای دارید که قبلاً کش شده است، اوبونتو به جای دانلود مجدد از سرور، بسته deb را از پوشه کش دریافت می کند. پاک کردن این کش فضای دیسک را پاک می کند و همچنین در برخی موارد به رفع وابستگی و خطاهای نصب کمک می کند.
کش بسته Apt را می توان با اجرای دستور زیر پاک کرد:
یک دستور apt دیگر “autoclean” وجود دارد که کش بسته را پاک می کند. اما به جای پاک کردن کل پوشه، فقط بسته هایی را که از سرورهای مخزن حذف شده اند حذف می کند.
یک نصب ساختگی انجام دهید
امکان شبیه سازی نصب یک بسته برای بررسی خطاهای احتمالی رخ داده در حین نصب واقعی وجود دارد. دستور زیر را اجرا کنید در حالی که نام بسته را با نام بسته دلخواه خود (بدون نقل قول) جایگزین کنید تا نصب ساختگی انجام شود.
حذف ساختگی می تواند به همین روش انجام شود:
تعمیر بسته های شکسته
ممکن است بسته های شکسته و وابستگی های برآورده نشده داشته باشید، به خصوص زمانی که چندین بسته را همزمان نصب می کنید. دستور زیر سعی میکند این مشکلات را با نصب و تعمیر وابستگیهای شکسته یا با حذف کامل بستهای که مسئول تداخل وابستگی است، برطرف کند.
پیکربندی بستهها به دلیل وقفه نصب نشد
گاهی اوقات مدیر بسته apt به طور ناگهانی بسته هایی را که راه اندازی نشده اند را پشت سر می گذارد. این وقفه ها معمولاً به دلیل عوامل خارج از کنترل مدیر بسته apt است. به عنوان مثال، اگر به طور تصادفی در را ببندید terminal یا کامپیوتر شما ناگهان خاموش شود، apt نمی تواند راه اندازی را تمام کند. اجرای دستور زیر خطاهای بسته و مشکلات وابستگی ناشی از این مشکل را برطرف می کند.
از PPA-Purge استفاده کنید
“بایگانی بسته شخصی” یا PPA یک مخزن نرم افزاری است که به کاربران اوبونتو اجازه می دهد بسته های جدید را از منابع غیر رسمی ارتقا یا نصب کنند. PPA-Purge ابزاری است که این منابع PPA شخص ثالث را حذف میکند و بستههای نصب شده از PPA را به نسخههای موجود کاهش میدهد. استفاده از PPA-Purge هرگونه تعارض وابستگی ناشی از بستههای نصب شده یا ارتقا یافته از PPA را برطرف میکند. برای نصب برنامه خط فرمان PPA-Purge در اوبونتو، دستور زیر را اجرا کنید:
برای پاکسازی PPA، دستور را با فرمت زیر اجرا کنید:
به عنوان مثال، ویرایشگر متن Geany PPA اضافه شده از اینجا با اجرای دستور می توان آن را پاک کرد:
از Aptitude Package Manager استفاده کنید
Aptitude Package Manager را می توان به جای مدیر بسته پیش فرض apt در اوبونتو برای رفع خطاهای وابستگی استفاده کرد. Aptitude جدیدتر از apt package manager است و گزینه های اضافی را ارائه می دهد terminal ظاهری مبتنی بر و سهولت استفاده عمومی. Aptitude بسیاری از گزینه های apt را در یک دستور ترکیب می کند تا مجبور نباشید چندین دستور را برای رفع خطا اجرا کنید.
به عنوان مثال، استفاده از مدیر بسته aptitude برای حذف حتی یک بسته، گزینه ای برای حذف بسته های استفاده نشده و باقیمانده در اختیار شما قرار می دهد، در حالی که یک دستور جداگانه در apt برای انجام همین کار وجود دارد. Aptitude در حل تعارض وابستگی بسیار هوشمندتر از apt است، معمولاً بازخورد دقیقی برای حل تعارض ها ارائه می دهد، با گزینه های متعددی که می تواند توسط کاربر انتخاب شود. من همیشه از نصب aptitude و PPA-Purge اطمینان میدهم روی سیستم من قبل از دریافت هر بسته بسیار آزمایشی.
Aptitude را می توان با اجرای دستور زیر نصب کرد:
Aptitude و apt بسیاری از گزینه های خط فرمان را به اشتراک می گذارند با aptitude که چند تفاوت دارند. شما می توانید تمام گزینه های استعداد را از اینجا.
بسته دسکتاپ اوبونتو را مجددا نصب کنید
با نصب مجدد بسته “ubuntu-desktop” بستههای ضروری که بهطور پیشفرض در اوبونتو نصب شدهاند را وارد میکند. تمام بسته هایی که بستگی دارد را دریافت می کند روی بسته متا اوبونتو دسکتاپ. برای نصب مجدد ubuntu-desktop، دستور زیر را اجرا کنید:
توجه داشته باشید که دستور بالا فقط بستههای هسته ضروری را نصب میکند و برنامههایی مانند فایرفاکس، تاندربرد، پخشکننده ویدیو و غیره را نصب نمیکند.
قبل از ارتقا به نسخه جدیدتر اوبونتو، PPA ها را حذف یا غیرفعال کنید
حتی اگر اوبونتو قبل از انجام ارتقاء سیستم، هر PPA را غیرفعال میکند، برای جلوگیری از خطاهای وابستگی برآورده نشده در حین و پس از ارتقای سیستم، باید هر PPA شخص ثالث را به صورت دستی حذف کنید. بهترین راه برای انجام این کار اجرای دستور PPA-Purge است که در بالا توضیح داده شد.
همچنین می توانید فقط مخازن PPA را حذف کنید. با این حال، این ممکن است از بروز هرگونه خطای وابستگی در حین ارتقا جلوگیری کند. PPA ها را می توان از دو طریق حذف کرد، اولی شامل استفاده از خط فرمان و دومی نیاز به استفاده از یک برنامه رابط کاربری گرافیکی دارد. توجه داشته باشید که این روشها تنها مخازن PPA را حذف میکنند و بستههای نصب شده یا ارتقا یافته قبلی را در سیستم باقی میگذارند.
برای حذف PPA با استفاده از خط فرمان، دستور زیر را با فرمت زیر اجرا کنید:
به عنوان مثال، ویرایشگر متن Geany PPA اضافه شده از اینجا را می توان با اجرای دستور حذف کرد:
برای حذف PPA با استفاده از روش رابط کاربری گرافیکی، معمولاً باید برنامه «Software & Updates» را از راهانداز برنامه اجرا کنید. اما به دلیل وجود اشکال در اوبونتو، این روش همیشه کار نمی کند و PPA ها را غیرفعال نمی کند.
برای دور زدن این موضوع، باید مدیر بسته Synaptic را نصب کنیم که یک frontend برای apt است. برای نصب Synaptic دستور زیر را اجرا کنید:
«Synaptic Package Manager» را از راهانداز برنامه اجرا کنید. کلیک روی «تنظیمات» > «مخزنها». به تب «نرم افزارهای دیگر» بروید و کلیک کنید روی یک PPA که میخواهید آن را حذف کنید تا برجسته شود. کلیک روی دکمه “حذف” در پایین برای حذف PPA از سیستم. همچنین می توانید یک PPA را بدون حذف آن غیرفعال کنید تا پس از ارتقای سیستم دوباره فعال شود. برای انجام این کار، فقط تیک کادر مقابل PPA را بردارید. پس از انجام مراحل بالا، پنجره “نرم افزار و به روز رسانی” را ببندید. وقتی از شما خواسته شد که مخازن را بهروزرسانی کنید، روی آن کلیک کنید روی دکمه “بارگیری مجدد”.
هنگام اضافه کردن PPA های جدید به سیستم محتاط باشید
اغلب اوقات خطاهای وابستگی هنگام استفاده از PPA های شخص ثالث یا نصب بسته های deb از منابع غیر رسمی رخ می دهد. همچنین احتمال ورود بدافزار از طریق PPA به سیستم شما وجود دارد. بنابراین، هنگام افزودن هر PPA تصادفی به سیستم خود همیشه باید مراقب باشید. فقط در صورتی یک PPA اضافه کنید که به منبع و نگهبانان / توسعه دهندگان آن اعتماد دارید. حتی با وجود اینکه تاکنون در مورد بدافزارها یا ابزارهای تبلیغاتی مزاحم توزیع شده از طریق PPA ها نشنیده ایم، همیشه این خطر وجود دارد زیرا این مخازن شخص ثالثی هستند که بسته های آنها توسط توسعه دهندگان اوبونتو تأیید نشده است.
نتیجه
اینها چند روش هستند که می توانند برای رفع و جلوگیری از خطاهای وابستگی در اوبونتو استفاده شوند. همه چیز معمولا خراب می شود، به خصوص زمانی که از اوبونتو به عنوان محیط توسعه اصلی خود با هزاران برنامه شخص ثالث و ابزارهای خط فرمان استفاده می کنید. با این حال، بسیاری از این خطاهای وابستگی را می توان با نصب برنامه هایی از منابع رسمی، معتبر و قابل اعتماد به حداقل رساند.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1403-01-05 06:30:04