সমস্যাগুলি সংশোধন করতে অক্ষম, আপনি ভাঙা প্যাকেজ ধারণ করেছেন


216

10.04 থেকে 12.04 এ আপগ্রেড করার পরে আমি বিভিন্ন প্যাকেজ ইনস্টল করার চেষ্টা করছি। উদাহরণস্বরূপ ia32-libs এবং স্কাইপ (4.0)।

এগুলি ইনস্টল করার চেষ্টা করার সময়, আমি 'সমস্যাগুলি সংশোধন করতে অক্ষম, আপনি ভাঙা প্যাকেজগুলি ধারণ করেছেন' ত্রুটি বার্তাটি পাচ্ছি।

আদেশের আউটপুট:

sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

এটি চালানোর পরে:

sudo dpkg --configure -a
foo@foo:~$ sudo apt-get install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

3
আপনি যদি আমাদের যে কমান্ডটি প্রকৃতপক্ষে চেষ্টা করছেন (যেমন sudo apt-get install ia32-libs) এবং সেই আদেশটি থেকে আউটপুট দেখিয়েছেন তবে এটি সাহায্য করতে পারে । এছাড়াও, sudo apt-get dist-upgradeকোনও উপলব্ধ আপডেট দেখায়?
thosmasrutter

3
আমি জানি না যে আপনার প্রশ্নে কী হয়েছে, আমি কোনও আসল ত্রুটি দেখতে পাচ্ছি না বা আপনার শিরোনামে আপনি যে বর্ণনা করেছেন।
ব্রিয়াম 14


উত্তর:


237

এই বিশেষ ত্রুটি বার্তায় ইঙ্গিত হতে পারে যে আপনি প্যাকেজ ধারণ করেছেন, তবে এটি অন্যরকম সমস্যাও নির্দেশ করতে পারে।

আপনি এটির সাথে প্রকৃত অনুষ্ঠিত প্যাকেজগুলির একটি তালিকা পেতে পারেন :

dpkg --get-selections | grep hold

যদি কেউ না থাকে বা কারও সাথে সম্পর্কিত না দেখায় তবে সম্ভবত এটি অন্যরকম কিছু। ত্রুটি বার্তাটি পাওয়ার সময় আপনি যে কমান্ডটি চেষ্টা করেছিলেন তার আউটপুটটি সাবধানতার সাথে পরীক্ষা করে দেখুন, কারণ ত্রুটি বার্তাটি বাদ দিয়ে এই কমান্ডের সম্পূর্ণ আউটপুটে অন্য কোনও চিহ্ন থাকতে পারে।

সমস্যা সমাধানের আর একটি পদ্ধতি আপনার প্যাকেজটি ইনস্টল করার চেষ্টা করতে অ্যাপট-গেটের চেয়ে প্রবণতা ব্যবহার করা হতে পারে:

sudo aptitude install <packagename>

প্রবণতা কম সহজেই ছেড়ে দেবে, এবং এমন সমাধানগুলি সন্ধান করার চেষ্টা করবে যাতে অন্যান্য প্যাকেজগুলি সংশোধন করতে পারে। এটি আপনাকে সমস্যার আরও ব্যাখ্যা এবং এটির সমাধানের বিকল্পগুলি দিতে পারে।

মাঝেমধ্যে দক্ষতা আপনার অনুরোধটি পূরণ করতে বিপুল সংখ্যক প্যাকেজ অপসারণ বা ডাউনগ্রেস করতে আগ্রহী হবে, -fসেক্ষেত্রে পরিবর্তনের সাথে পুনরায় চেষ্টা করা হলে এর অগ্রাধিকারগুলি পরিবর্তন করা হয় এবং এটি এমন সমাধানগুলির সাথে আসতে সহায়তা করে যা এর মধ্যে আপনি কমেন্ট প্যাকেজ অপসারণ / ডাউনগ্রেড করার সাথে জড়িত এমনকি যদি আপনি অনুরোধ করেন এমন সমস্ত পরিবর্তন নাও হয় এগিয়ে যেতে পারেন:

