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