A af de mest almindelige problemer, der normalt opstår i Ubuntu eller et hvilket som helst af dets derivater når brugeren installerer deb-pakker, som han downloader fra et websted, Det er det berømte problem med uopfyldte afhængigheder, dette genereres, fordi pakken kræver en specifik version af en applikation, eller den frigives, og den ikke er i systemet, eller at pakkehåndtereren ikke kan finde de korrekte afhængige pakker, der er nødvendige for at udføre programmet i Ubuntu.
Selvom denne slags problemer opstår mindre og mindre, På grund af det faktum, at mange brugere allerede har en tendens til at foretrække brugen af Flatpak-, AppImage- eller Snap-applikationer, ud over det faktum at de allerede har et anstændigt katalog med de mest populære apps, og flere udviklere fortsætter med at tilføje deres apps i denne type format.
Identificering af problemet
Det første skridt til at løse denne irriterende fejl er at identificere problemet siden generelt springer dette normalt, når vi prøver at installere en pakke eller applikation fra en deb-pakke eller endda et lager.
Denne fejl er angivet for os fra terminalen, der fortæller os, at visse afhængigheder ikke kan opfyldes eller i tilfælde af installation via Ubuntu softwarecenter installerer det simpelthen ikke applikationen.
Her er det vigtigt at kontrollere, om vi ikke prøver at installere en forældet pakke Nå, muligvis er der en mere aktuel pakke, eller tjek lageret fra hvilken dato pakkens dato og indtil hvilken version der er tilgængelig.
Hvis den modstridende pakke allerede er installeret, når du prøver at køre kommandoen:
sudo apt update
o
sudo apt upgrade
Dette vil informere os om konflikten og bede os om at udføre en kommando til at løse problemet.
Anvendelse af den første løsning
Den mest direkte måde at rette fejl på Afhængighed i Ubuntu er med standardpakkehåndtering, for at starte korrektionen skal du bare åbne en terminal og køre kommandoen:
sudo apt install -f
Når du udfører ovenstående kommando, Ubuntu-pakkehåndtering vil forsøge at løse problemerne afhængighed overfor og det vil udskrive de ændringer, du vil foretage.
Her det er vigtigt at være opmærksom på de ændringer, du udskriver da hvis det ikke løser sig i konflikt med afhængighederne, fortsætter det med at afinstallere den eller de modstridende pakker og fortæller os, hvilke afhængigheder der er konflikter med pakken.
På samme måde kan du vælge denne anden løsning:
Anden løsning, installation af nødvendige afhængigheder
Under hensyntagen til det forrige trin, hvor vi nedskriver de pakker eller biblioteker, der er nødvendige for at løse afhængighedsfejlene, her vi skal installere pakkerne en efter en fra terminalen, eller vi kan hjælpe os selv med Synaptic
E.g., i terminalen får vi vist noget som dette:
"Error: Dependency is not satisfiable: libgtk-3-0 (>=3.16.2)"
Vi skal bemærke det Det fortæller os, at udgivelsen "libgtk 3.0" er større end eller lig med version "3.16.2" for hvad vi skylders download i dette tilfælde versionen af biblioteket. Her er det vigtigt at tage højde for, at for biblioteker er mange applikationer afhængige af en eller en bestemt version, så jeg personligt råder dig ikke til at lægge din hånd her.
For at finde en bestemt version kan vi stole på siden med ubuntu-pakker (Packages.ubuntu.com) for at kontrollere, hvilken version af Ubuntu det er, og i hvilket lager, da det er meget almindeligt ikke at have nogle aktiveret.
Her kan du downloade og installere de tilsvarende pakker, du har brug for.
Tredje og sidste mulighed. Udpakning skal ændre afhængigheder og ompakning.
Denne sidste mulighed er i teorien den bedste løsning, da udviklere generelt angiver, at applikationen fungerer under en bestemt version af en frigivelse, men de tager ikke højde for, at biblioteket kan opdateres i løbet af få dage eller i det øjeblik, hvor de frigiver deres applikation.
Så hvis de begrænser applikationen til at arbejde under en bestemt version, Dette er den, der forårsager konflikt.
Så vi skal gøre er at pakke deb-pakken ud, og vi vil ændre afhængighederne til den version, som vi har i systemet (det var derfor, det var vigtigt at bemærke, hvilke afhængigheder der var i konflikt og den specifikke version).
Til dette skal vi skrive kommandoen:
dpkg-deb -R “ruta-de-paquete-deb” “nombre-de-carpeta-que-tendra-los -archivos”
For eksempel:
dpkg-deb -R gimp.deb Gimp
Vi får adgang til mappen og vi går til den følgende rute "/ DEBIAN"
cd Gimp/DEBIAN
Og vi skal redigere filen "kontrol" med vores yndlingsredaktør
sudo gedit control
her vi skal kigge efter de linjer, der angiver afhængighederne som vi har konflikter med, og vi vil redigere dem.
For eksempel finder vi noget som dette:
Package: XXXX Version: XXXX Depends: libgtk3-0 (>= 3.16.xx"
Vi skifter til den version, vi har på. Vi gemmer ændringerne og ompakker for at geninstallere med:
dpkg-deb -b Gimp Gimp-new.deb
Og den nye deb-pakke genereres til installation.
Meget interessant om deb-pakken. Jeg kendte ham ikke. Vær hilset.
Hvilket problem med ødelagte afhængigheder, af den grund fejrer jeg implementeringen af pakker som Snap og Flatpak (jeg vælger den første) for at se, om vi endelig begynder at standardisere og vinde terræn på skrivebordet.
Jeg lider af det i disse dage, og jeg har prøvet at følge disse procedurer, men har ikke opnået meget.
Langt fra at sige, at det, der læses, er forkert.
Det skyldes mere uvidenheden hos den, der skriver om brugen af linux, jeg har brugt det i relativt kort tid, og jeg har kun en formatering og geninstallation af systemet til alle svar.
Det er som at prøve at læse kinesisk. det er næsten skattepligtigt for mig
At have problemer med afhængigheder kan have mange faktorer, og i høj grad sker det som diskuteret i artiklen, når vi forsøger at installere en pakke, der kan være forældet eller på anden måde er kompatibel med en anden version af Ubuntu eller er specielt bygget til en. Særlig distribution (normalt for Debian).
En anden sag kan være, når du anvender instruktionen –force og anvender en senere apt-opdatering eller opgraderer og ændrer nogle biblioteker.
På den anden side også når pakkerne er i konflikt med skrivebordsmiljøerne, hvor du installerede to eller flere miljøer, hvor deres afhængighed normalt er den samme, og du afinstallerede nogen af dem uden at give instruktion om at beholde afhængighederne.
Sagerne er mange, men hvis du gerne vil dele dit problem, kan vi muligvis nå en løsning.
Greetings.
Hej, jeg har problemer med ødelagte pakker, den første mulighed løser ikke noget, den anden mulighed, når man ser i søgningen efter pakker, vises hverken pakkerne eller bibliotekerne for at installere dem manuelt, og da jeg bruger programmet til at opdatere i Ubuntu 18.04, aner jeg ikke, hvor .deb til opdateringer falder fra, hvis jeg ser at gøre sag 3, nogen løsning? tak tak !!!
Jeg har et problem med zorin, installerer nogle codecs, jeg får en fejl, i terminalen får jeg fejlstrengen:
/var/lib/dpkg/lock-frontend
Hvordan kan jeg løse det, da jeg er ny i dette