sudo aptitude -f install <packagename>

6
কীভাবে কোনও প্যাকেজ আনহোল্ড করবেন? :-)
ইউজিন ভ্যান ডের মেরভে


59
প্রবণতা আমার কাছে এপট-গেটের চেয়ে বেশি সহায়ক ছিল, ইঙ্গিতটির জন্য ধন্যবাদ।
szx

9
একটি বিষয় লক্ষণীয় যে প্রবণতা আপনার সিস্টেমে আরও বেশি ক্ষতি করা সহজ করে তুলতে পারে। উদাহরণস্বরূপ, বিরোধী নির্ভরতার কারণে যদি অ্যাপ্ট-গেট কিছু ইনস্টল করতে ব্যর্থ হয় তবে তা ছেড়ে দেবে। যাইহোক, প্রবণতাটি এগিয়ে যাওয়ার প্রস্তাব দিতে পারে, তবে এই বিরোধগুলি - বা এমনকি প্যাকেজগুলি ডাউনগ্রেড করার জন্য অন্যান্য প্যাকেজগুলির পুরো গুচ্ছটি আনইনস্টল করুন। এটি কেবল কি প্রস্তাব করছে সে সম্পর্কে আপনাকে সচেতন থাকতে হবে এবং এটি ভাল ধারণা হলেই এগিয়ে যেতে হবে।
থোমাস্রুটার

4
"হোল্ড" প্যাকেজগুলির সাথে বার্তাটির কোনও যোগসূত্র নেই, কেবল যে এগুলি ধরে রাখার দ্বারা সংঘাত এড়ানো হয়েছিল (ইনস্টল, আপগ্রেড, ডাউনগ্রেডিং বা অপসারণ না করে)।
ব্রায়াম

33

আমার ক্ষেত্রেও তা ঘটেছিল। আমি sudo apt-get updateযা করেছি তা হ'ল এটিই আমার সমস্যার সমাধান করেছিল। শুভকামনা।


9

আমি অনুপস্থিতি নির্ভরতা সম্পর্কিত একটি অনুরূপ দৃশ্যে ছুটেছি। আমার ক্ষেত্রে আমি উবুন্টু সসি সালামান্ডার ১৩.১০ তে কার্ল ইনস্টল করার চেষ্টা করছিলাম ...

ত্রুটিটি উল্লেখ করেছে যে নির্ভরতাটির জন্য কার্ল 3 লাইব্রেরির পূর্ববর্তী সংস্করণ প্রয়োজন।

প্রবণতা ব্যবহার করে কার্ল ইনস্টল করার চেষ্টা করে আমি পূর্ববর্তী সংস্করণে অবনতি করতে সক্ষম হয়েছি।

যখন এটি অনুপস্থিত নির্ভরতা এবং কারণটি উল্লেখ করেছে (গ্রন্থাগারের ফাইলটির একটি পূর্ববর্তী সংস্করণ প্রয়োজন) তখন এটি কীভাবে প্রতিক্রিয়া জানাতে পারে তার বিভিন্ন বিকল্প আমাকে দিয়েছে ... y// n/q

Yইনস্টলটি বাতিল করে দেওয়া Nহত, অন্য বিকল্পের সন্ধান Qকরবে এবং ভাঙা প্যাকেজটি রেখে কেবল কিছু ছেড়ে দেবে এবং কিছুই করবে না।

আমি নির্বাচন করেছি Nএবং এটি আমাকে পূর্ববর্তী সংস্করণে লাইব্রেরি ফাইলটি ডাউনগ্রেড করার বিকল্প দিয়েছে। সুতরাং আমি এটিই করেছি এবং কার্ল কোনও ত্রুটি ছাড়াই ইনস্টল করা শেষ করে।

  • আমি ইনস্টলারের পরে লাইব্রেরি ফাইলটি আবারো আপগ্রেড করার দিকে লক্ষ্য করতে পারি তবে হেই, এতক্ষণ ভাল।

9

