"تم الاحتفاظ الحزم التالية مرة أخرى:" لماذا وكيف يمكنني حلها?

أنا فقط وأضاف مستودع ببا لنسخة تطوير جيمب ، ولكن أحصل على هذا الخطأ, [ -]:

$ apt-get update && apt-get upgrade...The following packages have been kept back:  gimp gimp-data libgegl-0.0-0 libgimp2.0

لماذا وكيف يمكنني حلها حتى أتمكن من استخدام أحدث إصدار بدلا من الإصدار الذي لدي الآن?

وفقا ل مقال عن debian-administration.org,

إذا تغيرت التبعيات على إحدى الحزم التي قمت بتثبيتها بحيث يجب تثبيت حزمة جديدة لإجراء الترقية ، فسيتم سرد ذلك على أنه"مسترجع".

الحل الحذر 1:

لكل إجابة بابلو، يمكنك تشغيل sudo apt-get --with-new-pkgs upgrade، وسوف تثبيت حزم أبقى الظهر.

هذا له فائدة عدم وضع علامة على الحزم المحفوظة على أنها" مثبتة يدويا " ، مما قد يفرض المزيد من تدخل المستخدم أسفل الخط (انظر التعليقات).

إذا كان حل بابلو يعمل من أجلك ، فيرجى التصويت عليه. إذا لم يكن كذلك ، يرجى التعليق على الخطأ الذي حدث.

الحل الحذر 2:

الحل الحذر هو تشغيل sudo apt-get install <list of packages kept back>. في معظم الحالات ، سيعطي هذا الحزم المحفوظة ما يحتاجون إليه للترقية بنجاح.

الحل العدواني:

الحل الأكثر عدوانية هو الجري sudo apt-get dist-upgrade، مما سيجبر تثبيت تلك التبعيات الجديدة.

لكن dist-upgrade يمكن أن تكون خطيرة جدا. على عكس الترقية قد إزالة حزم لحل حالات التبعية المعقدة. على عكس لك ، عرضة ليست دائما ذكية بما فيه الكفاية لمعرفة ما إذا كانت هذه الإضافات وعمليات الإزالة يمكن أن تعيث فسادا.

لذلك إذا وجدت نفسك في مكان لا يعمل فيه "الحل الحذر, dist-upgrade مايو العمل... ولكن ربما كنت أفضل حالا تعلم أكثر قليلا عن ملائمة وحل قضايا التبعية" باليد " عن طريق تثبيت وإزالة الحزم على أساس كل حالة على حدة.

فكر في الأمر مثل إصلاح سيارة... إذا كان لديك الوقت ومفيد مع وجع ، وستحصل على بعض راحة البال من خلال القراءة والقيام إصلاح نفسك. إذا كنت تشعر بأنك محظوظ, يمكنك إسقاط سيارتك مع ابن عمك dist-upgrade ونأمل أنها تعرف الاشياء لها.

كلما تلقيت من الأمر apt-get upgrade الرسالة

The following packages have been kept back:

ثم لترقية واحدة أو كل الحزم المحفوظة ، دون القيام بترقية التوزيع (هذا هو ما dist-upgrade هل ، إذا كنت أتذكر بشكل صحيح) هو إصدار الأمر:

apt-get install <list of packages kept back>

سيؤدي هذا إلى حل المشكلات التي تم الاحتفاظ بها وسيطلب تثبيت حزم إضافية ، إلخ. كما أوضحت إجابات أخرى.

انظر أيضا: لماذا استخدام الرابطة بين الحصول على ترقية بدلا من الرابطة بين الحصول على حي ترقية?

حاول هذا الجواب يونكس سي:

sudo apt-get --with-new-pkgs upgrade

هذا يسمح بتثبيت حزم جديدة. وسوف تتيح لك معرفة ما سيتم تثبيت حزم ويطالبك قبل القيام فعلا تثبيت.

apt القيادة (بديل ودية إلى apt-get) شارك هذا الخيار.

باستخدام apt install <pkg> بدلا من ذلك سوف علامة يكغ باسم"تثبيت يدويا"!! لوضع علامة عليه مرة أخرى باسم" تثبيت تلقائيا " استخدام apt-mark auto <pkg> (انظر أيضا الأوامر الفرعية showmanual). مزيد من المعلومات على هذا الجواب.

apt-get dist-upgrade يشكل خطرا على بيئة مستقرة,

  1. مصدر خاطئ.إعداد قائمة وينتهي بك الأمر مع أوبونتو مكسورة.
  2. قد تحصل على ترقية التطبيق بالكامل إلى الإصدار الذي لا تريده.

حالة الاستخدام: ترقية النواة أبقى مرة أخرى ، كنت ترغب فقط في ترقية النواة ، لا تريد ترقية التوزيع بأكمله.

