কম্পিউটার টিউটোরিয়াল

লিনাক্সে 'You Have Held Broken Packages' ত্রুটি ফিক্স (Apt)

আপনি দেখতে পেতে পারেন যে আপনি লিনাক্সে একটি প্যাকেজ ইনস্টল করার চেষ্টা করছেন এবং একটি ভয়ংকর লাইন পাচ্ছেন যেটি পড়ে E: Unable to correct problems, you have held broken packages। ইনস্টলেশন এরপর এই পয়েন্টের বাইরে এগিয়ে যেতে từ চায়। আপনি এটা যেকোনো লিনাক্স ডিস্ট্রিবিউশনে পেতে পারেন যা apt-get ব্যবহার করে প্যাকেজ ম্যানেজ করতে, যেটিতে Debian এবং বিভিন্ন Linux Mint এবং Ubuntu স্পিন-অফ ইনক্লুডেড।

এটি ব্রোকেন ডিপেনডেন্সি দিয়ে কারণ হয়, যা একটি সাইড-ইফেক্ট হয় প্যাকেজ ইনস্টল্ড থাকার কারণে যেগুলো অন্যান্য প্যাকেজের ওপর নির্ভর করে যেগুলো ইনস্টল্ড নয়। যখন apt-get কিছু ইনস্টল করার জন্য যায়, সেটি দেখে যে সেটির প্রয়োজনীয় কিছুতে এক্সেস নেই এবং তাই কন্টিনিউ করতে পারে না। কিছু বেসিক কমান্ড লাইন ট্রিকস এবং একটি গ্রাফিক্যাল টুল সব কিছু দ্রুত ফিক্স আপ করতে পারে।

মেথড ১: dpkg --configure ব্যবহার করে Held Broken Packages ফিক্স করা

টার্মিনালে কাজ করার সময়, sudo dpkg --configure -a চালানোর চেষ্টা করুন একটি অটোমেটিক আপডেট প্রসেস শুরু করতে যা আপনার সিস্টেমে ব্রোকেন ডিপেনডেন্সি খুঁজে বের করবে যেগুলো প্যাকেজের কারণে হয়েছে যেগুলো ইনস্টল্ড নয়। এই টুলটি অটোমেটিক্যালি যেকোনো প্যাকেজ ইনস্টল করবে যা সেটি মনে করে আপনি মিস করছেন ইউজার ইন্টারভেনশন ছাড়া, যদিও আপনাকে যদি কিছু ইনস্টল করতে বলা হয় তবে y কী প্রেস করুন প্রম্পটের রেসপন্স দিতে।

যদি এটি কোনো ব্রোকেন প্যাকেজ না পায়, তবে আপনাকে কোনো আউটপুট দেখতে হবে না। আমরা এটি একটি ক্লিন টেস্ট মেশিনে রান করেছিলাম Xubuntu রানিং, তাই এটা কোনো এরর খুঁজে পায়নি, কিন্তু আপনি যদি "Unable to Correct Problems, You have Held Broken Packages" সমস্যা পান তবে এটি কিছু প্যাকেজ খুঁজে পেতে পারে যা আপনাকে ইনস্টল করতে হবে। একবার আপনি এটি রান করলে, sudo apt-get install -f কমান্ড লাইন থেকে ট্রাই করুন।

এই প্রোগ্রামটি যাবে এবং একটি ডিপেনডেন্সি লিস্ট বিল্ড করবে তারপর স্টেট ইনফরমেশন রিড করবে। আপনি যদি একটি মেসেজ পান যেটি বলে "0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded" packages, তবে আপনি হয় কোনো ব্রোকেন ডিপেনডেন্সির সাথে কাজ করছিলেন না অথবা পূর্বের কমান্ড সব কিছু ফিক্স করল। এই পয়েন্টে, আপনি sudo apt-get clean && sudo apt-get update রান করতে পারেন এবং তারপর sudo apt-get upgrade আপনার সিস্টেমের সব প্যাকেজ আপডেট করতে। এতে কিছুটা সময় লাগতে পারে নির্ভর করে আপনার সিস্টেম কতক্ষণ এই প্যাকেজ ইস্যু 갖고 ছিল।

মেথড ২: dist-upgrade কমান্ড ব্যবহার করুন

আপনি যদি একটি মেসেজ পান যেটি বলে "some packages have been held back" তাই আপনি পূর্বের কমান্ড সফলভাবে কমপ্লিট করতে পারেননি, তবে আপনাকে sudo apt-get dist-upgrade রান করা উচিত বাকি এই প্যাকেজগুলো ইনস্টল করতে। একটি রেগুলার আপগ্রেডের ফাংশন পারফর্ম করার পাশাপাশি, dist-upgrade অপশন চেঞ্জড ডিপেনডেন্সি হ্যান্ডেল করে প্যাকেজের নিউতন ভার্সনসহ। যেহেতু apt-get-এ একটি স্পেশাল কনফ্লিক্ট সিস্টেম রয়েছে, এটি সাধারণত সবচেয়ে গুরুত্বপূর্ণ প্যাকেজগুলো আপগ্রেড করার চেষ্টা করে কম গুরুত্বপূর্ণ গুলোর কিছু না করার খামখায়। এই কমান্ড ব্যবহার করা এমনকি সেগুলোকে আপডেট করতে ফোর্স করে।

