A от най-често срещаните проблеми, които обикновено се появяват в Ubuntu или някое от неговите производни когато потребителят инсталира deb пакети, които изтегля от някакъв уеб сайт, Това е известният проблем с неизпълнените зависимости, това се генерира, защото споменатият пакет изисква конкретна версия на приложение или би се освободил и той не е в системата или че мениджърът на пакети не може да намери правилните зависими пакети, необходими за изпълнение на програмата в Ubuntu.
Въпреки че този вид проблеми възникват все по-рядко, Поради факта, че много потребители са склонни да предпочитат използването на приложения Flatpak, AppImage или Snap, в допълнение към факта, че вече имат достоен каталог с най-популярните приложения и повече разработчици продължават да добавят своите приложения в този тип формат.
Идентифициране на проблема
Първата стъпка за разрешаване на тази досадна грешка е да се идентифицира проблемът оттогава като цяло това обикновено скача, когато се опитваме да инсталираме пакет или приложение от deb пакет или дори хранилище.
Тази грешка ни се показва от терминала, който ни казва, че определени зависимости не могат да бъдат изпълнени или в случай на инсталиране чрез софтуерния център на Ubuntu, той просто не инсталира приложението.
Тук е важно да проверим дали не се опитваме да инсталираме остарял пакет Е, вероятно има по-актуален пакет или проверете хранилището от коя дата датите на пакетите и до коя версия е налична.
Ако конфликтният пакет вече е инсталиран, при опит за изпълнение на командата:
sudo apt update
o
sudo apt upgrade
Това ще ни информира за конфликта и ще поиска да изпълним команда за решаване на проблема.
Прилагане на първото решение
Най-прекият начин за коригиране на грешките Зависимостта в Ubuntu е с мениджъра на пакети по подразбиране, за да стартирате корекцията, просто отворете терминал и изпълнете командата:
sudo apt install -f
Когато изпълнявате горната команда, Мениджърът на пакети на Ubuntu ще се опита да отстрани проблемите изправяне пред зависимост и ще отпечата промените, които ще направите.
Тук важно е да вземете под внимание промените, които отпечатвате тъй като ако не разреши конфликт със зависимостите, ще продължи да деинсталира конфликтния пакет или пакети и ще ни каже кои зависимости са тези, които са в конфликт с пакета.
По същия начин можете да изберете това друго решение:
Второ решение, инсталиране на необходимите зависимости
Като вземем предвид предишната стъпка, където записваме пакетите или библиотеките, необходими за решаване на грешките в зависимостта, тук ще инсталираме пакетите един по един от терминала или можем да си помогнем със Synaptic
Например, в терминала ни се показва нещо подобно:
"Error: Dependency is not satisfiable: libgtk-3-0 (>=3.16.2)"
Трябва да отбележим това Това показва, че изданието "libgtk 3.0" е по-голямо или равно на версия "3.16.2" за това, което дължимs в този случай изтеглете версията на споменатата библиотека. Тук е важно да се вземе предвид, че за библиотеките много приложения зависят от една или определена версия, така че аз лично не ви съветвам да сложите ръка тук.
За да намерим конкретна версия, на която можем да разчитаме страницата на пакетите на ubuntu (пакети.ubuntu.com) за да проверите коя версия на Ubuntu е и в кое хранилище, тъй като е много често да не се активират някои.
Тук можете да изтеглите и инсталирате съответните пакети, от които се нуждаете.
Трети и последен вариант. Разопаковането трябва да промени зависимостите и преопаковането.
Тази последна опция е на теория най-добрият вариант, тъй като обикновено разработчиците обикновено посочват, че приложението работи под определена версия на дадена версия, но те не вземат предвид, че споменатата библиотека може да бъде актуализирана за броени дни или по времето, когато пуснат приложението си.
Така че, ако ограничат приложението да работи под определена версия, това е, което причинява конфликт.
Така че което ще направим е да разопаковаме deb пакета и ще променим зависимостите към версията, която имаме в системата (затова беше важно да се отбележи кои зависимости са в конфликт и конкретната версия).
За това ще напишем командата:
dpkg-deb -R “ruta-de-paquete-deb” “nombre-de-carpeta-que-tendra-los -archivos”
Например:
dpkg-deb -R gimp.deb Gimp
Ще влезем в папката и отиваме към следния маршрут "/ DEBIAN"
cd Gimp/DEBIAN
И ние ще редактираме файла "control" с любимия ни редактор
sudo gedit control
тук ще търсим редовете, които показват зависимостите с които имаме конфликти и ще ги редактираме.
Например ще намерим нещо подобно:
Package: XXXX Version: XXXX Depends: libgtk3-0 (>= 3.16.xx"
Ще преминем към версията, която имаме. Запазваме промените и преопаковаме, за да ги преинсталираме с:
dpkg-deb -b Gimp Gimp-new.deb
И новият пакет deb се генерира за инсталиране.
Много интересно за пакета deb. не го познаваше. Поздравления.
Какъв проблем с счупените зависимости, поради тази причина празнувам внедряването на пакети като Snap и Flatpak (избирам първия), за да видим дали най-накрая започваме да се стандартизираме и да набираме място на работния плот.
В днешно време страдам от него и се опитах да следвам тези процедури, но не постигнах много.
Далеч от това, че четеното е погрешно.
Това се дължи повече на невежеството на този, който пише, използвайки linux, аз го използвам от сравнително кратко време и единственият изход е форматирането и преинсталирането на системата за всички отговори.
Все едно да се опитваш да четеш китайски. за мен е почти облагаема
Проблемите със зависимостите могат да имат много фактори и до голяма степен това се случва, както е обсъдено в статията, когато се опитваме да инсталираме пакет, който може да е остарял или по друг начин да е съвместим с различна версия на Ubuntu или е специално създаден за такъв. (обикновено за Debian).
Друг случай може да бъде, когато приложите инструкцията –force и приложите по-късно подходящо актуализиране или надстройка и промяна на някои библиотеки.
От друга страна, също и когато пакетите влизат в конфликт със средите на работния плот, където сте инсталирали две или повече среди, където техните зависимости обикновено са еднакви и сте деинсталирали някои от тях, без да давате инструкции за запазване на зависимостите.
Случаите са много, но ако искате да споделите проблема си, може да успеем да намерим решение.
Поздрави.
Здравейте, имам проблеми със счупени пакети, първата опция не решава нищо, втората опция при търсене на пакети не се появява нито пакетите, нито библиотеките, за да ги инсталирам на ръка и тъй като използвам програмата за актуализация в Ubuntu 18.04, нямам представа откъде идва .deb за актуализации, в случай че видя да направя случай 3, някакво решение? моля благодаря !!!
Имам проблем със zorin, инсталирам някои кодеци, получавам грешка, в терминала получавам низа за грешка:
/var/lib/dpkg/lock-frontend
Как мога да го реша, след като съм нов в това