অ্যাপ্ট বলে প্যাকেজ ফিরিয়ে রাখা হয়েছে, কী করব?


23

এর ফলাফল apt-get upgrade:

The following packages have been kept back:
certbot python-acme python-certbot python-certbot-apache python-cryptography python-openssl

এটার মানে কি? আমার কি ব্যবস্থা নেওয়া উচিত? তা হলে কী?

উত্তর:


37

দ্রুত এবং সহজে সমাধান:

আমি একই সমস্যা হয়েছে, বেশ কয়েকবার। না না না sudo apt-get dist-upgradeপ্রথম। অনেক গুরুত্বপূর্ণ. **** দ্রষ্টব্য: এটি সমাধান ডেবিয়ান ভিত্তিক মেশিনের জন্য হয় কিন্তু কাজ করবে না উপর -ডি-ই নিয়ন । কেডিএ নিওন আপডেট করতে আপনাকে অবশ্যই ব্যবহার করতে হবে * sudo pkcon update****

কেন?

এটি আপনার সিস্টেমকে খুব অস্থিতিশীল করে তুলতে পারে, প্রোগ্রামগুলি ক্রাশ করতে পারে এবং আপনি আপনার ওএসে প্রচুর কার্যকারিতা হারাতে পারেন।

আপনার প্রতিটি প্যাকেজ স্বতন্ত্রভাবে ইনস্টল করতে হবে , তবুও , সেই প্রক্রিয়া চলাকালীন অন্যান্য নির্ভরতাও স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যাবে এবং আপনার সমস্যাটি কয়েক মিনিটের মধ্যেই সমাধান হয়ে যাবে।

নিম্নলিখিত সমাধান নিয়ে আমার কোনও সমস্যা নেই। এটি মোটামুটি দ্রুত এবং সহজ।


প্রথমে এটি করুন:

apt list --upgradable

  • এটি প্যাকেজগুলির তালিকা প্রদর্শন করবে যা আপগ্রেড করা যেতে পারে।

পরবর্তী, এটি করুন:

  • প্রথম প্যাকেজ এবং টাইপ দিয়ে তালিকার শুরুতে শুরু করুন:

sudo apt-get install package-name-here

  • এটি ইনস্টলেশন প্রক্রিয়াটির মধ্য দিয়ে চলবে এবং নির্ভরতাগুলি টান / ইনস্টল করবে।

প্রক্রিয়াটি সম্পূর্ণ হওয়ার পরে, এটি করুন:

apt list --upgradable

  • এটি আবার দেখায় যে কোন প্যাকেজগুলি আপগ্রেড করা যেতে পারে। আপনার প্যাকেজগুলির তালিকা এখন হ্রাস করা উচিত। প্যাকেজগুলির তালিকা অনুসরণ করুন এবং apt list --upgradableপ্রতিটি প্যাকেজ ইনস্টলের পরে টাইপ করুন । এটি সম্পূর্ণ হতে কয়েক মিনিট সময় নিতে হবে।

অবশেষে:

sudo apt-get autoclean

sudo apt-get update && sudo apt-get dist-upgrade

যদি এই সমাধানটি আপনার পক্ষে কাজ করে তবে দয়া করে এটিটিকে উর্ধ্বতন জানাতে ভুলবেন না যাতে সঠিক সমাধানটি অন্যদের জন্য উপলব্ধ থাকে এবং উত্তরগুলির তালিকার শীর্ষে থাকে।

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

ধন্যবাদ।


1
আমার জন্য প্যাকেজটি ছিল উবুন্টু-ন্যূনতম। আপনার নির্দেশাবলী পুরোপুরি কার্যকর।
ডিনএম

আপনি যদি কেডিএ নিওনে থাকেন তবে এই সমাধানটি ব্যবহার করবেন না।
গ্রেগরি স্মিথারম্যান

11

এটার মানে কি?

The following packages have been kept back:

উত্তর এখানে

এর অর্থ এই প্যাকেজগুলির নতুন সংস্করণ রয়েছে যা কোনও কারণে ইনস্টল করা হবে না। সম্ভাব্য কারণগুলি হ'ল ভাঙা নির্ভরতা (প্যাকেজ যার উপর নির্ভর করে এটি ডাউনলোডের জন্য কোনও সংস্করণ উপলব্ধ নেই) বা নতুন নির্ভরতা (প্যাকেজটি শেষ সংস্করণ থেকে নতুন প্যাকেজগুলির উপর নির্ভর করে)।

