The following packages have unmet dependencies এররটি উবুন্টু ব্যবহারকারীদের দীর্ঘদিন ধরে পীড়িত করছে। APT প্যাকেজ ম্যানেজমেন্ট সহজ হলেও থার্ড-পার্টি ডিপেন্ডেন্সি মিক্স করলে এই এরর আসে। ইন্সটলেশন ফেইল হয় কোনো স্পষ্ট কারণ ছাড়া। এটি নির্দিষ্ট প্রোগ্রামের সমস্যা নয়, APT সিস্টেমের সমস্যা।
নিচে একাধিক সমাধান দেওয়া হলো, সহজ থেকে কঠিন ক্রমে। নির্দেশনা মেনে চললে এরর দ্রুত চলে যাবে।
নোট: যেকোনো পদ্ধতি করার আগে কনফিগারেশন ফাইল ব্যাকআপ নিন।
- Ctrl+Alt+T চাপে টার্মিনাল খুলুন।
- sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.original টাইপ করে এন্টার চাপুন।
পদ্ধতি ১: -f প্যারামিটার ব্যবহার
সবচেয়ে সহজ। sudo apt-get install PACKAGENAME এর বদলে sudo apt-get install -f চালান। -f ব্রোকেন ডিপেন্ডেন্সি ফিক্স করার চেষ্টা করে।
- টার্মিনাল খুলুন (Ctrl+Alt+T)।
- sudo apt-get install -f চালান।
- শেষ হলে sudo dpkg –configure -a চালান, আবার ধাপ ২ दुहरান।
পদ্ধতি ২: Aptitude ব্যবহার
Aptitude হলো apt-get-এর অল্টার্নেটিভ হাই-লেভেল প্যাকেজ ম্যানেজার।
- টার্মিনাল খুলুন (Ctrl+Alt+T)।
- sudo apt-get install aptitude চালান।
- sudo aptitude install PACKAGENAME চালান। এটি এপ্ট-গেটের বদলে অ্যাপটিটিউড দিয়ে ইনস্টল করার চেষ্টা করবে।
পদ্ধতি ৩: restricted এবং universe রিপোজিটরি সক্রিয় করে ভালো সার্ভার বেছে নেওয়া
- Alt+F2 চাপুন, software-properties-gtk লিখে এন্টার।
- Ubuntu Software ট্যাবে সব রিপোজিটরি (main, universe, restricted, multiverse) সক্রিয় করুন।
- Download from লিস্ট থেকে Select Best Server ক্লিক করুন।
- Ctrl+Alt+T দিয়ে টার্মিনাল খুলুন, sudo apt-get update চালান। আপডেট শেষ হলে আবার ইনস্টল চেষ্টা করুন।
পদ্ধতি ৪: প্যাকেজ ডাটাবেস ক্লিন করা
করাপ্ট প্যাকেজ ডাটাবেস সমস্যা সৃষ্টি করতে পারে। দুটি কমান্ড দিয়ে ক্লিন করুন:
- sudo apt-get clean — লোকাল রিপোজিটরি থেকে সব .deb ফাইল মুছে ফেলে (লক ফাইল বাদে)।
- sudo apt-get autoclean — আর ডাউনলোড করা যাবে না এমন প্যাকেজগুলো মুছে ফেলে।
পদ্ধতি ৫: হেল্ড প্যাকেজ সরিয়ে ফেলা
হেল্ড প্যাকেজ ডিপেন্ডেন্সি সমস্যায় থাকে। এগুলো সরিয়ে দিলে সমস্যা সমাধান হতে পারে।
- টার্মিনাল খুলুন (Ctrl+Alt+T)।
- sudo apt-get -u dist-upgrade চালান। হেল্ড প্যাকেজ দেখাবে।
- প্রথমে sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade চেষ্টা করুন। যদি X not upgraded দেখায় (X = হেল্ড প্যাকেজ সংখ্যা), তবে একে একে মুছুন।
- sudo apt-get remove –dry-run PACKAGENAME দিয়ে মুছুন। সব মুছে ফেলার পর সমস্যাযুক্ত প্যাকেজ ইনস্টল চেষ্টা করুন।
পদ্ধতি ৬: PPA পায়ার্জ/রিমুভ/ডিজেবল
PPA (Personal Package Archives) লঞ্চপ্যাড হোস্টেড রিপোজিটরি। অফিসিয়াল রিপোতে নাই এমন প্যাকেজ আপগ্রেড/ইনস্টল করতে ব্যবহার হয়। अनমেট ডিপেন্ডেন্সির Haupt কারণ।
ডিজেবল: Alt+F2 → software-properties-gtk → Other Software ট্যাবে PPA-এর দুটি লাইন অনচেক করুন।
পায়ার্জ: PPA-এর সব প্যাকেজ অফিসিয়াল ভার্সনে ডাউনগ্রেড করে PPA ডিজেবল করে। ppa-purge ইনস্টল করতে apt ব্রোকেন থাকলে নিচের কমান্ড টার্মিনালে চালান:
mkdir ppa-purge && cd ppa-purge && wget https://old-releases.ubuntu.com/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget https://ftp.u-picardie.fr/mirror/ubuntu/ubuntu/pool/main/a/aptitude/aptitude_0.8.10-6ubuntu1_i386.deb && sudo dpkg -i ./*.deb
এরপর sudo ppa-purge ppa:someppa/ppa চালান। PPA সম্পূর্ণ রিমুভ করতে:
- sudo apt-get autoremove –purge PACKAGENAME
- sudo add-apt-repository –remove ppa:someppa/ppa
- sudo apt-get autoclean
এরপর প্রয়োজনীয় প্যাকেজ ইনস্টল করা যাবে।
প্রিভেনশন ভালো: সিস্টেম আপ-টু-ডেট রাখুন, ট্রাস্টেড PPA ব্যবহার করুন, ওয়ার্কিং স্টেটে ব্যাকআপ নিন।