أفضل طريقة للتعامل مع الاحتفاظ حزمة الظهر:

sudo aptitude

إذا كنت قد حافظت على حزمة الظهر سترى حزم للترقية على رأس القائمة.

  • ضرب + على تلك القائمة
  • ضرب ز مرتين
  • الإجابة ديبكونف الاشياء إذا سئل
  • اضغط على العودة للمتابعة
  • الصحافة س
  • اضغط نعم

تم تثبيت الحزمة الخلفية المحفوظة.

عادة ما يكون هناك سببان قد ترى هذه الرسالة.

إذا ترقية البرنامج (عبر sudo apt-get upgrade) من شأنه أن يسبب حزم التي يمكن ان تضاف أو إزالتها ، ثم سيتم عقد البرنامج مرة أخرى. يمكنك استخدام sudo apt-get dist-upgrade في هذه الحالة ، والتي سوف تقدم بعد ذلك لإضافة أو إزالة برامج إضافية.

هذا أمر شائع جدا وعادة لا يمثل مشكلة. من حين لآخر (خاصة خلال أوبونتو ألفا) أ dist-upgrade سوف تقدم لإزالة الكثير من البرامج الأخرى ، وفي هذه الحالة ربما كنت ترغب في إلغائه.

إذا كان البرنامج يعتمد على حزم أو إصدارات غير متوفرة ، فسيتم إيقاف البرنامج. لا يمكنك فعل أي شيء سوى الانتظار في هذا الظرف ، نظرا لأن الحزمة قابلة للإزالة بشكل أساسي. يمكن أن يحدث هذا عند إضافة الحزم إلى المستودع خارج الترتيب ، أو عند إعادة تسمية الحزمة ، أو عندما تتوقف الحزمة عن توفير حزمة افتراضية.

يمكنك أيضا محاولة:

sudo aptitude safe-upgrade

إنه أكثر أمانا من full-upgrade (المسمى أصلا ديست-ترقية) لأن "لن تتم إزالة الحزم إلا إذا كانت غير مستخدمة".

من عند man aptitude:

آمنة-ترقية

ترقيات تثبيت الحزم إلى الإصدار الأحدث. لن تتم إزالة الحزم المثبتة إلا إذا كانت غير مستخدمة/.../ قد يتم تثبيت الحزم غير المثبتة حاليا لحل التبعيات ما لم يتم توفير خيار سطر الأوامر-بدون تثبيت جديد.

على الأرجح يتم الاحتفاظ هذه الحزم مرة أخرى لأن تركيبها من شأنه أن يخلق التناقضات التبعية. هذا يمكن أن يحدث إما لأنك تستخدم المحفوظات قيد التطوير النشط ، بس ، أو لأن المرآة التي تستخدمها لم يتم تحديثها بالكامل.

في الحالة الأخيرة ، فقط انتظر ، عندما يتم حل التبعيات سيتم تثبيته في المرة القادمة.

تحرير:

وهناك احتمال آخر, قد تعقد حزم مرة أخرى إذا كان هناك وضع عقد عليها,أو إذا كانت معلقة.

هذا عمل بالنسبة لي

sudo aptitude full-upgrade

هذا عادة لأن الحزمة أضافت تبعية ، ولا تريد الترقية إضافتها لك دون إذن.

إذا قمت بتشغيل:

sudo apt-get install gimp gimp-data libgegl-0.0-0 libgimp2.0

ثم يجب تثبيت الإصدارات الجديدة مع تبعيتها الجديدة.

أوبونتو 18.04 ، 20.04 (وأحدث) توفير بناء الجملة المبسط فيا apt full-upgrade التي تعمل مثل sudo apt-get dist-upgrade.

sudo apt full-upgrade

sudo apt upgrade يستخدم لتثبيت الترقيات المتاحة لجميع الحزم المثبتة حاليا على النظام من المصادر التي تم تكوينها عبر المصادر.قائمة (5). سيتم تثبيت حزم جديدة إذا لزم الأمر لتلبية التبعيات ، ولكن لن تتم إزالة الحزم الموجودة. إذا كانت ترقية حزمة تتطلب إزالة حزمة مثبتة ، فلن يتم تنفيذ الترقية لهذه الحزمة.

sudo apt full-upgrade يؤدي وظيفة الترقية ولكن سوف قم بإزالة الحزم المثبتة حاليا إذا كان ذلك ضروريا لترقية النظام ككل.

ملاحظة: full-upgrade يبقى على التوزيع الحالي.

انظر: apt صفحة الرجل: 18.04, 20.04

ما هي رسالة القمامة. لماذا لا يمكن لنظام التشغيل فقط القيام ضروري?