Jei terminalo išvestyje matote tokius žodžius kaip „nepatenkintos priklausomybės“, „sugadinti paketai“, „paketai buvo laikomi atgal“, tikėtina, kad gali kilti priklausomybės konfliktų. Šiame straipsnyje bus išvardyti keli metodai, kuriuos galima naudoti siekiant užkirsti kelią ir ištaisyti tokio tipo priklausomybės klaidas. Atkreipkite dėmesį, kad toliau siūlomi metodai nėra jokia tvarka.
Atnaujinti paketus
Pirmasis dalykas, kurį reikia padaryti klaidų atveju, yra paleisti komandą „update“. Tai atnaujins visas oficialias ir trečiųjų šalių saugyklas, kurias pridėjote prie savo sistemos, ir sudarys naują paketų sąrašą. Atnaujinimo komandos paleidimas iš terminalo apeina oficialių „Ubuntu“ paketų palaipsnį paleidimą per GUI atnaujinimo priemonę, todėl visada gausite naujausią paketų sąrašą.
Saugyklą galite atnaujinti vykdydami šią komandą:
$ sudo apt atnaujinimasPakeisti paketo atsisiuntimo serverį
Jei vykdydami anksčiau pateiktą naujinimo komandą pastebite klaidų „nepavyksta rasti paketo“, pabandykite pakeisti atsisiuntimo veidrodžius. „Ubuntu“ paketai galutiniams vartotojams teikiami iš visame pasaulyje esančių serverių. Kartais iš šių serverių galima gauti tik dalinius arba sugadintus paketų naujinimus, dėl kurių klaidų atsiranda atnaujinant. Paprastai ši problema po kurio laiko išsprendžiama automatiškai, kai visi „Ubuntu“ paketai teisingai klonuojami šiuose veidrodžiuose. Tačiau, jei norite išspręsti šią problemą, galite rankiniu būdu pakeisti veidrodžio vietą.
Norėdami pakeisti atsisiuntimo serverį, paleiskite programą „Software & Updates“ iš programų paleidimo priemonės. Skirtuke „Ubuntu Software“ išskleidžiamajame sąraše „Atsisiųsti iš“ pasirinkus „Pagrindinis serveris“, beveik garantuojama, kad bus išspręstos visos paketo prieinamumo problemos. Tačiau atsisiuntimo greitis gali būti mažas, atsižvelgiant į jūsų buvimo vietą ir artumą prie serverių. Pagal numatytuosius nustatymus „Ubuntu“ pasirenka serverį, kuris suteiks maksimalų greitį, atsižvelgiant į jūsų dabartinę vietą. Galite nepaisyti pasirinkdami bet kurį iš išvardytų serverių arba spustelėdami „Pasirinkti geriausią serverį“, kad paliktumėte pasirinkimą „Ubuntu“.
Atnaujinti paketus
Atnaujinus įdiegtus paketus galima išspręsti priklausomybės klaidas. Yra dvi komandos, skirtos „Ubuntu“ paketams atnaujinti, ir jų elgesys skiriasi:
- „Atnaujinti“: atnaujina įdiegtus paketus, jei yra kokių nors atnaujinimų, nepašalina jokio paketo, net jei yra nepatenkintų ir neveikiančių priklausomybių
- „Dist-upgrade“: bando protingai atnaujinti paketus ir išspręsti priklausomybes, pašalina sugedusias ir įdiegia naujas priklausomybes visur, kur reikia klaidoms ištaisyti
Atnaujinimo ir dist-upgrade programos yra:
$ sudo apt atnaujinimas$ sudo apt dist-upgrade
Išvalykite talpykloje esančius ir likusius paketus
„Ubuntu“ paketų tvarkyklė „apt“ atsisiųstus paketus laiko talpyklos aplanke. Kitą kartą, kai reikės iš naujo įdiegti paketą, kuris jau buvo laikomas talpykloje, „Ubuntu“ gaus „Deb“ paketą iš talpyklos aplanko, o ne iš naujo atsisiųs iš serverio. Išvalius šią talpyklą, išvaloma disko vieta, taip pat kai kuriais atvejais galima išspręsti priklausomybės ir diegimo klaidas.
Apt paketo talpyklą galima išvalyti vykdant žemiau esančią komandą:
$ sudo apt cleanYra dar viena apt komanda „autoclean“, kuri išvalo paketo talpyklą. Tačiau užuot išvalęs visą aplanką, jis pašalina tik paketus, kurie buvo pašalinti iš saugyklos serverių.
$ sudo apt autocleanAtlikite bandomąjį diegimą
Galima imituoti paketo diegimą, kad patikrintumėte visas galimas klaidas, atsirandančias tikrojo diegimo metu. Vykdykite toliau pateiktą komandą pakeisdami „paketo pavadinimą“ norimu paketo pavadinimu (be kabučių), kad atliktumėte bandomąjį diegimą.
$ sudo apt install - sausai paleiskite „paketo pavadinimą“Imitacinis pašalinimas gali būti atliekamas tokiu pačiu būdu:
$ sudo apt remove - sausai paleiskite „paketo pavadinimą“Pataisykite sugadintus paketus
Gali būti sugadintų paketų ir nepatenkintų priklausomybių, ypač kai vienu metu diegiate kelis paketus. Žemiau pateikta komanda bandys išspręsti šias problemas įdiegdama ir taisydama sugedusias priklausomybes arba visiškai pašalindama paketą, kuris yra atsakingas už priklausomybės konfliktą.
$ sudo apt -f installKonfigūruoti paketų nepavyko įdiegti dėl trikdžių
Kartais apt paketų tvarkyklė nustoja staigiai palikti paketus, kurių nepavyko nustatyti. Šie pertraukimai dažniausiai būna dėl veiksnių, kurių „apt“ paketų tvarkyklė negali kontroliuoti. Pavyzdžiui, jei netyčia uždarėte terminalą arba jūsų kompiuteris staiga išsijungia, apt negalės užbaigti sąrankos. Paleidus toliau pateiktą komandą, bus ištaisytos paketo klaidos ir priklausomybės problemos, kylančios dėl šios problemos.
$ sudo dpkg --configure -aNaudokite PPA-valymą
„Asmeninių paketų archyvas“ arba PPA yra programinės įrangos saugykla, leidžianti „Ubuntu“ vartotojams atnaujinti arba įdiegti naujus paketus iš neoficialių šaltinių. „PPA-Purge“ yra įrankis, pašalinantis šiuos trečiųjų šalių PPA šaltinius ir pakeičiantis paketus, įdiegtus iš EEPS, į atsargų versijas. Naudojant PPA-Purge bus išspręsti visi priklausomybės konfliktai, atsirandantys dėl paketų, įdiegtų ar atnaujintų iš PPA. Norėdami įdiegti „PPA-Purge“ komandinės eilutės programą „Ubuntu“, vykdykite šią komandą:
$ sudo apt įdiekite ppa-purgeNorėdami išvalyti PPA, vykdykite komandą tokiu formatu:
$ sudo ppa-purge „ppa: adresas“Pavyzdžiui, „Geany“ teksto redaktoriaus PPA pridėta iš čia galima išvalyti vykdant komandą:
$ sudo ppa-purge ppa: geany-dev / ppaNaudokitės „Aptitude Package Manager“
Tinkamumo paketų tvarkyklė gali būti naudojama vietoj numatytojo „Ubuntu“ apt paketų tvarkyklės, kad būtų išspręstos priklausomybės klaidos. „Aptitude“ yra naujesnė nei „apt“ paketų tvarkyklė ir suteikia papildomų galimybių, terminalu pagrįstą frontendą ir bendrą naudojimo paprastumą. „Aptitude“ sujungia daugybę „apt“ parinkčių vienoje komandoje, kad jums nereikėtų paleisti kelių komandų klaidoms ištaisyti.
Pavyzdžiui, jei naudojate „aptitude“ paketų tvarkytuvę, kad pašalintumėte net vieną paketą, gausite galimybę pašalinti nenaudojamus ir likusius paketus, o „apt“ yra atskira komanda tai padaryti. Tinkamumas yra daug protingesnis sprendžiant priklausomybės konfliktus nei tinkamas, paprastai jis pateikia išsamų atsiliepimą konfliktams išspręsti, naudodamas kelias parinktis, kurias gali pasirinkti vartotojas. Prieš gaudamas bet kokius labai eksperimentinius paketus, visada užtikrinu, kad mano sistemoje būtų įdiegti tinkamumas ir „PPA-Purge“.
Tinkamumą galima įdiegti vykdant žemiau esančią komandą:
$ sudo apt install aptitudeTinkamumas ir apt naudoja daug komandinės eilutės parinkčių, tinkamumas turi keletą skirtumų. Galite ištirti visas tinkamumo galimybes iš čia.
Iš naujo įdiekite „Ubuntu“ darbalaukio paketą
Iš naujo įdiegus „ubuntu-desktop“ paketą, bus parengti būtini paketai, kurie pagal numatytuosius nustatymus buvo įdiegti „Ubuntu“. Jis gaus visus paketus, kurie priklauso nuo „ubuntu-desktop“ meta paketo. Norėdami iš naujo įdiegti „ubuntu-desktop“, vykdykite toliau nurodytą komandą:
$ sudo apt install - iš naujo įdiekite „ubuntu-desktop“Atkreipkite dėmesį, kad aukščiau pateikta komanda įdiegs tik pagrindinius pagrindinius paketus, o ne tokias programas kaip „Firefox“, „Thunderbird“, vaizdo grotuvas ir kt.
Pašalinkite arba išjunkite PPA prieš atnaujindami į naujesnę „Ubuntu“ versiją
Nors prieš atlikdami sistemos atnaujinimą „Ubuntu“ išjungia bet kokias EEPS, kad išvengtumėte nepatenkintų priklausomybės klaidų sistemos atnaujinimo metu ir po jo, turėtumėte rankiniu būdu pašalinti trečiųjų šalių EEPS. Geriausias būdas tai padaryti yra paleisti aukščiau paaiškintą komandą PPA-Purge.
Taip pat galite pašalinti tik PPA saugyklas. Tačiau tai gali neužkirsti kelio jokioms priklausomybės klaidoms atnaujinant. EEPS galima pašalinti dviem būdais: pirmasis apima komandinės eilutės naudojimą, o antrasis - naudojant GUI programą. Atminkite, kad šie metodai pašalins tik PPA saugyklas, o sistemoje paliks anksčiau atnaujintus ar įdiegtus paketus.
Norėdami pašalinti PPA naudodami komandinę eilutę, vykdykite toliau pateiktą komandą tokiu formatu:
$ sudo add-apt-repository - pašalinkite „ppa: name“Pavyzdžiui, „Geany“ teksto redaktoriaus PPA pridėta iš čia galima pašalinti vykdant komandą:
$ sudo add-apt-repository - pašalinti ppa: geany-dev / ppaNorėdami pašalinti PPA naudodami GUI metodą, paprastai turite paleisti programą „Software & Updates“ iš programų paleidimo priemonės. Tačiau dėl „Ubuntu“ klaidos šis metodas ne visada veikia ir nepavyksta išjungti EEPS.
Norėdami tai išspręsti, turime įdiegti „Synaptic“ paketų tvarkytuvę, kuri yra „apt“ sąsaja. Norėdami įdiegti „Synaptic“, paleiskite komandą:
$ sudo apt įdiegti sinapsinįIš programų paleidimo priemonės paleiskite „Synaptic Package Manager“. Spustelėkite „Nustatymai“> „Saugyklos“. Eikite į skirtuką „Kita programinė įranga“ ir spustelėkite PPA, kurį norite pašalinti, kad jį paryškintumėte. Norėdami pašalinti PPA iš sistemos, spustelėkite apačioje esantį mygtuką „Pašalinti“. Taip pat galite išjungti PPA nepašalinę, kad ją būtų galima iš naujo įgalinti atnaujinus sistemą. Norėdami tai padaryti, tiesiog atžymėkite žymimąjį laukelį prieš PPA. Atlikę pirmiau nurodytus veiksmus, uždarykite langą „Programinė įranga ir naujinimai“. Kai būsite paraginti atnaujinti saugyklas, spustelėkite mygtuką „Perkrauti“.
Būkite atsargūs įtraukdami į sistemą naujus EEPS
Dažniausiai priklausomybės klaidos atsiranda naudojant trečiųjų šalių EEPS arba diegiant deb paketus iš neoficialių šaltinių. Taip pat yra tikimybė, kad kenkėjiškos programos pateks į jūsų sistemą per PPA. Todėl visada turėtumėte būti atsargūs pridedant bet kokį atsitiktinį APS į savo sistemą. Pridėkite PPA tik tuo atveju, jei pasitikite jos šaltiniu ir prižiūrėtojais / kūrėjais. Nors iki šiol negirdėjome apie kenkėjiškas programas ar reklamines programas, platinamas per EEPS, visada yra rizika, nes tai yra trečiųjų šalių saugyklos, turinčios „Ubuntu“ kūrėjų nepatvirtintus paketus.
Išvada
Tai yra keli metodai, kuriuos galima naudoti norint ištaisyti ir užkirsti kelią priklausomybės klaidoms „Ubuntu“. Viskas paprastai sugenda, ypač naudojant „Ubuntu“ kaip pagrindinę kūrimo aplinką su daugybe trečiųjų šalių programų ir komandinės eilutės įrankių. Tačiau daugumą šių priklausomybės klaidų galima sumažinti įdiegiant programas iš oficialių, žinomų ir patikimų šaltinių.