Uno найпоширеніших проблем, які зазвичай трапляються в 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
І ми збираємося редагувати файл "контроль" з нашим улюбленим редактором
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
Як я можу це вирішити, оскільки я новачок у цьому