আমার কি ব্যবস্থা নেওয়া উচিত?

আপনি ব্যবহার করতে হবে dist-upgradeযাতে নতুন নির্ভরতা প্যাকেজগুলি ইনস্টল এবং আপগ্রেড করার জন্য:

sudo apt-get dist-upgrade

dist-upgradeআপনার প্রয়োজন না হলে চালিয়ে সমস্যার সমাধান করা যেতে পারে :

ভাঙ্গা নির্ভরতা ঠিক করুন

sudo apt-get -f install 

আপনার সিস্টেমে আর ইনস্টল না থাকা কিছু প্যাকেজ সরান:

sudo apt-get autoclean

পছন্দসই প্যাকেজটি ধরে রাখুন:

echo "<package_name> hold" | dpkg --set-selections

নামযুক্ত প্যাকেজটি পুনরায় কনফিগার করুন:

dpkg-reconfigure <package_name>

3

থেকে এই ইউনিক্স দঃপূঃ উত্তর :

প্রথমত উপরে বর্ণিত হিসাবে দয়া করে কোনও উত্পাদন সিস্টেমকে আপগ্রেড করবেন না! যদিও ডেস্ট-আপগ্রেড করা প্যাকেজগুলি "সমাধান" করবে এটি অবশ্যই এই সমস্যার সমাধান নয় এবং সম্ভবত আপনি যদি আপনার সিস্টেমে এর প্রভাবগুলি না জেনে এটি চালনা করেন তবে ভাল হওয়ার চেয়ে বেশি দুঃখের কারণ হতে পারে।

কোনও প্যাকেজ আপগ্রেড করার জন্য অতিরিক্ত প্যাকেজ ইনস্টল করার প্রয়োজন হলে চলার সময় এটি "পিছিয়ে রাখা" থাকবে sudo apt-get upgrade

উপরে উল্লিখিত হিসাবে আপনি স্পষ্টভাবে চলমান দ্বারা এই "রাখা পিছনে" প্যাকেজগুলি ম্যানুয়ালি ইনস্টল করতে পারেন sudo apt-get install [paste kept back packages here]তবে এটি এই প্যাকেজগুলিকে "ম্যানুয়ালি ইনস্টলড" হিসাবে চিহ্নিত করবে যা প্রায়শই আমরা চাই না what

স্বয়ংক্রিয়ভাবে কোনো অতিরিক্ত প্যাকেজ যেখানে "রাখা পিছনে" প্যাকেজ উপলক্ষে না ম্যানুয়ালি ইনস্টল মাত্র চালান "রাখা পিছনে" প্যাকেজ আপগ্রেড করা প্রয়োজন ইনস্টল sudo apt-get --with-new-pkgs upgrade


আরও --with-new-pkgsঅন্যান্য বিকল্পগুলির পার্শ্ব প্রতিক্রিয়া সম্পর্কে এখানে
পাবলো এ

2

আমি এই উত্তরটি আমার ব্লগে অন্তর্ভুক্ত করেছি। যদি আপনি দেখতে চান যে আপনি এই লিঙ্কটি থেকে সেখানে যেতে পারেন ।

আপনি যখন আপগ্রেড করার চেষ্টা করবেন তখন উপরের ত্রুটিটি উবুন্টু টার্মিনালে খুব সাধারণ apt-get upgrade। এটি সাধারণত ঘটে থাকে কারণ আপনার ইনস্টল করা একটি প্যাকেজের নির্ভরতা পরিবর্তিত হয়েছে। আপগ্রেড করার জন্য আপনাকে প্রথমে এগুলিও আপগ্রেড করতে হবে। সুতরাং এটি সমাধান করা খুব সোজা is আপনি এই ত্রুটি বার্তার নীচে রাখা প্যাকেজগুলি দেখতে সক্ষম হবেন। উদাহরণ হিসাবে আমি তালিকায় নিম্নলিখিত প্যাকেজগুলি দেখতে পাচ্ছি:

gnome-software gnome-software-common linux-generic linux-headers-generic linux-image-generic snapd ubuntu-core-launcher ubuntu-software

কেবল টাইপ করবেন না এটি sudo apt-get dist-upgradeঅত্যন্ত বিপজ্জনক যেহেতু এটি সমস্ত মুলতুবি থাকা আপডেটগুলি ইনস্টল করে। এটি আপনার কাজের পরিবেশকে একটি অত্যন্ত অস্থিতিশীল অবস্থায় নিয়ে যেতে পারে।