14.04-র একটি নতুন ইনস্টলটিতে আমার অনুরূপ দৃশ্য ছিল, এতে কোনও ফাইল তালিকাভুক্ত নয় এবং এর dpkg --get-selections | grep holdপরে কোনও আনন্দ নেই sudo apt-get update

কি করেনি আমার জন্য এটা ঠিক একটি সহজ ছিল

sudo apt-get autoremove

আমি যখন ব্যর্থ প্যাকেজটি পুনরায় ইনস্টল করার চেষ্টা করেছি তখন এটি দুর্দান্ত ছিল। হ্যাঁ!


4

একই সমস্যা ছিল, আমি অন্য উত্তর ( dpkg --get-selections | grep hold) থেকে দেখেছি এবং সেই প্যাকেজ চেক কমান্ডটি চালিয়েছি

tomcat7                                         deinstall
tomcat7-common                                  install

সুতরাং আমি " apt-get remove tomcat7-common" ব্যবহার করেছি

তারপরে আমি টমকেট 6 ইনস্টল করতে পারলাম (আমি টমকেট 7 সরিয়েছিলাম এবং আপনার মতো টমক্যাট 6 ইনস্টল করছি)।


"হোল্ড" প্যাকেজগুলির সাথে এই বার্তাটির কোনও সম্পর্ক নেই, কেবল এগুলি ধরে রাখার মাধ্যমে সংঘাত এড়ানো হয়েছিল (ইনস্টল করা, আপগ্রেড করা, ডাউনগ্রেডিং বা অপসারণ করা হয়নি)
ব্রেইম

পতাকা পরিস্কার যুক্ত করুন: অপট-রিমুভ --পেজ প্যাকেট
সেরজিও

4

এই you have held broken packagesত্রুটিটি ঠিক করার কিছু দ্রুত এবং সহজ উপায় ।

  • আপনার উত্স.লিস্ট ফাইলটি এতে খুলুন /etc/apt/sources.listএবং পরীক্ষা করুন যে আপনি বর্তমানে ব্যবহৃত উবুন্টু মুক্তির চেয়ে আলাদা উবুন্টু মুক্তির জন্য কোনও সফ্টওয়্যার উত্স নেই। সোর্স.লিস্টে যদি আপনার কোনও ভুল রিলিজ লাইন পাওয়া যায়, তবে উত্সগুলি তালিকাভুক্ত ফাইলটি খুলুন, উত্স sudoedit /etc/apt/sources.listঅনুসারে ভুল রেখাগুলি মন্তব্য করুন list তালিকার পূর্বে একটি #অক্ষর রেখে সোর্স.লিস্ট ফাইলটি সংরক্ষণ করুন, এবং sudo apt updateতালিকাটি আপডেট করার জন্য রান করুন উপলব্ধ সফ্টওয়্যার প্যাকেজ।

  • সিনাপটিক প্যাকেজ ম্যানেজারে ব্রোকন প্যাকেজগুলি নির্বাচন করুন । সিনাপটিক ইনস্টল করতে নিম্নলিখিত কমান্ডগুলি চালান।

    sudo apt update  
    sudo apt upgrade   
    sudo apt install synaptic  
    

    সিনাপটিক খুলুন এবং সিনাপটিক এডিট -> ব্রোকড প্যাকেজগুলি ঠিক করুন এবং তারপরে সম্পাদনাটি পুনরাবৃত্তি করুন -> দ্বিতীয় বারের মতো ভাঙা প্যাকেজগুলি ঠিক করুন

    বাম ফলকে সিন্যাপটিকে কাস্টম ফিল্টার বোতামটি ক্লিক করুন যা নীচের স্ক্রিনশটে মাউস কার্সার দ্বারা চিহ্নিত রয়েছে। উপরের বাম কোণার তালিকা থেকে ব্রোকন নির্বাচন করুন । কেন্দ্রের ফলকে এমন কোনও ভাঙা প্যাকেজ তালিকাভুক্ত করা হবে যা এখনও মেরামত করা দরকার।

    সিনাপটিকে ভাঙ্গা প্যাকেজগুলি দেখান

    একবারে ভাঙ্গা প্যাকেজগুলি নির্বাচন করুন। একটি ভাঙ্গা প্যাকেজ নির্বাচন করুন, এবং তারপরে টার্মিনালটি খুলুন এবং রান করুন । এই কমান্ডের ফলাফলগুলি আপনাকে বলবে যে এই ভাঙ্গা প্যাকেজটি ডিফল্ট উবুন্টু সংগ্রহস্থল বা অন্য কোনও উত্স থেকে ইনস্টল করা হয়েছিল কি না। যদি ভাঙা প্যাকেজটি অন্য কোনও উত্স থেকে ইনস্টল করা থাকে তবে সম্ভবত সেই প্যাকেজটি তার সফ্টওয়্যার উত্স সহ অপসারণ করা যেতে পারে এবং একই প্যাকেজের ডিফল্ট উবুন্টু সংগ্রহস্থল থেকে আলাদা সংস্করণ দ্বারা প্রতিস্থাপন করা যেতে পারে। সাধারণত এর অর্থ হল সেই প্যাকেজটিকে পুরানো সংস্করণে ডাউনগ্রেড করে একটি ভাঙ্গা প্যাকেজ ঠিক করা।apt policy <package-name>

  • যদি আপনি এই ত্রুটি বার্তাটি পান:

    Try 'apt-get -f install' with no packages (or specify a solution)  
    

    নিম্নলিখিত আদেশগুলি চালান:

    sudo apt update  
    sudo apt upgrade   
    sudo apt-get -f install   
    
  • ম্যানুয়ালি একটি ভাঙা প্যাকেজ সরান।

    1. আপনার প্যাকেজটি এতে সন্ধান করুন /var/lib/dpkg/info

      ls -l /var/lib/dpkg/info | grep <package>
      
    2. প্যাকেজ ফোল্ডারটি অন্য কোনও স্থানে সরান।

      cd /tmp && sudo mkdir new-package-location  
      sudo mv /var/lib/dpkg/info/<package>.* /tmp/new-package-location/    
      
    3. নিম্নলিখিত কমান্ড চালান:

      sudo dpkg --remove --force-remove-reinstreq <package>  
      

