۱۳۹۹/۸/۲۶ فناوری اطلاعات

کی بازار- مدیر بسته‌ها (یا همان پکیج منیجرهای) لینوکس مانند Apt یا DNF به شدت قوی و بصری هستند؛ اما بدین معنا نیست که عاری از هر عیب و نقصی هستند. برخی‌اوقات، یک بسته اشتباه نصب می‌شود و تنها شما می‌مانید و زحمتِ تعمیر این خرابی! مدیر بسته‌ها قابلیت این را دارند که بسته‌های خراب را تعمیر کرده و شما را از آپدیت‌های ناقص عبور دهند. بدین‌ترتیب، سیستم شما می‌تواند باری دیگر کار کرده و این تضمین نیز به شما داده می‌شود که در آینده سیستم به هیچ مشکلی از این جنس برنخواهد خورد. در ادامه با ما همراه شوید تا توضیح دهیم می‌شود بسته‌های خراب لینوکس را درست کرد.

رفع بسته‌های خراب در اوبونتو

Apt چندین فلگ دارد که شما می‌توانید از آن‌ها برای تعمیر ملحقات یا بسته‌های الزامی –که بر هر علتی در طول فرآیند نصب خراب شدند- استفاده کنید. کارکرد رایج این بخش، نصب یک deb. سوم‌شخص و پیدا کردن ملحقاتی است که شاید از وجودشان خبر نداشتید. این ملحقات شاید به خودی خود کشیده[1] نشوند و dpkg نیز بدین‌تریب شکایت خواهد کرد که این بسته از قلم افتاده است. در چنین موردی، می‌توانید اقدامات زیر را انجام دهید:

ابتدا آپدیتی را اجرا کنید که مطمئنید در آن، نسخه‌های جدیدتر بسته‌های مورد نیاز لازم نیست.

sudo apt update --fix-missing

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

sudo apt install –f


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

ابتدا سعی کنید dpkg را مجبور به تعمیر هر بسته‌ی ناقص یا نصفه‌تنظیم‌شده کنید:

sudo dpkg --configure –a

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

 sudo dpkg -l | grep ^..r

اکنون باید بسته (های) مشکل‌دار را مشاهده نمایید. مادامیکه به نظر نرسد چیزی به اینجا تعلق دارد می‌توانید بسته‌های خراب را اجبار به حذف[2] کنید.

sudo dpkg --remove --force-remove –reinstreq

وقتی dpkg کارش را کرد، سعی کنید آن را با apt پاک کنید.

sudo apt clean

sudo apt update

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

قفل دائمی  DPKG

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

sudo rm /var/lib/apt/lists/lock

محض اطمینان، قفل را در cache پاک کنید.

sudo rm /var/cache/apt/archives/lock

تعمیر بسته‌های خراب در Fedora/CentOS/RHEL

کمتر پیش بیاید مجبور شویم پکیج‌های خراب در Fedora/CentOS/RHEL را تعمیر کنیم زیرا yum و dnf در نصب صحیح بسته‌ها بسیار زیرکانه عمل می‌کنند. با این حال، وقت‌هایی هم هست که کارکرد بسته بهم می‌ریزد. فرمان تعمیر این خرابی از قرار زیر است:

sudo rpm –Va

گزینه V – برای تأیید است؛ بدین‌معنا که می‌رود تا اطلاعات موجود روی فایل‌های نصب‌شده را با اطلاعات ذخیره‌شده در پایگاه اطلاعاتی rpm مقایسه کند. این کار اما مفید نیست زیرا معمولاً با فهرست بلندبالایی از فایل‌ها مواجه خواهید شد؛ اما اگر به طور خاص مشکلتان با اپ است می‌تواند کمکتان کند. شما می‌توانید روی هر بسته‌ای که در آن لیست مشاهده می‌کنید (که به گمانتان مشکل‌ساز است) dnf را فرمان dnf reinstall را اجرا کنید:

 sudo dnf --refresh reinstall PACKAGE_NAME

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

 

[1] pull

[2] force-remove

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