সুতরাং আমার মতামত বিখ্যাত ব্যবহার করা হয়

sudo apt-get install [package]

[package]ত্রুটি বার্তায় যে কোনও প্যাকেজ রয়েছে তা আপনি প্রতিস্থাপন করতে পারেন । এছাড়াও আপনি এগুলি তালিকা হিসাবে যেমন রাখতে পারেন (কেবল এটি অনুলিপি করুন এবং এটি আটকে দিন)। আমার ক্ষেত্রে উদাহরণ হিসাবে আমি প্রবেশ করতে পারেন

sudo apt-get install gnome-software gnome-software-common linux-generic linux-headers-generic linux-image-generic snapd ubuntu-core-launcher ubuntu-software

আপনি যদি করতে চান

sudo apt-get dist-upgrade

কোনও কারণে, সিমুলেট অপশন -s( sudo apt-get -s dist-upgrade) ব্যবহার করে বা প্যাকেজগুলির তালিকাটি পরীক্ষা করে নেওয়ার বিষয়টি নিশ্চিত করুন বা -sবিকল্প ছাড়াই আপনি গ্রহণের আগে নির্বাহের কাজটি শেষ করতে পারেন। (আপনি সর্বদা নং বিকল্পটি চয়ন করতে পারেন)


2

সম্প্রতি একটি ডেবিয়ান সুরক্ষা আপডেটে কয়েকটি নতুন নির্ভরতা চালু করেছে। এই ক্ষেত্রে linux-imageপ্যাকেজটি linux-firmwareঅন্য কয়েকজনের মধ্যে থাকা প্রয়োজন require সুতরাং তারা পিছনে রাখা হয়েছিল এবং এটি দ্বারা ইনস্টল করা হয়নি unattended-upgrade। কিছু পরীক্ষা এবং নিশ্চিত করার পরে আমি অন্যান্য পেন্ডিং আপডেটগুলি স্পর্শ না করে কেবলমাত্র সেই প্যাকেজগুলি বেছে বেছে ইনস্টল করতে সক্ষম হয়েছি :

apt-get -yy install $(apt-get -s upgrade | sed '1,/kept back/d;/will be upgraded/,$d')


1

এই নিবন্ধটি কেন সংঘটিত হয় তার সুন্দরভাবে সংক্ষিপ্তসার জানিয়েছে:

আপনি যে প্যাকেজ ইনস্টল করেছেন সেগুলির মধ্যে যদি নির্ভরতাগুলি পরিবর্তিত হয় যাতে আপগ্রেড সম্পাদন করতে একটি নতুন প্যাকেজ ইনস্টল করা আবশ্যক তবে সেটিকে "রাখে-ব্যাক" হিসাবে তালিকাভুক্ত করা হবে।

এর সমাধান হ'ল এগুলি স্পষ্টভাবে ইনস্টল করা

sudo apt install [packages]

আপনি সম্ভবত এই প্যাকেজগুলি স্বয়ংক্রিয়ভাবে ইনস্টল হিসাবে চিহ্নিত করতে চান, যদি না আপনি সেগুলি নিজের যত্ন না করেন এবং না শুধুমাত্র নির্ভরতা মেটাতে।

sudo apt-mark auto [packages]

এটি প্রথমে যাতে না ঘটে সে জন্য, আমি ব্যবহার করার পরামর্শ দিচ্ছি

sudo apt --with-new-pkgs upgrade

ভবিষ্যতে প্যাকেজগুলি আপগ্রেড করতে পারে, যা নির্ভরতাগুলির পরিবর্তনগুলি পূরণ করতে নতুন প্যাকেজগুলির ইনস্টলেশনের অনুমতি দেয়।


দুই থাম্বস আপ --with-new-pkgs! এবং আমাকে আরও জোর দিয়ে বলি যে, " কোনও উত্পাদন সিস্টেমকে আপগ্রেড করবেন না ! যদিও ডিস্ট-আপগ্রেডিং রাখা প্যাকেজগুলির" সমাধান "করবে এটি অবশ্যই এই সমস্যার সমাধান নয় এবং সম্ভবত আপনি যদি ভালের চেয়ে আরও বেশি শোকের কারণ হয়ে থাকেন তবে আপনি আপনার সিস্টেমে এর প্রভাবগুলি জেনেও এটি চালান ""
xpt
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.