そう言うと, যদি কোনো ব্রোকেন প্যাকেজ ডিটেক্ট না হয় তবে আপনি শুধু একটি থার্ড মেসেজ পাবেন কিছুই আপগ্রেড হয়নি এবং কিছুই নিউতন ইনস্টল হয়নি। যদি এই কেস হয়, তবে আপনি sudo apt-get upgrade আবার ট্রাই করতে পারেন যাতে কোনো চেঞ্জ থাকলে অটোমেটিক আপগ্রেড সাবরুটিন কাজ করতে পারে। অন্যদিকে, আপনি যদি স্পেসিফিক প্যাকেজের নাম জানেন যা আপনার প্রয়োজন, তবে আপনি সেটি ম্যানুয়ালি ইনস্টল করতে পারেন।

উদাহরণস্বরূপ, অনুমান করুন যে GNUStep রানটাইম কম্পোনেন্ট ছিল যা আপনার thiếu ছিল যেহেতু আপনি ভয়েস সিনথেসিস ব্যবহার করতে চেয়েছিলেন। আপনি সহজে sudo apt-get install gnustep-gui-runtime টাইপ করতে পারেন এই ভাইটাল প্যাকেজ ইনস্টল করতে। মনে রাখবেন এটি মাত্র একটি উদাহরণ এবং আপনি gnustep-gui-runtime-কে যেকোনো প্যাকেজের নাম দিয়ে রিপ্লেস করতে পারেন যা আপনাকে ইনস্টল করতে হবে। apt-get স্ট্যান্ডার্ডের আশ্রয়করি আধুনিক ডিস্ট্রিবিউশনে অনেক হাজার প্যাকেজ রয়েছে, কিন্তু যতক্ষণ আপনি যে প্যাকেজ খুঁজছেন তার নাম জানেন এটি সেটি ইনস্টল করতে ফোর্স করবে।

মেথড ৩: Synaptic দিয়ে ব্রোকেন প্যাকেজ ফিক্স করুন

আপনার কাছে যদি Synaptic গ্রাফিক্যাল প্যাকেজ ম্যানেজার থাকে, তবে আপনি এই টুলও ব্যবহার করতে পারেন যেকোনো ব্রোকেন প্যাকেজ ফিক্স করতে যেগুলো আপনার কাছে থাকতে পারে। প্রোগ্রামটি খুলুন এবং তারপর Edit ড্রপ-ডাউন পিকলিস্ট মেনু সিলেক্ট করুন। আপনার এই মেনুতে "Fix Broken Packages" অপশন থাকা উচিত, তাই এটি সিলেক্ট করুন যদি থাকে। এটি খুব লম্বা সময় নেবে না রান করতে যদি অনেক ব্রোকেন প্যাকেজ না থাকে, কিন্তু এটি কিছু এরর খুঁজে পেতে পারে যা এক্সিকিউশন স্লো করবে।

এটি সব কিছু রান করার পর, আপনি বটম স্ট্যাটাস লাইনে "Successfully fixed dependency problems" শব্দগুলো নোট করবেন।

আপনি এখন প্যাকেজ আপডেট এবং ইনস্টল করতে পারেন ঠিক নরমাল처럼। অধিকাংশ ইউজার এই ম্যানারে শুধু করবেন যদি তারা ইতিমধ্যে Synaptic-এ কাজ করছিল, কিন্তু এটি উপলব্ধ যখনই আপনাকে প্রয়োজন। একবার এটি রান হলে আপনি Synaptic বন্ধ করতে পারেন এবং কমান্ড প্রম্পট থেকে আবার কাজ করতে পারেন বা এখানে পরিবর্তন করা চালিয়ে যেতে পারেন।

লেখক সম্পর্কে

লিনাক্সে  You Have Held Broken Packages  ত্রুটি ফিক্স (Apt)

কেভিন অ্যারোজ

কেভিন অ্যারোজ একজন অত্যন্ত অভিজ্ঞ এবং জ্ঞানী প্রযুক্তি বিশেষজ্ঞ যিনি এক দশকের বেশি ইন্ডাস্ট্রি অভিজ্ঞতা রাখেন। তিনি মাইক্রোসফট সার্টিফাইড টেকনোলজি স্পেশালিস্ট (MCTS) সার্টিফিকেশন ধারণ করেন এবং লেটেস্ট টেক ডেভেলপমেন্টস নিয়ে আপডেট থাকতে গভীর আগ্রহ রাখেন। কেভিন টেক-রিলেটেড 넓은 বিষয়ে বিস্তারিত লিখেছেন, যেন তাদের সফটওয়্যার ডেভেলপমেন্ট, সাইবারসিকিউরিটি এবং ক্লাউড কম্পিউটিং-এর মতো ক্ষেত্রে দক্ষতা এবং জ্ঞান প্রদর্শন করে। টেক ফিল্ডে তাঁর অবদান বিস্তৃতভাবে স্বীকৃত এবং সম্মানিত, এবং জটিল প্রযুক্তিগত ধারণাগুলো স্পষ্ট এবং সংক্ষিপ্তভাবে ব্যাখ্যা করার ক্ষমতার জন্য তিনি অত্যন্ত বিবেচনীয়।

  1. USB 2.0 বনাম USB 3.0, eSATA, থান্ডারবোল্ট, ফায়ারওয়ায়ার: প্রতিটি পোর্টের কাজ এবং পার্থক্য

  2. Windows-এ GeForce Experience "Scanning Failed" এরর কীভাবে ফিক্স করবেন?

  3. ফিক্স: কোনো সফ্টওয়্যার ছাড়া উইন্ডোজ ৭ পাসওয়ার্ড রিসেট

  4. সমাধান: 'একটি অ্যাপ্লিকেশন একটি সুরক্ষিত আইটেম অ্যাক্সেস করার অনুরোধ করছে'