Ako opraviť chyby závislostí v Ubuntu a derivátoch?

One,es najbežnejších problémov, ktoré sa v Ubuntu zvyčajne vyskytujú alebo niektorý z jeho derivátov keď si užívateľ nainštaluje deb balíčky, ktoré si stiahne z nejakej webovej stránky, Je to slávny problém s nevyplnenými závislosťami, ktorý sa generuje preto, lebo uvedený balík vyžaduje konkrétnu verziu aplikácie, alebo by sa vydala, a nie je v systéme, alebo preto, že správca balíkov nemôže nájsť správne závislé balíčky potrebné na spustenie programu v Ubuntu.

Aj keď tieto druhy problémov vznikajú čoraz menej, Vzhľadom na skutočnosť, že mnoho používateľov už skôr uprednostňuje použitie aplikácií Flatpak, AppImage alebo Snap, okrem toho, že už majú slušný katalóg s najobľúbenejšími aplikáciami a ďalší vývojári naďalej pridávajú svoje aplikácie v tomto type formát.

Identifikácia problému

Prvým krokom k vyriešeniu tejto nepríjemnej chyby je identifikácia problému odvtedy vo všeobecnosti to zvyčajne preskočí, keď sa pokúsime nainštalovať balík alebo aplikácia z deb balíka alebo dokonca úložisko.

Táto chyba je nám indikovaná z terminálu, ktorý nám hovorí, že určité závislosti nie je možné splniť alebo v prípade inštalácie prostredníctvom softvérového centra Ubuntu jednoducho aplikáciu nenainštaluje.

Tu je dôležité skontrolovať, či sa nepokúšame nainštalovať zastaraný balík Možno existuje aktuálnejší balík alebo skontrolujte úložisko, od ktorého dátumu majú balíky dátum a do akej verzie je k dispozícii.

Ak je konfliktný balík už nainštalovaný, pri pokuse o spustenie príkazu:

sudo apt update

o

sudo apt upgrade

Toto nás bude informovať o konflikte a požiada nás, aby sme vykonali príkaz na vyriešenie problému.

Aplikácia prvého riešenia

Najpriamejší spôsob opravy chýb Závislosť v Ubuntu je s predvoleným správcom balíkov. Ak chcete spustiť opravu, otvorte terminál a spustite príkaz:

sudo apt install -f

Pri vykonávaní vyššie uvedeného príkazu Správca balíkov Ubuntu sa pokúsi problémy vyriešiť závislosť, ktorej čelí a vytlačí vykonané zmeny. 

Tu je dôležité vziať do úvahy zmeny, ktoré tlačíte pretože ak sa nevyrieši v rozpore so závislosťami, pristúpi k odinštalovaniu konfliktného balíka alebo balíkov a oznámi nám, ktoré závislosti sú v rozpore s balíkom.

Rovnakým spôsobom môžete zvoliť toto ďalšie riešenie:

Stiahnite si deb balíčky lokálne
Súvisiaci článok:
Ako sťahovať lokálne balíčky DEB so závislosťami?

Druhé riešenie, inštalácia potrebných závislostí

Ak vezmeme do úvahy predchádzajúci krok, kde si zapisujeme balíčky alebo knižnice, ktoré sú potrebné na vyriešenie chýb závislostí, tu ideme inštalovať balíčky jeden po druhom z terminálu alebo si môžeme pomôcť Synapticom

Napr., v termináli sa zobrazuje niečo také:

"Error: Dependency is not satisfiable: libgtk-3-0 (>=3.16.2)"

Mali by sme si to všimnúť Hovorí nám, že vydanie „libgtk 3.0“ je väčšie alebo rovnaké ako verzia „3.16.2“ za to, čo dlžímeV takom prípade si stiahnite verziu uvedenej knižnice. Tu je dôležité vziať do úvahy, že v prípade knižníc veľa aplikácií závisí od jednej alebo určitej verzie, takže vám osobne neradím, aby ste sem priložili ruku.

Pri hľadaní konkrétnej verzie sa môžeme spoľahnúť stránka balíkov ubuntu (packages.ubuntu.com) overiť, o ktorú verziu Ubuntu sa jedná a v akom úložisku, pretože je veľmi bežné, že niektoré z nich nie sú povolené.

Tu si môžete stiahnuť a nainštalovať príslušné balíčky, ktoré potrebujete.

Odporúčanie, ak pri inštalácii určitej verzie knižnice, ktorá sa požaduje, naznačuje, že na nej závisí viac balíkov, je lepšie sa vzdať, pretože by ste mohli poškodiť svoje grafické prostredie alebo skončiť so zničením systému. 

