چگونه می توانم وابستگی های برآورده نشده پس از افزودن PPA را برطرف کنم؟


به جواب پذیرفته شده بروید




گاهی اوقات ، هنگامی که من در حال نصب چیزهایی هستم ، خطایی مانند موارد زیر می گیرم:

 Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 package1 : Depends: package2 (>= 1.8) but 1.7.5-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.
 

چگونه می توانم این را برطرف کنم؟


549





2012-05-21




14 :تعداد پاسخها


APT یک سیستم مدیریت بسته برای توزیع های Debian و سایر توزیع های لینوکس مبتنی بر آن مانند Ubuntu است. در اکثر موارد ، APT برای نصب ، حذف و به روزرسانی بسته ها آسان است. در موارد نادر ، غالباً هنگام مخلوط کردن در وابستگی های شخص ثالث ، این احتمال وجود دارد که apt-get به شما خطایی بدهد و به شما بگوید که نصب بسته نمی تواند کامل شود.

راه حل ها:

همیشه ایده های خوب برای تهیه نسخه پشتیبان از پرونده های پیکربندی مانند است /etc/apt/sources.list ، بنابراین می توانید در صورت لزوم از آنها برگردانید.

  • اگر error مواردی مانند این را نشان می دهد:

    <some-package>: Depends: <other-package> (= version) but this-version is to be installed

    سپس مطمئن شوید که restricted و universe مخازن فعال هستند. آمار Alt+ F2، نوع software-properties-gtk و ضربه Enter.

    در زیر Ubuntu Software برگه ، تمام مخازن را فعال کنید.




  • یکی از دلایل احتمالی عدم وابستگی می تواند پایگاه داده پکیج خراب باشد و / یا برخی بسته ها به درستی نصب نشده باشند. برای حل این مشکل، ضربه Alt+ Ctrl+ Tبرای باز کردن ترمینال و سعی کنید یکی از دستورات زیر:

    سودو تمیز شود

    یا،

    اتوکلاسی سودو مناسب

    apt-get clean مخزن محلی پرونده های بسته بازیابی شده (پرونده های .deb) را پاک می کند. همه چیز را حذف می کند اما پرونده قفل را از / var / cache / apt / بایگانی / و / var / cache / apt / بایگانی / جزئی /. apt-get autoclean مخزن محلی پرونده های بسته بازیابی شده را پاک می کند ، اما برخلاف apt-get clean این ، فقط پرونده های بسته را که دیگر قابل بارگیری نیستند ، حذف می کند و تا حد زیادی بی فایده است.

  • یکی از اساسی ترین اصلاحات برای حل مشکلات وابستگی ، اجرای است:

    sudo apt-get -f نصب کنید

    در -f اینجا مخفف "تعمیر شکسته" است. Apt تلاش خواهد کرد تا وابستگی های شکسته را اصلاح کند. اگر بسته ای را که وابستگی نامتعارف داشته باشد ، به صورت دستی نصب کردید apt-get ، در صورت امکان آن وابستگی ها را نصب کنید ، در غیر اینصورت ممکن است بسته ای را که نصب کرده اید به منظور رفع مشکل حذف کنید.

    سپس اجرا کنید:

    sudo dpkg - پیکربندی -a

    سپس دوباره این کار را اجرا کنید:

    sudo apt-get -f نصب کنید

    اگر خروجی:

    0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

    این بدان معنی است که شکست خورده است

  • راه حل بعدی اجرای آن است:

    sudo apt-get -u dist-upgrade

    اگر بسته های نگه داشته شده را نشان می دهد ، بهتر است آنها را از بین ببرید. بسته ها به دلیل درگیری های وابستگی که apt قابل حل نیستند نگهداری می شوند. این دستور را برای یافتن و ترمیم درگیری ها امتحان کنید:

    sudo apt-get -o Debug :: pkgProblemResolver = بله بازسازی از راه دور

    اگر نتواند درگیری ها را برطرف کند ، از این طریق خارج می شود:

    0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

    بسته های نگه داشته شده را یک به یک و dist-upgrade هر بار که اجرا می شود ، پاک کنید تا زمانی که هیچ بسته بیشتری در دسترس نباشد. سپس بسته های مورد نیاز را مجدداً نصب کنید. حتما از --dry-run گزینه استفاده کنید تا کاملاً از عواقب آن مطلع شوید:

    sudo apt-get remove -dry-run-pack-name-run

    از آنجا که از بین بردن بسته ای که می خواهید نصب کنید ایده آل نیست ، ممکن است سعی کنید مخزنی را تهیه کنید که بسته های مورد نیاز شما را برای برآوردن وابستگی ها پیدا کند.

سرانجام ، اگر همه موارد دیگر شکست بخورند ، می توانید با پیدا کردن و نصب بسته های لازم یا با نصب آنها از منبع و سپس ایجاد بسته های " deb " برای خود ، خود را برای برآوردن وابستگی ها انجام دهید .

غیرفعال کردن / حذف / پاکسازی PPA:

PPA (بایگانی بسته های شخصی) مخازن میزبانی شده در Launchpad هستند . می توانید از PPA ها برای نصب یا به روزرسانی بسته هایی که در مخازن رسمی اوبونتو موجود نیست استفاده کنید.

یکی از شایع ترین دلایل عدم وابستگی ، PPA ها است ، به ویژه هنگامی که برای به روزرسانی بسته موجود در مخازن اوبونتو استفاده می شود. برای حل مشکل ، سه گزینه دارید: غیرفعال کردن ، پاکسازی (بازگشت به بسته اصلی در مخازن اوبونتو) یا حذف PPA.

  • غیرفعال کردن:

    غیرفعال کردن PPA به معنای به روزرسانی بیشتر بسته های نصب شده از آن PPA نیست. برای غیرفعال کردن PPA: باز Software Center > Edit > Software Sources یا ،

    بزن Alt+ F2و دویدن software-properties-gtk .

    روی Other Software زبانه کلیک کنید ، خواهید دید که هر PPA در اینجا دو خط دارد ، یکی برای بسته های کامپایل شده و دیگری برای منبع ، Uncheck هر دو خط برای غیرفعال کردن PPA. در اینجا می توانید PPA ها را نیز اضافه و حذف کنید.




  • پاکسازی:

    جستجوی یک PPA به معنای پایین آوردن بسته های موجود در PPA انتخابی به نسخه موجود در مخازن رسمی اوبونتو و غیرفعال کردن آن PPA است. PPA Purge دقیقاً همین کار را می کند. برای نصب PPA Purge دستور زیر را اجرا کنید:

    sudo apt-get install ppa-purge

اما با توجه به اینکه سوال apt خراب است ، دستور فوق خراب می شود. بنابراین از این دستور استفاده کنید

 mkdir ppa-purge && cd ppa-purge && wget http://mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget http://mirror.pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb
 

برای استفاده از PPA Purge:

sudo ppa-purpa ppa: someppa / ppa

اگر فرمان "ppa-purge" به دلایلی انجام نشد ، شما نمی توانید "ppa-purge" را دوباره اجرا کنید مگر اینکه مجدداً PPA را فعال کنید (برای فعال کردن PPA همان مراحل غیرفعال کردن PPA و Check هر دو خط خاص را دنبال کنید. PPA برای فعال کردن آن).

توجه: PPA Purge PPA ها را حذف نمی کند ( ممکن است در آینده باشد ) ، بنابراین باید PPA را به صورت دستی حذف کنید.

  • برداشتن:

    اگر بسته نصب شده از PPA در مخازن رسمی اوبونتو وجود نداشته باشد ، استفاده از PPA Purge آن توصیه نمی شود ، زیرا هیچ چیزی برای کاهش قیمت وجود ندارد و PPA Purge آن را نیز حذف نمی کند. برای حذف PPA و بسته های نصب شده ، دستورات زیر را اجرا کنید: (اگر نمی خواهید بسته های نصب شده را حذف کنید ، دستور اول را نادیده بگیرید)

    sudo apt-get autoremove - نام بسته را جستجو کنید
    sudo add-apt-repository - premove ppa: someppa / ppa
    اتوکلاسی سودو مناسب
    