যদি এই সমস্ত পদ্ধতি ব্যবহার না করে তবে এটি সম্ভবত সম্ভব যে ভাঙা প্যাকেজগুলি এমন কোনও কারণে ঘটেছিল যা অপারেটিং সিস্টেমে এত গভীরভাবে এমবেড করা হয়েছিল যে এই পদ্ধতির কোনওটিরই তার কোনও প্রভাব নেই। গভীরভাবে এম্বেড থাকা "কিছু" সন্ধানের জন্য প্রথম সুস্পষ্ট জায়গাটি হল সফ্টওয়্যার সূত্রে /etc/apt/sources.list। উত্স.লিস্ট ফাইলটি পরীক্ষা করে দেখুন এটিতে কোনও মানহীন লাইন রয়েছে যা ভঙ্গ প্যাকেজগুলির ত্রুটির কারণ হতে পারে if একটি স্ট্যান্ডার্ড উবুন্টু উত্স.লিস্ট ফাইলটি এই উত্তরে উত্স.লাইস্ট ফাইলগুলির মতো দেখাচ্ছে ।

উত্স থেকে কোন সন্দেহজনক রেখা অপসারণ করার সঠিক উপায় list তালিকাটি একটি #চরিত্রের আগে এটি মন্তব্য করে । তারপরে sudo apt updateউপলভ্য সফ্টওয়্যারটির তালিকাটি রিফ্রেশ করতে চালান ।


0

আমার জন্য, উপরের কোনওটিই কাজ করেনি কারণ আমার সিস্টেম আপডেট হয়নি। আমি করেছিলাম

Home Key > Software Updater > Install

এবং আমার সিস্টেম আপডেট করেছে; এরপরে, আমি সাধারণত আমার প্যাকেজটি ইনস্টল করতে পারি apt

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.