شناسایی و تعمیر بسته های شکسته در لینوکس
مدیریت پکیج در سیستم عامل لینوکس، اجازه می دهد تا بسته ها را به راحتی نصب و حذف نموده و تحت کنترل قرار دهید. همچنین، این ابزار به شما در یافتن و نصب مجدد بسته های خراب شدهی لینوکس برای حل مشکلات مختلف مرتبط با آنها کمک خواهد کرد.
در صورتی که با دستورالعملهای مناسب برای یافتن و تعمیر بسته های خراب شده در سیستم عامل لینوکس آشنا نیستید، در ادامه به بررسی مختصر بسته های خراب شده در انواع توزیعهای لینوکس پرداخته و روشهای صحیح نصب مجدد آنها را بیان خواهیم نمود.
همچنین در بایت گیت بخوانید: مزایای استفاده از لینوکس برای برنامهنویسان
بسته شکسته در لینوکس چیست؟
در هنگام نصب یک بسته جدید در سیستم عامل لینوکس، مدیریت پکیج (Package Manager) به عهده دار فرآیند کلی نصب است. با این حال، در برخی مواقع، به دلیل بروز مشکلات غیرمنتظره، فرآیند نصب ممکن است متوقف شده و بسته به طور کامل نصب نشود. این بسته ها در لینوکس به عنوان “بسته های شکسته” شناخته می شوند.
به عنوان مثال، در صورت شناسایی بسته های شکسته در سیستم توسط مدیر بسته APT، امکان نصب سایر بسته ها را نخواهد داشت. در این شرایط، تعمیر بسته های شکسته، تنها راه حل ممکن برای رفع مشکلات مرتبط با آنها خواهد بود.
مدیریت بسته ها در لینوکس
در سیستم عامل لینوکس، مدیریت بسته ها (Package Manager) قادر به پیگیری و رسیدگی به بسیاری از مسائل از جمله نصب ناموفق است. با این حال، در برخی مواقع، مشکلات گوناگونی پیش می آیند که تنها با تجربه و شهودی حل می شوند. راه حل برای رفع بسته های شکسته در سیستم عامل لینوکس، شامل چند مرحله می باشد که عبارتند از:
- شناسایی بسته های شکسته: در این مرحله، باید بسته هایی که به دلیل مشکلات مختلف به طور کامل نصب نشده اند، شناسایی شوند.
- نصب مجدد آن ها: پس از شناسایی بسته های شکسته، باید آنها را دوباره نصب کرد. این فرآیند به دلیل امکان ایجاد تغییرات می تواند موجب بهبود عملکرد سیستم شود.
- به روزرسانی لیست بسته های سیستم: در این مرحله، باید لیست بسته های سیستم به روزرسانی شود. این کار باعث اطمینان حاصل می شود که تمامی بسته های موجود در سیستم، نسخه های به روز و قابل استفاده هستند.
تعمیر و نصب دوباره بسته های شکسته در دبیان
هر مدیر بسته، انواع مختلفی از بسته ها را مدیریت می کند. به عنوان مثال، با استفاده از Red Hat Package Manager (RPM)، DNF و YUM برای دانلود و نصب بسته های RPM فعالیت می کنند. همچنین APT برای نرم افزار پایه dpkg در توزیع های مبتنی بر دبیان کاربرد دارد.
APT به عنوان مدیر بسته پیشفرض، در هر توزیع مبتنی بر دبیان از پیش نصب شده است. با این حال، کاربران دبیان و اوبونتو، بسته ها را به صورت دستی با استفاده از dpkg قابل دانلود و نصب می کنند.
برای رفع مشکلات بسته های شکسته در توزیع های مبتنی بر دبیان با استفاده از APT ، نیاز است ترمینال را با فشار دادن کلیدهای ترکیبی Ctrl + Alt + T باز کرده و دستور زیر را وارد کنید:
sudo apt update --fix-missing
در ادامه، لازم است که لیست بسته های سیستم خود را از منابع موجود به روز کنید.
sudo apt update
پس از به روزرسانی لیست بسته های سیستم، با استفاده از آرگومان -f ، می توانید بسته های شکسته را نصب کنید. APT به طور خودکار بسته های شکسته را در سیستم شما جستجو می کند و آنها را از مخزن رسمی دوباره نصب می کند.
sudo apt install -f
در صورتی که مراحل فوق برای شما به درستی کار نکرد، با استفاده از dpkg می توانید مشکل را حل کنید. برای این منظور، ابتدا dpkg را مجبور به پیکربندی مجدد تمام بستههای در انتظاری که قبلاً بازگشایی شدهاند اما نیاز به پیکربندی دارند، کنید. آرگومان -a در دستور مخفف همه است.
sudo dpkg --configure -a
در dpkg، برای دریافت لیستی از تمام بستههایی که توسط dpkg به عنوان مورد نیاز علامت گذاری شدهاند، از دستور زیر استفاده میشود:
sudo dpkg -l | grep ^..r
برای حذف تمام بستههای شکسته، از پرچم –remove استفاده کنید. دستور زیر را اجرا نمایید:
sudo dpkg --remove --force-remove-reinstreq
لازم است کش بسته را پاک کنید و اسکریپتها را با استفاده از apt clean نصب کنید. برای این منظور دستور زیر را وارد کنید:
sudo apt clean
سپس، لیست بسته های سیستم خود را با استفاده از دستور زیر به روز کنید:
sudo apt update
ترمیم بسته های شکسته در Fedora/CentOS و RHEL
اگرچه YUM و DNF در مدیریت خودکار بستههای شکسته عالی عمل میکنند، اما گاهی اوقات مشکلاتی به وجود میآیند زیرا هزاران بسته بر روی یک سیستم لینوکس نصب شدهاند. در چنین شرایطی، میتوانید از RPM (مدیر بسته پایه برای Fedora و CentOS) برای رفع سریع چنین مشکلاتی استفاده کنید.
برای تأیید تمام بستههای موجود در سیستم، از آرگومان -V استفاده کنید.
sudo rpm -Va
با استفاده از دستور زیر، می توانید یک لیست طولانی حاوی تمام بستههای نصب شده روی سیستم خود را مشاهده کنید. سپس، برای نصب مجدد بستهای که فکر میکنید ممکن است باعث مشکل بسته شکسته شده باشد، از دستور زیر استفاده کنید.
sudo dnf --refresh reinstall packagename
تشخیص اینکه کدام بسته باعث ایجاد مشکل شده است ممکن است خسته کننده باشد. با این حال، RPM یک مدیر بسته قدرتمند است و به ندرت با چنین مشکلاتی مواجه خواهید شد. در صورتی که در آینده نزدیک با مشکل مشابهی مواجه شدید، دانستن چگونگی رفع این مشکلات همچنان مهم است.