روش دیگر می توانید Y PPA Manager برای غیرفعال کردن / حذف / پاکسازی PPA (جزئیات در پایان پاسخ) استفاده کنید.

اقدامات پیشگیرانه:

بنابراین چگونه می توانیم از اول از این امر جلوگیری کنیم؟

  • اوبونتو را به روز نگه دارید. اوبونتو به طور خودکار هنگام به روزرسانی اطلاع می دهد ، همچنین می توانید با کلیک کردن روی Session Indicator صفحه وحدت ، به روزرسانی های موجود را بررسی کنید :




    یا ، Hit Alt+ Ctrl+ را Tبرای باز کردن ترمینال و اجرای دستورات زیر:

    به روز رسانی مناسب سودو
    sudo apt-upgrade

    بروزرسانی: لیست بسته های موجود با سرورهای موجود در مخازن منبع را همزمان می کند. به روزرسانی: نسخه های جدیدتری از بسته های نصب شده خود را بارگیری و نصب می کند.

  • اگر تصمیم دارید مخازن دیگری را به Source.list اضافه کنید ، اطمینان حاصل کنید که مخزن برای کار (و شناخته شده برای کار) با اوبونتو است. مخازنی که برای کار با نسخه شما از اوبونتو طراحی نشده اند می توانند ناسازگاری را در سیستم شما وارد کنند و ممکن است شما را مجبور به نصب مجدد کنند. همچنین ، اطمینان حاصل کنید که شما واقعاً باید مخازن خارجی را اضافه کنید زیرا بسته نرم افزار (های) مورد نظر شما ممکن است قبلاً در مخازن رسمی معرفی شده باشد! منبع
  • PPA های تکراری را حذف کنید. Y PPA Manager (راهنمای نصب در پایان جواب) به راحتی می توانید PPA های تکراری را اسکن و حذف کنید.

    • آمار Alt+ F2و اجرا y-ppa-manager برای باز کردن Y PPA مدیر.
    • به محض باز کردن، دوبار کلیک کنید و یا ضربه Enterدر Advanced .
    • در نتیجه پنجره را انتخاب کرده Scan and remove duplicate PPAs و OK را بزنید.


توضیحات تصویر را اینجا وارد کنید

کمک گرفتن:

هنگام درخواست کمک در مورد Askubuntu یا هر انجمن کمک دیگر ، باید خروجی دستورات زیر را در سؤال خود بگنجانید :

  • خروجی خطای واقعی:

    sudo apt-get نصب نام بسته
  • این فهرست منابع شما را نشان می دهد:

    cat /etc/apt/source.list
  • با این کار لیست PPA ها (در صورت وجود) نشان داده می شود:

    cat /etc/apt/s منابع.list.d/*

منابع اضافی:


Y PPA Manager : Y PPA Manager یک فروشگاه متوقف برای تمام نیازهای PPA شما است.


مدیر ppa

در اینجا برخی از ویژگی های آن آورده شده است:

  • جستجوی بسته های موجود در کلیه PPA های Launchpad
  • بسته ها را در PPA لیست کرده و بارگیری کنید
  • PPA را اضافه یا حذف کنید
  • تهیه نسخه پشتیبان و بازیابی منابع PPA
  • منابع PPA کپی شده را حذف کنید

برای نصب Y PPA Manager ، ترمینال باز با ضربه Alt+ Ctrl+ Tو اجرا دستورات زیر:

sudo add-apt-repository ppa: مدیر webupd8team / y-ppa
به روز رسانی مناسب سودو
sudo apt-get install y-ppa-manager

با توجه به این سوال apt خراب است ، بنابراین به جای این دستورات استفاده کنید

 sudo su
 

و

32 بیت:

 mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_i386.deb && dpkg -i ./*.deb
 

64 بیت:

 mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_amd64.deb && dpkg -i ./*.deb
 

569



توجه: تمام دستورات خواست تا اجرا شود باید در ترمینال، که می تواند توسط باز اجرا می شود یا Ctrl+ Alt+ Tو یا جستجو برای ترمینال در خط تیره.

آیا واقعاً شکسته است؟

دستور زیر را اجرا کنید و سعی کنید نرم افزاری را که می خواهید نصب کنید دوباره نصب کنید

 sudo apt-get update
 

مراحل قبل از پرفورمنس

پشتیبان گیری

از فایلهای زیر بک آپ بگیرید:

  • /etc/apt/sources.list
  • /var/lib/dpkg/status

برای این کار از این دستورات استفاده کنید

 sudo cp /etc/apt/sources.list /etc/apt/sources.list.original
 

و

 sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.original
 

حافظه نهان خود را پاک کنید

apt حافظه نهان بسته های اخیراً بارگیری شده را برای ذخیره پهنای باند در هنگام نصب ، ذخیره می کند. این در بعضی موارد می تواند ضد مولد باشد

اکنون ، برای تمیز کردن آن ، دو گزینه دارید

 sudo apt-get clean 
 

با این کار تمام بسته های ذخیره شده متعلق به پوشه /var/cache/apt/archives/ و /var/cache/apt/archives/partial به غیر از پرونده های .lock حذف می شوند. این توصیه می شود

 sudo apt-get autoclean
 

این اسکن پوشه /var/cache/apt/archives/ و /var/cache/apt/archives/partial و چک در صورتی که بسته است که هنوز هم در مخازن و حذف آنهایی هستند که نه


رفع وابستگی

با استفاده از حالت رفع شکسته apt

 sudo apt-get -f install
 

این باعث می شود تا اسکن کردن وابستگی های از دست رفته و رفع آنها از مخازن مناسب باشد

اگر خروجی اعلام کند که هیچ چیز جدیدی نصب یا به روزرسانی نشده است ، انجام نشد.


بررسی اینکه آیا تمام منابع مورد نیاز فعال هستند یا خیر

gksu software-properties-gtk این پنجره را تایپ کنید و دریافت کنید




اطمینان حاصل کنید که همه منابع فعال هستند.

بعد ، به برگه نرم افزار دیگر بروید و بررسی کنید که PPA های مورد نیاز برای نصب نرم افزار در آن وجود داشته باشد یا خیر. همچنین ، برخی از PPA ها که ممکن است بسته های خراب را داشته باشند غیرفعال کنید




اکنون ، اجرا کنید sudo apt-get update

اکنون نرم افزار را نصب کنید

انتخاب سرور بهتر برای بارگیری از

gksu software-properties-gtk این پنجره را تایپ کنید و دریافت کنید




روی جعبه بارگیری از کادر Dropdown کلیک کرده و سایر موارد را انتخاب کنید




روی انتخاب بهترین سرور کلیک کنید




اجرا کن sudo apt-get update

سعی کنید نرم افزار را نصب کنید

همچنین ، استفاده کنید sudo apt-get install -f


PPA Purge

این ابزاری است که برای تمیز کردن ppa های شکسته / ناخواسته و کاربردهای آنها به همراه آن استفاده می شود

برای نصب آن ، اجرا کنید

 sudo apt-get install ppa-purge
 

اما ، با توجه به این سوال apt خراب است تا دستور فوق با شکست مواجه شود. بنابراین از این دستور استفاده کنید

 mkdir ppa-purge && cd ppa-purge && wget http://mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget http://mirror.pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb
 

اکنون از پاک کننده ppa استفاده کنید

 sudo ppa-purge ppa:someppa/ppa  
 

مدیر Y-PPA

Y-PPA Manager یک برنامه Gui است که به شما در مدیریت PPA و مشکلات مختلف ناشی از آن کمک می کند

برای نصب آن

 sudo add-apt-repository ppa:webupd8team/y-ppa-manager
 

و

 sudo apt-get update
 

و

 sudo apt-get install y-ppa-manager
 

با توجه به این سؤال apt که خراب است ، به جای آن از این دستورها استفاده کنید

 sudo su
 

و

32 بیت:

 mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_i386.deb && dpkg -i ./*.deb
 

64 بیت:

 mkdir y-ppa-manager && cd y-ppa-manager && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/launchpad-getkeys_0.3.2-1~webupd8~oneiric_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/y-ppa-manager_0.0.8.6-1~webupd8~precise_all.deb && wget https://launchpad.net/~webupd8team/+archive/y-ppa-manager/+files/yad_0.17.1.1-1~webupd8~precise_amd64.deb && dpkg -i ./*.deb
 

اکنون وارد شوید y-ppa-manager

به شما این پنجره ارائه می شود




روی Advanced کلیک کنید و این پنجره را بزنید




کارهای زیر را که به رنگ سیاه مشخص شده است ، انجام دهید





پیشگیری بهتر از درمان است

بهتر است از جستجوی این سوال در AskUbuntu جلوگیری کنید: D

بنابراین ، در اینجا دستورالعمل هایی برای ایمن نگه داشتن شما آورده شده است

سیستم خود را به روز نگه دارید

همیشه دستور زیر را مرتباً اجرا کنید

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

یا همیشه می توانید با این دستور از Update Manager استفاده کنید

 gksu update-manager
 

فقط با استفاده از PPA قابل اعتماد

فقط از برنامه PPA که در اوبونتو استفاده می شود ، فقط از منابع PPA با منابع معتبر استفاده کنید. Infact ، بسته ممکن است قبلاً در مخازن اوبونتو باشد

پشتیبان تهیه نسخه پشتیبان از موارد خوب است و بعداً آن را بازیابی می کنید

برای این کار شما به مدیر Y-PPA نیاز دارید. مراحل نصب آن در بالا آورده شده است.

این دستور را اجرا کنید تا Y-PPA-Manager را باز کنید

 y-ppa-manager
 

به شما این پنجره ارائه می شود




روی Advanced کلیک کنید و این پنجره را بزنید




اجرای این:




از شما خواسته می شود که یک فایل tar.gz را با گفتگوی مشابه در زیر ذخیره کنید. آن را در یک پارتیشن دیگر یا یک مکان امن ذخیره کنید




بعداً ، هنگامی که مجدداً آن را بازیابی کنید ، مراحل مشابه را دنبال کنید و وقتی به گفتگوی پیشرفته رسیدید ، روی این کلیک کنید:




از شما خواسته می شود از نسخه پشتیبان تهیه شده قبلی که قبلاً ذخیره کرده اید با یک گفتگوی مشابه در زیر برگردانید





هنوز کار نمی کند؟

خطاهای وابستگی بسته همیشه عمومی نیستند و بستگی به بسته نصب شده دارد.

اگر دنبال کردن تمام مراحل ارائه شده برای رفع خطا برای شما مؤثر نیست ، می توانید همیشه از Ask Ubuntu بپرسید

در اینجا چند دستورالعمل آورده شده است که باید برای ارسال خروجی آن استفاده کنید

 sudo apt-get install packagename
 

و

 cat /etc/apt/sources.list
 

و

 cat /etc/apt/sources.list.d/*
 

(با تشکر از بشارات سیال )

همچنین فایلها / دستورهای دیگری وجود دارند که به خروجی آن احتیاج دارید که خطا خاصی دارد و احتمالاً کاربران برای ارسال پرونده / فرمان از شما در نظرات سؤال می کنند.


88



این پاسخ ها تاکنون در مورد چگونگی حل اتوماتیک چنین موضوعی متمرکز شده اند ، بیشتر به این امید که خود آن را برطرف کند ، اما بر درک چگونگی بررسی وابستگی ها متمرکز نشده است. این مهم است که مواردی مانند اطمینان از به روز بودن لیست بسته های خود را امتحان کنید ، زیرا باید اطمینان حاصل کنید که یک به روزرسانی ساده یا پاک کردن حافظه نهان ، مسئله را قبل از حفر کردن عمیق تر حل نمی کند. اگر همه چیز در پشت صحنه همانطور که باید عمل می کند ، مهمترین چیز این است که یاد بگیریم چگونه وابستگی ها را بفهمیم. گاهی اوقات لایه های وابستگی ممکن است بسیار زیاد به نظر برسند ، اما مفهوم آن ساده است و برای درک نحوه نصب / حذف نرم افزار در یک سیستم اوبونتو مهم است.

من به شدت توصیه استعداد به هر کسی با استفاده از یک سیستم مبتنی بر .deb را مانند اوبونتو. ساختار درختی آن به شما اجازه می دهد تا به راحتی مرورهای وابسته از جمله بسته های پیشنهادی و پیشنهادی را مرور کنید ، همچنین درگیری ها و وابستگی های نامرتبط را تجسم کنید. این یک ابزار ارزشمند است برای وقتی که apt-get یک راه حل ساده ارائه نمی دهد ، و برای تجسم وابستگی ها به طور کلی. ( Synaptic در اوبونتو نیز موجود است ، اما من آن را به عنوان بصری نمی بینم.)

استعداد همچنین یک حل کننده تضاد را ارائه می دهد که شما را در تمام ترکیبات ممکن از بسته های نصب شده / حذف شده / ارتقا یافته و غیره طی می کند تا تمام شرایط را بدون درگیری یا مسئله برآورده سازد. این حتی در شرایطی که قادر به یافتن راه حل نباشد می تواند موفقیت آمیز باشد. به عنوان یک کاربر اوبونتو ، به طور معمول شرایطی بوجود نمی آید که شما را مجبور به بررسی دلیل نصب این بسته خاص می کند ، اما با استفاده بیشتر از سیستم تقریباً اجتناب ناپذیر است.


38



pack1: بستگی دارد: pack2 (> = 1.8) اما 1.7.5-1ubuntu1 نصب می شود

توضیح پیام:

  1. برای تکمیل نصب شما ، pack1 به بسته2 نیاز دارد.
  2. pack2 باید در نسخه> = 1.8 در دسترس باشد
  3. مدیر بسته تمام مخازن را بررسی کرده و فقط نسخه 1.7.5-1ubuntu1 را که می توان نصب کرد ، پیدا کرد ، که این کار را انجام نمی دهد زیرا <1.8

ثابت

هیچ پاسخ درست برای این سوال وجود ندارد و هیچ جواب ساده ای وجود ندارد.

سناریوهای بسیاری وجود دارد که چرا این اتفاق می افتد و باید همه گزینه ها را بررسی کرد و سعی کرد پیش شرط هایی را که منجر به این خطا می شود ، حل کنید.

سناریو A:

تمام مخازنی که به آنها دسترسی دارید ، در نسخه> = 1.8 به بسته2 دسترسی ندارید ، بنابراین باید یک مخزن را پیدا کنید. اگر قادر به یافتن مخزن با نسخه> = 1.8 نیستید ، لازم است که pack2 را از منبع تهیه و نصب کنید. و سپس سعی کنید pack1 را نصب کنید.

اگر می خواهید نحوه ساخت پکیج از منبع را بدانید ، سوالات / پاسخ های دیگر را بررسی کنید یا یک مورد جدید ارسال کنید.

سناریو B:

مخازن شامل pack2 در یک نسخه> = 1.8 هستند اما مدیر بسته می خواهد نسخه قدیمی را نصب کند (1.7.5).

دلیل این امر ممکن است این باشد که نسخه های بعدی pack2 که توسط برخی از فناوری های جدیدتر ساخته شده اند و توسط سایر بسته هایی که قبلاً نصب کرده اید پشتیبانی نمی شوند.

این ممکن است به هیچ وجه اصلاح نشود. می توانید سعی کنید از apt یا synaptic استفاده کنید و به دنبال تمام نسخه های pack2 موجود در مخازن باشید و سعی کنید نسخه خاصی را نصب کنید> = 1.8

اگر بسته های ناسازگار دیگری دارید و این کار را انجام می دهید ، لیستی از پیام های خطای مشابه برای سایر بسته های دیگر که مانع از نصب بسته 2> = 1.8 می شوند ، دریافت خواهید کرد.

در این حالت ، شما یک مشکل بزرگتر دارید. شما می خواستید که pack1 را نصب کنید ، که به بسته2 نیاز دارد> = 1.8 باشد ، اما بسته 2 در نسخه> = 1.8 نیاز دارد که pack3 در نسخه باشد> = 6.7 و شما باید pack3 نسخه 6.3 داشته باشید

نکته این است که مدیر بسته (APT) در صورت امکان سعی دارد تمام این وابستگی ها را به طور خودکار حل کند. وقتی می گوید امکان پذیر نیست (و پیغامی مانند سؤال را صادر می کند) ، پس باید به آن اعتماد کنید.

اگر تصمیم دارید به مدیر بسته اعتماد نکنید و اگر مطمئن هستید که مشکلی نخواهید داشت ، می توانید سعی کنید نسخه های مورد نیاز همه پکیج ها را یکی یکی نصب کنید و امیدوار باشید که خوب باشد.

مراقب باشید ، انجام این کار برای بسته های سیستم می تواند مشکلات جدی ایجاد کند. می توانید خود را از سیستم قفل کرده ، خدمات مهم و غیره را مسدود کنید.

سناریو C:

مهم نیست که دلایل این مشکل وجود داشته باشد ، شما همیشه می توانید برای تدوین دستی تنظیم کنید و بسته مورد نیاز و تمام وابستگی های آن را در نسخه های مورد نیاز از منبع تهیه کنید. با استفاده از این گزینه می توانید آنچه را که در یک دایرکتوری جداگانه و خارج از مسیر سیستم ساخته اید ، نگه دارید تا درگیری با سیستم ایجاد نشود. این احتمالاً پاکترین راه حل است ، و گاهی اوقات می توانید سریعتر انجام دهید.

سناریو D:

مدیر بسته امکان دسترسی به اطلاعات قدیمی درباره بسته ها را دارد و از این طریق نمی تواند راه حلی پیدا کند. به جوابهای دیگر نگاه کنید.

سناریو E:

مدیر بسته بندی در کد رزولوشن وابستگی اشکال دارد.

شما باید تحقیق کنید که واقعاً اینگونه است و پس از آن یک درخواست اشکال صادر کنید.

...

سناریو Z:

ممکن است سناریوهای دیگری نیز وجود داشته باشد.

به عنوان مثال نگهدارنده بسته می تواند اشتباه بوده و بررسی نکرده باشد که بسته 1 حتی با نسخه pack2 <1.8 کار می کند و در مشخصات آنها وابستگی های اشتباهی را تعیین می کنند.


24



هرگاه خطایی در رابطه با وابستگی های نامتعارف مرتفع شود ، باید این روش ها را رعایت کنید

پس از پیروی از دستورالعمل ها ، نصب نرم افزار را امتحان کنید. حداقل یکی از این روشها باید برای شما مفید باشد

1 . قبل از امتحان کردن دستور جدید یا اضافه کردن ppa جدید ، این را امتحان کنید

تمیز کردن حافظه نهان مناسب:

 sudo apt-get clean
 

تمیز کردن هرگونه وابستگی استفاده نشده:

 sudo apt-get autoremove
 

به روزرسانی حافظه نهان

 sudo apt-get update
 

با این کار همه حافظه نهان پاک می شود و یک حافظه پنهان تازه بارگیری می شود. این کار برای بدست آوردن بسته های کش تازه و به روزرسانی های جدیدتر باید انجام شود.

2 . سعی کنید sudo apt-get install -f .

احتمالاً پیشنهاداتی درباره حذف و نصب بسته ها ارائه خواهد داد ، کاری که منطقی به نظر می رسد.

3 . تغییر Download Server از Software Sources آنجا که گاهی اوقات پرونده های روی سرور خراب می شوند.


توضیحات تصویر را اینجا وارد کنید



توضیحات تصویر را اینجا وارد کنید



توضیحات تصویر را اینجا وارد کنید

4 . این همچنین اتفاق می افتد اگر پیش از این ، یک ppa خارجی را برای وابستگی شکسته به آن اضافه کنید. سعی کنید که آن ppa را حذف کنید

  • یا تایپ کنید sudo add-apt-repository --remove ppa:someppa/ppa و سپس به صورت دستی فایلهای / کتابخانه های نصب شده ppa را حذف کنید

یا

  • پاک کردن ppa (این پرونده های نصب شده را نیز حذف می کند)

     sudo apt-get install ppa-purge   #a one time install 
    sudo ppa-purge ppa:someppa/ppa  
     

5 . اگر شماره 4 مورد شما نیست پس سعی کنید بسته ای را که به عنوان یک وابستگی شکسته نشان داده شده است حذف کنید. سپس دوباره نصب کنید. این گزارش را می کنید که برای افراد معدودی کار کرده است.

6 . همیشه نسخه پایدار یک مخزن / PPA را اضافه کنید.


توضیحات تصویر را اینجا وارد کنید

7 همچنین اطمینان حاصل کنید که همه مخازن رسمی فعال شده اند (In Software Sources )


توضیحات تصویر را اینجا وارد کنید

لطفاً Proposed Updates همانطور که برای آزمایش / توسعه دهندگان در نظر گرفته شده است ، آنها را فعال نکنید .


توضیحات تصویر را اینجا وارد کنید


همانطور که توسط داگ گفت:

معمولاً بهترین اولین قدم برای حل این مسئله شناسایی منبع <pkg1> & <pkg2> .

علاوه بر این ، توجه نشده است كه در بیشتر موارد ، اگر نه در بیشتر موارد ، "هر آنچه نصب شود" واقعاً به معنای "هر آنچه نصب شده است" است و اگر كاری دیگر كار نكرد ، باید تلاش شود كه برداشته شود (مانند نکته 5).


من با اضافه کردن چیزهای دیگری که برای حل مشکل بد نیستم unmet dependencies .


17



در اکثر موارد ، نصب بسته از طریق aptitude بستگی های برآورده نشده برطرف می شود. aptitude بسته پیش فرض در pc.s شما نصب نشده است. برای اولین بار با اجرای آن ،

 sudo apt-get update
sudo apt-get install aptitude
 

سپس،

 sudo aptitude install packagename
 

مثلا،

    
avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ sudo apt-get install ubuntu-sdk
لیست بسته های خواندن ... انجام شد
درخت وابستگی ساختمان       
خواندن اطلاعات دولتی ... انجام شد
برخی از بسته ها امکان نصب ندارند. این ممکن است بدان معنی باشد که شما دارید
درخواست یک وضعیت غیرممکن یا اگر از ناپایداری استفاده می کنید
توزیع که برخی از بسته های مورد نیاز هنوز ایجاد نشده اند
یا از ورودی منتقل شده است
اطلاعات زیر ممکن است به برطرف کردن وضعیت کمک کند:

بسته های زیر وابستگی کامل ندارند:
 ubuntu-sdk: بستگی دارد: qtcreator-plugin-ubuntu اما نصب نمی شود
E: شما قادر به اصلاح مشکلات نیستید ، بسته های خراب را نگه داشته اید.

نصب بسته از طریق aptitude

avinash @ avinash-Lenovo-IdeaPad-Z500: ~ $ سودو سودمند نصب ubuntu-sdk
بسته های جدید زیر نصب می شود:
  apparmor-easyprof {a} apparmor-easyprof-ubuntu {a} at {a} build-ضروری {a 
  کلیک کنید {a-click-apparmor {a} click-dev {a} click-doc {a} cordova-ubuntu-2.8 
  cordova-ubuntu-2.8-مثال {a} rebhelper {a} متن {a} dh-apparmor {a 
  dh-make {a} distro-info-data {a} dpkg-dev {a put dput {a} g ++ {a} g ++ - 4.8 a} 
  geoclue-gypsy {a} libalgorithm-diff-perl {a} libalgorithm-dif-xs-perl {a 
  libalgorithm-merge-perl {a} libboost-filesystem1.53.0 {a 
  libboost-program-options1.53.0 a} libboost-regex1.53.0 {a 
  libbotan-1.10-0 {a} libdee-qt5-3 {a} libdistro-info-perl {a 
  libexporter-lite-perl {a} libglib2.0-dev {a 
  libgstreamer-plugins-base1.0-dev {a} libgstreamer1.0-dev {a} libgypsy0 {a 
  libhud2 {a} libio-stringy-perl {a} libjs-jquery {a} libjs-sphinxdoc {a 
  libjs-underscore {a} liblockdev1 a} libmail-sendmail-perl {a 
  libparse-debcontrol-perl {a} libpcre3-dev {a} libpcrecpp0 {a 
  libpoppler-qt5-1 {a} libqdjango-db0 a} libqgsttools-p1 {a 
  libqt5clucene5 {a} libqt5 تماس با ما5 {a} libqt5declarative5 {a 
  libqt5designer5 {a} libqt5designercomponent5 a} libqt5feedback5 {a 
  libqt5help5 {a} libqt5 محل قرار گیری 5-پلاگین {a} libqt5multimedia5 {a 
  libqt5multimedia5-plugins libqt5multimediaquick-p5 {a 
  libqt5multimediawidgets5 {a} libqt5organizer5 {a 
  libqt5qml-Graphicaleffects a} libqt5script5 libqt5scripttools5 {a 
  libqt5svg5 {a} libqt5svg5-dev libqt5systeminfo5 {a} libqt5v8-5-dev 
  libqt5versit5 {a} libqt5versitorganizer5 {a} libqt5webkit5-dev 
  libqt5webkit5-qmlwebkitplugin {a} libqt5xmlpatterns5 {a 
  libqt5xmlpatterns5-dev libstdc ++ - 4.8-dev {a} libsys-hostname-long-perl {a 
  libthumbnailer0 {a} libu1db-qt5-3 {a} liberty-action-qt1 {a 
  libupstart-app-launc1 {a} libusermetricsinput1 a} libxml2-dev {a 
  libxslt1-dev {a} po-debconf {a} python3-apparmor-click {a} python3-click {a 
  python3-magic {a} qmlscene qt3d5-dev qtbase5-doc {a} qtcreator {a 
  qtcreator-doc a} qtcreator-plugin-ubuntu {a 
  qtcreator-plugin-ubuntu-معمولی plug a} qtdeclarative5-Account-plugin 
  qtdeclarative5-cordova-2.8-plugin {a} qtdeclarative5-dev-tool 
  qtdeclarative5-doc-html {a} qtdeclarative5-folderlistmodel-plugin 
  qtdeclarative5-Friends0.2 qtdeclarative5-plugin localstorage 
  qtdeclarative5-ذرات-افزونه qtdeclarative5-poppler1.0 
  qtdeclarative5-qtaudioengine-plugin qtdeclarative5-qtfeedback-plugin {a 
  qtdeclarative5-qtlocation-plugin qtdeclarative5-qtmultimedia-plugin {a 
  qtdeclarative5-qtorganizer-plugin qtdeclarative5-qtquick2-plugin {a 
  qtdeclarative5-qtsensors-plugin qtdeclarative5-u1db1.0 
  qtdeclarative5-ubuntu-ui-extras-browser-plugin {a 
  qtdeclarative5-ubuntu-ui-extras-browser-plugin-units a 
  qtdeclarative5-ubuntu-ui-toolkit-plugin {a 
  qtdeclarative5-وحدت-اقدام-افزونه {a} qtdeclarative5-usermetrics0.1 
  qtdeclarative5-windows-plugin {a} qtdeclarative5-xmllistmodel-plugin 
  qtgraphicaleffects5-doc {a} qtlocation5-dev {a} qtmultimedia5-dev 
  qtmultimedia5-doc {a} qtmultimedia5-doc-html {a} qtscript5-dev 
  qtscript5-doc {a} qtscript5-doc-html {a} qtsensors5-dev {a} qtsvg5-doc {a 
  qtsvg5-doc-html a} qttools5-dev qttools5-dev-tool qttools5-doc {a 
  qtwebkit5-doc-html {a} شرروت {a} شرور رایج {a} sqlite3 {a 
  ubuntu-html5-ظرف ubuntu-html5-sdk {ab} ubuntu-html5-theme {a 
  ubuntu-html5-theme-مثال ubuntu-sdk ubuntu-sdk-libs 
  ubuntu-sdk-libs-dev {a} ubuntu-ui-toolkit-doc doc a 
  ubuntu-ui-toolkit-مثال {a ub ubuntu-ui-toolkit-theme theme a 
  وحدت-عمل-دکمه {یک} upstart-app-launcher {a} upstart- برنامه-راه اندازی-ابزار {a 
  usermetricsservice {a} wdiff {a} zlib1g-dev {a 
بسته های زیر به روز می شوند:
  cpp-4.8 gcc-4.8 gcc-4.8-base hud libasan0 libatomic1 libgcc-4.8-dev 
  libgcc1 libglib2.0-0 libglib2.0-bin libgomp1 libitm1 libquadmath0 
  libstdc ++ 6 libtsan0 
15 بسته به روزرسانی شده ، 151 نصب جدید ، 0 برای حذف و 293 به روز نشده است.
باید 108 مگابایت / 126 مگابایت بایگانی کنید. پس از باز کردن 273 مگابایت استفاده خواهد شد.
بسته های زیر وابستگی کامل ندارند:
 ubuntu-html5-sdk: بستگی دارد: qtdeclarative5-ubuntu-webapps-api که یک بسته مجازی است.
                    بستگی دارد: ubuntu-html5-ui-toolkit اما نصب نمی شود.
اقدامات زیر این وابستگی ها را برطرف می کند:

     بسته های زیر را در نسخه فعلی خود نگه دارید:              
1) qtcreator-plugin-ubuntu [نصب نشده است]                          
2) ubuntu-html5-sdk [نصب نشده است]                                 
3) ubuntu-sdk [نصب نشده است]                                       

     وابستگی های زیر را حل نکنید:                       
4) libhud-client2 hud توصیه می کند (= 13.10.1 + 13.10.20131014-0ubuntu1)
5) qtcreator-plugin-ubuntu-normal qtcreator-plugin-ubuntu را توصیه می کند


این راه حل را قبول دارید؟ [Y / n / q /؟] y
بسته های جدید زیر نصب می شود:
  apparmor-easyprof {a} apparmor-easyprof-ubuntu {a} build-ضروری {a 
  کلیک کنید deb a} کلیک کنید-apparmor deb a} cordova-ubuntu-2.8 debhorper {a} dh-apparmor {a 
  dh-make {a} dpkg-dev {a} g ++ {a} g ++ - 4.8 a} geoclue-gypsy {a 
  libalgorithm-dif-perl {a} libalgorithm-dif-xs-perl {a 
  libalgorithm-merge-perl {a} libdee-qt5-3 {a} libglib2.0-dev {a 
  libgstreamer-plugins-base1.0-dev {a} libgstreamer1.0-dev {a} libgypsy0 {a 
  libhud2 a} libjs-jquery {a} libmail-sendmail-perl {a} libpcre3-dev {a 
  libpcrecpp0 {a} libpoppler-qt5-1 {a} libqdjango-db0 a} libqgsttools-p1 {a 
  libqt5clucene5 {a} libqt5 تماس با ما5 {a} libqt5design5 {a 
  libqt5designercomponent5 {a} libqt5feedback5 {a} libqt5help5 {a 
  libqt5location5-plugin {a} libqt5multimedia5 a} libqt5multimedia5-plugins 
  libqt5multimediaquick-p5 {a} libqt5multimediawidgets5 {a 
  libqt5organizer5 {a} libqt5qml-نمودارهای گرافیکی {a} libqt5script5 
  libqt5scripttools5 {a} libqt5svg5 {a} libqt5svg5-dev libqt5systeminfo5 {a 
  libqt5v8-5-dev libqt5versit5 {a} libqt5versitorganizer5 {a 
  libqt5webkit5-dev libqt5webkit5-qmlwebkitplugin {a} libqt5xmlpatterns5 {a 
  libqt5xmlpatterns5-dev libstdc ++ - 4.8-dev {a} libsys-hostname-long-perl {a 
  libthumbnailer0 {a} libu1db-qt5-3 {a} liberty-action-qt1 {a 
  libupstart-app-launc1 {a} libusermetricsinput1 a} libxml2-dev {a 
  libxslt1-dev {a} po-debconf {a} python3-apparmor-click {a} python3-click {a 
  افزونه qmlscene qt3d5-dev qtdeclarative5-Account-plugin 
  qtdeclarative5-cordova-2.8-plugin {a} qtdeclarative5-dev-tool 
  qtdeclarative5-folderlistmodel-plugin qtdeclarative5-Friends0.2 
  qtdeclarative5-localstorage-plugin qtdeclarative5-ذرات-پلاگین 
  qtdeclarative5-poppler1.0 qtdeclarative5-qtaudioengine-plugin 
  افزونه qtdeclarative5-qtfeedback-a} qtdeclarative5-qtlocation-plugin 
  افزونه qtdeclarative5-qtmultimedia-a} qtdeclarative5-qtorganizer-plugin 
  افزونه qtdeclarative5-qtquick2-a} qtdeclarative5-qtsensors-plugin 
  qtdeclarative5-u1db1.0 qtdeclarative5-ubuntu-ui-extras-browser-plugin {a 
  qtdeclarative5-ubuntu-ui-extras-browser-plugin-units a 
  qtdeclarative5-ubuntu-ui-toolkit-plugin {a 
  qtdeclarative5-وحدت-اقدام-افزونه {a} qtdeclarative5-usermetrics0.1 
  qtdeclarative5-windows-plugin {a} qtdeclarative5-xmllistmodel-plugin 
  qtlocation5-dev {a} qtmultimedia5-dev qtscript5-dev qtsensors5-dev {a 
  qttools5-dev qttools5-dev-tool sqlite3 {a ub ubuntu-html5 ظرف 
  ubuntu-html5-theme {a ubuntu-html5-theme-مثال ubuntu-sdk-libs 
  ubuntu-ui-toolkit-theme {a} شروع برنامه-راه اندازی launch a 
  upstart-app-پرتاب-ابزار {a} usermetricsservice {a} wdiff {a} zlib1g-dev {a 
بسته های زیر به روز می شوند:
  cpp-4.8 gcc-4.8 gcc-4.8-base hud libasan0 libatomic1 libgcc-4.8-dev 
  libgcc1 libglib2.0-0 libglib2.0-bin libgomp1 libitm1 libquadmath0 
  libstdc ++ 6 libtsan0 
15 بسته به روزرسانی شده ، 108 نصب جدید ، 0 برای حذف و 293 به روز نشده است.
نیاز به بایگانی 27.1 MB / 45.8 MB دارید. پس از باز کردن 104 مگابایت استفاده می شود.
می خواهید ادامه دهید؟ [Y / n /؟]

16



جواب من مشابه ریک فوق است.

استفاده از apt-get clean ، apt-get autoclean ، apt-get autoremove ، apt-get upgrade ، apt-get update ، apt-get -u dist-upgrade و غیره همه برای من مؤثر نبود.

سرانجام این مسئله را با نزول به درخت وابستگی از طریق apt-get install ، که با مثال زیر نشان داده شده ، حل کردم . در مورد من ، من می خواستم نصب كنم libmagickwand-dev :

 apt-get install libmagickwand-dev
 

من این خطا را کردم:

 The following packages have unmet dependencies:
 libmagickwand-dev : Depends: libmagickcore4-extra (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed
                     Depends: libmagickcore-dev (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed
 

بنابراین ، من apt-get install برای یکی از وابستگی های ناکام دویدم :

 apt-get install libmagickcore-dev

The following packages have unmet dependencies:
 libmagickcore-dev : Depends: libmagickcore4-extra (= 8:6.6.9.7-5ubuntu3.2) but it is not going to be installed
                     Depends: libgraphviz-dev but it is not going to be installed
 

من پایین پایین درخت پایین آمدم:

 apt-get install libgraphviz-dev
 

با یک خطای دیگر:

 The following packages have unmet dependencies:
 libgraphviz-dev : Depends: libgvc5 (= 2.26.3-10ubuntu1) but it is not going to be installed
 

یک بار عمیق تر به پایین درخت:

 apt-get install libgvc5
 

به دلایلی عجیب ، این موفق شد ، و من توانستم بسته اصلی را که می خواستم با آن نصب کنم apt-get install libmagickwand-dev :

 Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libcdt4 libgd2-xpm libgraph4 libpathplan4
Suggested packages:
  libgd-tools
The following NEW packages will be installed:
  libcdt4 libgd2-xpm libgraph4 libgvc5 libpathplan4
0 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.
Need to get 808 kB of archives.
After this operation, 2,320 kB of additional disk space will be used.
Do you want to continue [Y/n]?
 

11



پاسخهای عالی! اما امروز به نظر می رسد پرونده من با شما متفاوت است. در اینجا توصیه من است.

مسئله:

نصب apache2 را در اوبونتو 10.10 نصب نکردم.

 [email protected]:~$ sudo apt-get install apache2

Reading package lists... Done

Building dependency tree      

Reading state information... Done

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

The following information may help to resolve the situation:

The following packages have unmet dependencies:

 apache2 : Depends: apache2-mpm-worker (= 2.2.16-1ubuntu3) but it is not going to be installed or

                    apache2-mpm-prefork (= 2.2.16-1ubuntu3) but it is not going to be installed or

                    apache2-mpm-event (= 2.2.16-1ubuntu3) but it is not going to be installed or

                    apache2-mpm-itk (= 2.2.16-1ubuntu3) but it is not going to be installed

           Depends: apache2.2-common (= 2.2.16-1ubuntu3) but it is not going to be installed

E: Broken packages
 

راه حل:

روش من اضافه کردن بسته های وابسته به لیست نصب است.

اگر "sudo apt-get install apache2" ناموفق بود ، سعی کنید " sudo apt-get install apache2 apache2.2-Common " را امتحان کنید.

دیدن؟ apache2.2-معمول ناشی از خطای مرحله قبل است.

در آخر فهمیدم زنجیره وابستگی مانند این وجود دارد:

  apache2.2-common <-- apache2.2-bin <-- libaprutil1-ldap <-- libaprutil1
 

برای 3 بسته اول ، ورود به سیستم به من گفت: "نصب نمی شود" ،

اما برای بسته آخر ، "libaprutil1-ldap: بستگی دارد: libaprutil1 (= 1.3.9 + dfsg-3build1) اما 1.3.9 + dfsg-3ubuntu0.10.10.1 نصب شده است."

من یک نسخه متفاوت موجود در lib دارم ، بنابراین:

 sudo apt-get remove libaprutil1

sudo apt-get install apache2
 

حالا اشکالی نداره


8



خطای وابستگی برآورده چیست

در بسته های اوبونتو روش اصلی ساخت ، استقرار و نصب نرم افزار است. خیلی ساده ، بسته ها گزینه ای برای بارگیری ، ساخت و نصب نرم افزار از ابتدا هستند. آنها از نظر نصب ، حذف ، نظارت و دستیابی به تعامل بین قطعات نرم افزاری نسبت به مدل استاندارد "build from source" ، از مزایای زیادی برخوردار هستند. اوبونتو از سیستم بسته بندی متمرکز استفاده می کند ، یعنی هر بسته بستگی به برخی بسته های دیگر دارد. وقتی بسته ای را نصب می کنیم ، بستگی به این بستگی دارد ، این وابستگی نصب خواهد شد ، خطای وابستگی unmet هنگامی رخ می دهد که وابستگی های بسته برای نصب در دسترس نباشد.

علل احتمالی

 1.Computer is not connected to the Internet
2.The repository containing the depandancy package is not enabled
3.Package catalog is not updated
4.The version of the depandancy in the current repository is old
5.Software index is broken
6.The depandancy is not available for ubuntu
 

بیایید سعی کنیم آن را حل کنیم

  1. اتصال به اینترنت: D
  2. اطمینان حاصل کنید که همه مخازن پیش فرض فعال هستند

    -> به راحتی می توانید آنها را در Software Center -> ویرایش-> منابع نرم افزاری-> سایر منابع-> افزودن "اضافه کنید"

    -> شروع کنید Software Center .

    -> در پانل بروید Edit و انتخاب کنید Software Sources .


    ویرایش-نرم افزار-منابع

    -> اطمینان حاصل کنید که همه مخازن بررسی شده اند
    توضیحات تصویر را اینجا وارد کنید

  3. کاتالوگ نرم افزار را به روز کنید

    بر روی نماد بالا سمت راست کلیک کنید و ورود به روزرسانی موجود را از فهرست انتخاب کنید

    توضیحات تصویر را اینجا وارد کنید

و دکمه بررسی را فشار دهید
توضیحات تصویر را اینجا وارد کنید

4.type ctrl+ alt+ tبرای باز کردن ترمینال و تایپ کنید sudo apt-get install -f

5.Ppa را که اخیراً اضافه کرده اید با استفاده از پاکسازی ppa-ppa پاکسازی کنید
پاک کننده ppa را نصب کنید

این برنامه یک PPA را از منابع نرم افزار شما غیرفعال می کند و سیستم شما را به بسته های رسمی اوبونتو برمی گرداند. شما می توانید پس از آزمایش نسخه جدید از PPA ، سیستم خود را به حالت عادی برگردانید.

نحو

 sudo ppa-purge ppa:<repository-name>/<subdirectory>
 

مثال

 sudo ppa-purge ppa:ubuntu-mozilla-daily/ppa
 
  1. اگر یک کادر گفتگوی زیر ظاهر شد ، روی دکمه تعمیر فشار دهید و صبر کنید


توضیحات تصویر را اینجا وارد کنید

برای باز کردن ترمینال و تایپ کردن سایر دستورالعمل های روی صفحه ، نوع ctrl+ alt+ دیگری را تایپ کنیدt sudo apt-get install -f

اگر هنوز خطایی رخ داد ، احساس راحتی کنید که می توانید آن را در askbuntu بپرسید


7



... فراموش نکنید که "build-dep" را فراموش نکنید

علاوه بر جواب های فوق - باید اعتراف کنم که تعجب نکردم که هیچ کس از این رویکرد اشاره نکرده است ، همان چیزی است که من همیشه به عنوان "گلوله نقره ای" از آن استفاده کرده ام ، هر زمان که با آن درگیری های مناسب داشته باشم یا بسته های حل نشده ای (یا حتی اگر سیستم لکنت دارد .... هکتار!).

ویرایش شده: استفاده از sudo dpkg -r [package] آن تشویق می شود زیرا عملکرد بسیار قدرتمندی دارد. از آنجا که apt-get در کنار آن کار می کند dpkg ، این بدان معنی است که apt-get از dpkg عملکرد پیروی می کنید.

   sudo dpkg -r [package]
  sudo apt-get build-dep [package]  
  ## pre-install all deps for the package
 

شما با apt-get تماس می گیرید تا بسته خراب شده ای را که می خواهید در سیستم نصب کنید پاک کنید و سپس به دستور build-dep فراخوانی می کنید که apt-get وابستگی های جداگانه ای را که به این بسته تعلق دارد نصب و نصب می کند ، به این ترتیب آنها راضی می کنند. بسته قبلی در آخر با نصب apt-get تماس بگیرید:

 sudo apt-get install [package]
 

.... "اوه! بیایید بازوی خود را بپیچانیم تا اینکه "عمو!"

این اتفاق به ندرت در طول سالهای طولانی استفاده از لینوکس رخ داده است ، اما من خودم را پیدا کردم که از این روش به ندرت استفاده کردم و موفق شدم. این نمونه ای از مبارزات اخیر من در اوایل یک ماه پیش با بسته ها بود mysql-client/mysql-server . پس از دوازده تلاش ناموفق برای تنظیم مجدد رمزعبور ریشه من با mysql-server (حتی از طریق --skip-grant-جداول techqiue اما هنوز هم شکست خورده است) ، من در نهایت موفق به پیچاندن بازوی لینوکس شدم تا اینکه فریاد زد "عمو!":

 sudo dpkg -r mysql-server mysql-client
sudo apt-get autoclean  
## this dumps any copy of existing package to prevent apt-get from "re-using" it.
sudo apt-get build-dep mysql-client   
 ## one package at a time, starting with client first
sudo apt-get install mysql-client
sudo apt-get build-dep mysql-server
sudo apt-get install mysql-server
 

apt-get autoclean کلید این راه حل است


5



در حین نصب بسته های i386 در سیستم های 64 بیتی Multiarch Ubuntu

اگر می خواهید بسته ای را نصب کنید که بستگی به بسیاری از بسته های i386 دارد ، در صورت عدم دستیابی به معماری i386 با اجرای sudo dpkg --add-architecure i386 دستور ، خطای وابستگی گفته شده نیز ایجاد می شود .

مثال:

 [email protected]:~$ sudo apt-get install skype
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 skype : Depends: skype-bin but it is not installable
E: Unable to correct problems, you have held broken packages.
[email protected]:~$ sudo dpkg --add-architecture i386
[email protected]:~$ sudo apt-get install skype
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  gcc-4.8-base:i386 gcc-4.9-base:i386 libasound2:i386 libasound2-plugins:i386
  libasyncns0:i386 libaudio2:i386 libavahi-client3:i386
  libavahi-common-data:i386 libavahi-common3:i386 libc6:i386
  libcgmanager0:i386 libcomerr2:i386 libcups2:i386 libdbus-1-3:i386
  libdbusmenu-qt2:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
  libdrm-radeon1:i386 libdrm2:i386 libelf1:i386 libexpat1:i386 libffi6:i386
  libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386
  libgcrypt11:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386
  libglapi-mesa:i386 libglib2.0-0:i386 libgnutls26:i386 libgpg-error0:i386
  libgssapi-krb5-2:i386 libgstreamer-plugins-base1.0-0:i386
  libgstreamer1.0-0:i386 libice6:i386 libjack-jackd2-0:i386 libjbig0:i386
  libjpeg-turbo8:i386 libjpeg8:i386 libjson-c2:i386 libk5crypto3:i386
  libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 libllvm3.4:i386
  liblzma5:i386 libmysqlclient18:i386 libnih-dbus1:i386 libnih1:i386
  libogg0:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpciaccess0:i386
  libpcre3:i386 libpng12-0:i386 libpulse0:i386 libqt4-dbus:i386
  libqt4-declarative:i386 libqt4-network:i386 libqt4-opengl:i386
  libqt4-script:i386 libqt4-sql:i386 libqt4-sql-mysql:i386 libqt4-xml:i386
  libqt4-xmlpatterns:i386 libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386
  libqtwebkit4:i386 libsamplerate0:i386 libselinux1:i386 libsm6:i386
  libsndfile1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386
  libstdc++6:i386 libtasn1-6:i386 libtiff5:i386 libtinfo5:i386
  libtxc-dxtn-s2tc0:i386 libudev1:i386 libuuid1:i386 libvorbis0a:i386
  libvorbisenc2:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386
  libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386
  libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386
  libxfixes3:i386 libxi6:i386 libxml2:i386 libxrender1:i386 libxshmfence1:i386
  libxslt1.1:i386 libxss1:i386 libxt6:i386 libxv1:i386 libxxf86vm1:i386
  mysql-common skype-bin:i386 sni-qt:i386 zlib1g:i386
Suggested packages:
  nas:i386 glibc-doc:i386 locales:i386 rng-tools:i386 libglide3:i386
  gnutls-bin:i386 krb5-doc:i386 krb5-user:i386 libvisual-0.4-plugins:i386
  gstreamer-codec-install:i386 gnome-codec-install:i386
  gstreamer1.0-tools:i386 gstreamer1.0-plugins-base:i386 jackd2:i386
  pulseaudio:i386 libqt4-declarative-folderlistmodel:i386
  libqt4-declarative-gestures:i386 libqt4-declarative-particles:i386
  libqt4-declarative-shaders:i386 qt4-qmlviewer:i386 libqt4-dev:i386
  libicu48:i386 libthai0:i386 qt4-qtconfig:i386
Recommended packages:
  xml-core:i386
The following NEW packages will be installed:
  gcc-4.8-base:i386 gcc-4.9-base:i386 libasound2:i386 libasound2-plugins:i386
  libasyncns0:i386 libaudio2:i386 libavahi-client3:i386
  libavahi-common-data:i386 libavahi-common3:i386 libc6:i386
  libcgmanager0:i386 libcomerr2:i386 libcups2:i386 libdbus-1-3:i386
  libdbusmenu-qt2:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
  libdrm-radeon1:i386 libdrm2:i386 libelf1:i386 libexpat1:i386 libffi6:i386
  libflac8:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386
  libgcrypt11:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386
  libglapi-mesa:i386 libglib2.0-0:i386 libgnutls26:i386 libgpg-error0:i386
  libgssapi-krb5-2:i386 libgstreamer-plugins-base1.0-0:i386
  libgstreamer1.0-0:i386 libice6:i386 libjack-jackd2-0:i386 libjbig0:i386
  libjpeg-turbo8:i386 libjpeg8:i386 libjson-c2:i386 libk5crypto3:i386
  libkeyutils1:i386 libkrb5-3:i386 libkrb5support0:i386 libllvm3.4:i386
  liblzma5:i386 libmysqlclient18:i386 libnih-dbus1:i386 libnih1:i386
  libogg0:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpciaccess0:i386
  libpcre3:i386 libpng12-0:i386 libpulse0:i386 libqt4-dbus:i386
  libqt4-declarative:i386 libqt4-network:i386 libqt4-opengl:i386
  libqt4-script:i386 libqt4-sql:i386 libqt4-sql-mysql:i386 libqt4-xml:i386
  libqt4-xmlpatterns:i386 libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386
  libqtwebkit4:i386 libsamplerate0:i386 libselinux1:i386 libsm6:i386
  libsndfile1:i386 libspeexdsp1:i386 libsqlite3-0:i386 libssl1.0.0:i386
  libstdc++6:i386 libtasn1-6:i386 libtiff5:i386 libtinfo5:i386
  libtxc-dxtn-s2tc0:i386 libudev1:i386 libuuid1:i386 libvorbis0a:i386
  libvorbisenc2:i386 libwrap0:i386 libx11-6:i386 libx11-xcb1:i386 libxau6:i386
  libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386
  libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386
  libxfixes3:i386 libxi6:i386 libxml2:i386 libxrender1:i386 libxshmfence1:i386
  libxslt1.1:i386 libxss1:i386 libxt6:i386 libxv1:i386 libxxf86vm1:i386
  mysql-common skype skype-bin:i386 sni-qt:i386 zlib1g:i386
0 upgraded, 115 newly installed, 0 to remove and 7 not upgraded.
Need to get 63.7 MB of archives.
After this operation, 225 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
 

3



پس از تلاش نزدیک به هر روش ذکر شده در این موضوع (و دیگران) ، من نزدیک به تسلیم شدم. من دبیان لنی را به فشرده سازی ارتقا داده ام ، و نمی توانم زندگی خود را بدانم که چرا PHP5 ، Apache ، MySQL و غیره نمی خواستند نصب کنند. در پایان سعی کردم از آن استفاده کنم

 sudo apt-get purge apache2
sudo apt-get purge php5
sudo apt-get purge mysql-server
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get install apache2 php5 mysql-server
 

.. و بی عیب و نقص کار کرد! ( مراقب باشید ، ممکن است پرونده های پیکربندی شما را از بین ببرد ، بنابراین از آنها نسخه پشتیبان تهیه کنید! )


1



آنچه برای من کار کرده است ، نصب مجدد وابستگی است. این مورد در مواردی است که نسخه نصب شده جدیدتر از نسخه جدید است (آنچه سیناپتیک نشان می دهد). این در واقع معادل اجازه دادن به synaptic برای بسته بندی وابستگی است.

چیز دیگری که کار کرده است استفاده از "استعداد" است:

 [email protected]:~# aptitude install libgfortran3
The following NEW packages will be installed:
  libgfortran3{b} 
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 250 kB of archives. After unpacking 1 230 kB will be used.
The following packages have unmet dependencies:
 libgfortran3 : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is installed.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     libgfortran3 [Not Installed]                       



Accept this solution? [Y/n/q/?] n
Internal error: found 2 (choice -> promotion) mappings for a single choice.
Internal error: found 2 (choice -> promotion) mappings for a single choice.
The following actions will resolve these dependencies:

      Downgrade the following packages:                                        
1)      cpp-4.8 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]       
2)      gcc-4.8 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]       
3)      gcc-4.8-base [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]  
4)      libasan0 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]      
5)      libatomic1 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]    
6)      libgcc-4.8-dev [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]
7)      libgomp1 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]      
8)      libitm1 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]       
9)      libquadmath0 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]  
10)     libstdc++6 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]    
11)     libtsan0 [4.8.4-2ubuntu1~14.04 (now) -> 4.8.2-19ubuntu1 (trusty)]      

Accept this solution? [Y/n/q/?] y
 

1



اگر خطایی مانند این دارید:

توضیحات تصویر را اینجا وارد کنید

این به شما می گوید که بسته ها از قبل نصب شده اند ، اما تمام بسته های دیگر مورد نیاز برای کار را نصب نکرده است. شما باید با اجرای این کار بتوانید این مسئله را حل کنید:

 sudo apt-get -f install
 

(این دستور باید به طور خودکار وابستگی های unmet را نصب کند.)

یا چیزی شبیه به این (با بسته های مربوطه) :

 sudo apt-get install click curl dpkg-dev python-lzma python-requests imagemagick ubuntu-dev-tools
 

اما اگر به این نوع خطا خاتمه دهید:
بسته / بسته موجود نیست / نامزد نصب و غیره نمی تواند نصب کند

سپس می توانید راه هایی را برای نصب آنها در اینجا یا اینجا جستجو کنید .
با مثال بالا ، شما باید بتوانید صفحه ای مانند این را پیدا کنید ، و سپس از PPA استفاده کنید ، یا یک .deb را برای 32bit یا یک .deb برای 64bit نصب کنید .


0



انتشارات مرتبط


چگونه می توانم swap را بعد از نصب سیستم اضافه کنم؟

چگونه می توانم "nomodeset" را بعد از نصب Ubuntu تنظیم کنم؟

افزودن نتایج PPA در "نمی توان میزبان" startpad.net "را حل کرد

چگونه می توان هسته اصلی PPA را اضافه کرد؟

چگونه می توان وابستگی های برآورده نشده در هنگام نصب درایورهای انویدیا را حل کرد؟

چگونه می توانم محتوای PPA را که به اوبونتو اضافه کرده ام لیست کنم؟

چگونه می توانم بخار را 64 بیتی نصب کنم وقتی که بسته های بسته ای برطرف نشوند؟

چگونه می توانم یک شبکه ad-hoc بی سیم ایجاد کنم؟

چگونه می توان وابستگی های Unmet Linux-Image-Generic و غیره را برطرف کرد

چگونه می توانم همه چیز را بعد از اتفاق دوم نقل قول ها با استفاده از خط فرمان حذف کنم؟

[apt] سوال برچسب


چگونه پرونده (ها) را به روش ایمن حذف کنیم؟

آیا روشی آسان برای تنظیم مجدد یا جابجایی آیکون ها در لانچر یونیتی وجود دارد؟

چوب نصب اوبونتو را نمی توان قالب بندی کرد

فایل صحیح php.ini را پیدا کنید

سرعت شبکه را بین دو جعبه چگونه آزمایش می کنید؟

چگونه می توان روشنایی LCD را از خط فرمان (یا از طریق اسکریپت) تغییر داد؟

چگونه می توانم ببینم چه درگاههایی روی دستگاه من باز است؟

نحوه نصب cmake 3.2 در اوبونتو

یک کاربر جدید SSH در سرور اوبونتو ایجاد کنید

چگونه می توانم نرم افزار و یا بازی های ویندوز را نصب کنم؟