Tretia a posledná možnosť. Vybaliť musí zmeniť závislosti a prebaliť.

Táto posledná možnosť je teoreticky najlepšia voľba, pretože vývojári zvyčajne naznačujú, že aplikácia funguje pod určitou verziou vydania, ale neberú do úvahy, že uvedená knižnica môže byť aktualizovaná v priebehu niekoľkých dní alebo v okamihu, keď vydajú svoju aplikáciu.

Ak teda obmedzia fungovanie aplikácie pod určitou verziou, To je ten, ktorý spôsobuje konflikty.

Takže urobíme rozbalenie deb balíka a zmeníme závislosti na verziu, ktorú v systéme máme (preto bolo dôležité poznamenať, ktoré závislosti boli v konflikte, a konkrétna verzia).

Za týmto účelom napíšeme príkaz:

dpkg-deb -R “ruta-de-paquete-deb” “nombre-de-carpeta-que-tendra-los -archivos”

Napríklad:

dpkg-deb -R gimp.deb Gimp

Ideme do priečinka a ideme na nasledujúcu cestu „/ DEBIAN“

cd Gimp/DEBIAN

A budeme upravovať súbor „control“ s našim obľúbeným editorom

sudo gedit control

Tu nájdeme riadky, ktoré označujú závislosti s ktorými máme konflikty a ideme ich upravovať.

Napríklad nájdeme niečo také:

Package: XXXX

Version: XXXX

Depends: libgtk3-0 (>= 3.16.xx"

Prejdeme na verziu, ktorú máme. Zmeny a prebalenie na opätovnú inštaláciu uložíme:

dpkg-deb -b Gimp Gimp-new.deb

A nový balík deb je vygenerovaný na inštaláciu.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   daniel dijo

    Veľmi zaujímavé ohľadom deb balíka. nepoznal ho. Zdravím vás.

  2.   Ferdinand Baptist dijo

    Aký problém s nefunkčnými závislosťami, z tohto dôvodu oslavujem implementáciu balíkov ako Snap a Flatpak (vyberám prvý), aby som zistil, či konečne začneme štandardizovať a presadiť sa na pracovnej ploche.

  3.   Mário Anaya dijo

    Trpím tým v dnešnej dobe a snažil som sa dodržiavať tieto postupy, ale dosiahli som málo.
    Zďaleka netvrdiac, že ​​to, čo sa číta, je nesprávne.
    Je to skôr kvôli nevedomosti toho, kto píše v používaní linuxu, používam ho pomerne krátko a na všetky odpovede mám iba formátovanie a preinštalovanie systému.
    Je to ako pokúšať sa čítať po čínsky. je to pre mňa takmer zdaniteľné

    1.    David naranjo dijo

      Problémy so závislosťami môžu mať veľa faktorov a do veľkej miery sa to deje, ako je to popísané v článku, keď sa pokúšame nainštalovať balík, ktorý môže byť zastaraný alebo inak kompatibilný s inou verziou Ubuntu alebo je špeciálne zostavený pre jednu konkrétnu distribúciu. (zvyčajne pre Debian).

      Ďalším prípadom môže byť použitie inštrukcie –force a neskoršia apt aktualizácia alebo aktualizácia a zmena niektorých knižníc.
      Na druhej strane tiež vtedy, keď sú balíky v konflikte s pracovnými prostrediami, kde ste nainštalovali dve alebo viac prostredí, kde sú ich závislosti zvyčajne rovnaké, a odinštalovali ste ktorékoľvek z nich bez toho, aby ste zadali pokyny na zachovanie závislostí.
      Prípadov je veľa, ale ak sa chcete podeliť o svoj problém, možno budeme schopní nájsť riešenie.
      Zdravím.

  4.   Alejandro Mendoza dijo

    Dobrý deň, mám problémy s pokazenými balíkmi, prvá možnosť nič nerieši, druhá možnosť pri hľadaní vo vyhľadávaní balíkov sa neobjavujú ani balíčky ani knižnice na ich manuálnu inštaláciu a keďže program používam na aktualizáciu v Ubuntu 18.04 netuším, odkiaľ spadá .deb pre aktualizácie v prípade, že urobím prípad 3, nejaké riešenie? prosím ďakujem !!!

  5.   Oscar Antonio Garcia dijo

    Mám problém so zorinom, pri inštalácii niektorých kodekov sa mi zobrazí chyba, v termináli sa zobrazí chybový reťazec:
    /var/lib/dpkg/lock-frontend

    Ako to môžem vyriešiť, keď som v tom nový