Kaip ištaisyti sugadintus paketus ir neįvykdytas priklausomybes Debian ir Ubuntu sistemose

Paskutiniai pakeitimai: 30/06/2026
Autorius: Izaokas
  • Sugedę paketai neleidžia įprastai valdyti programinės įrangos, blokuoja sistemos diegimą ir atnaujinimus.
  • Problema dažniausiai kyla dėl tinklo sutrikimų, elektros energijos tiekimo sutrikimų arba neoficialių išorinių saugyklų naudojimo.
  • Yra keli taisymo lygiai – nuo ​​automatizuotų APT komandų iki rankinio sistemos būsenos failų redagavimo.

Linux sistemos remontas

Esu tikras, kad jums taip yra nutikę: bandote įdiegti naują programą arba atnaujinti kompiuterį, ir staiga terminalas pateikia paslaptingą klaidą, kuri neleidžia jums atlikti jokių kitų veiksmų. Ši situacija yra dažnesnė nei atrodo tokiose distribucijose kaip „Ubuntu“ ar „Debian“ ir gali palikti sistemą gana erzinančioje būsenoje, kai negalite nei įdiegti, nei pašalinti programinės įrangos dėl to, ką mes žinome kaip sugadintus paketus.

Iš esmės susiduriame su failų tvarkymo problema, kai komponentas nebuvo tinkamai įdiegtas arba prieštarauja kitiems jau esantiems. Kad išvengtume panikos, paaiškinsime, kas tiksliai vyksta ir kaip tai ištaisyti žingsnis po žingsnio , pradedant paprasčiausiais sprendimais ir baigiant tais, kuriems reikia šiek tiek daugiau sistemos įsikišimo.

Linux sistemos atkūrimas
Susijęs straipsnis:
Išsamus „Linux“ sistemos atkūrimo vadovas

Ką tiksliai turime omenyje sakydami, kad siuntinys pažeistas?

Pirmiausia, paketas iš esmės yra failas, kuriame yra programinė įranga. Sakome, kad jis „sugadintas“, kai dėl kokių nors priežasčių diegimas buvo nepilnas arba paketas nesuderinamas su dabartine jūsų sistemos versija. Tai tikras galvos skausmas, nes blokuoja paketų tvarkyklę, neleisdamas atlikti tolesnės priežiūros.

Šį chaosą sukelia kelios tipinės situacijos. Pavyzdžiui, labai dažnai tai nutinka, jei nutrūksta interneto ryšys , kol kažkas atsisiunčiama, arba jei kompiuteris netikėtai išsijungia atnaujinimo metu. Taip pat dažnai kyla problemų pridedant išorines saugyklas (pvz., multimedijos saugyklas), kurios įdiegia bibliotekų versijas, kurios neatitinka oficialių platinimo versijų.

  „Timeshift“ pamoka, skirta „Linux“: išsamus vadovas, kaip jį įvaldyti

Kita vertus, yra ir liūdnai pagarsėjusių nepatenkintų priklausomybių. Kad tokia sudėtinga programa kaip „LibreOffice“ veiktų, jai reikia kitų mažesnių paketų, vadinamų priklausomybėmis. Jei sistema bando įdiegti pagrindinę programą, bet neranda vienos iš šių bibliotekų saugyklose, įvyksta priklausomybės klaida, neleidžianti programinei įrangai tinkamai veikti. Todėl labai svarbu žinoti, kaip išvardyti paketo priklausomybes „Linux“ sistemoje , kad nesugadintumėte sistemos.

Kaip įtraukti įdiegtų paketų sąrašą Ubuntu
Susijęs straipsnis:
Kaip išvardyti įdiegtus paketus Ubuntu

Pirmoji pagalba: greiti sprendimai su APT ir DPKG

Prieš imantis kokių nors drastiškų priemonių, geriausia išbandyti automatinius įrankius. Pirmas logiškas žingsnis – pabandyti priversti sistemą užbaigti nebaigtą procesą. Norėdami tai padaryti, atidarykite terminalą ir paleiskite komandą sudo dpkg --configure -aTai tinka priverstinė paketo konfigūracija kurie jau buvo išpakuoti, bet dar nebuvo iki galo įdiegti.

Jei tai nepadeda, rekomenduojama atlikti bendrą talpyklos valymą, kad sugadinti failai nesukeltų tolesnių problemų. Paleiskite sudo apt-get clean && sudo apt-get autocleanIškart po to rekomenduojama atkurti saugyklų sąrašą naudojant parametrą --fix-missing naudojant komandą sudo apt-get update --fix-missing, kuris padeda aptikti trūkstamus failus serveryje.

Vienas galingiausių įrankių šiai netvarkai išspręsti yra komanda sudo apt-get install -f (arba taip pat sudo apt --fix-broken install). Raidė „f“ kilusi iš nustatyti ir iš esmės sistemai nurodo, kad pabandykite ištaisyti priklausomybes Sugedusias dalis taisote įdiegdami tai, ko trūksta, arba pašalindami tai, kas sukelia konfliktą.

Kaip valdyti „AppImage“ paketus
Susijęs straipsnis:
Kaip lengvai valdyti „AppImage“ paketus „Linux“ sistemoje

Kartais problema ta, kad sistema mano, jog vyksta kitas diegimas, ir pateikia baisią klaidą spynaTaip nutinka todėl, kad užrakinimo failai sukuriami siekiant užkirsti kelią dviem procesams vienu metu modifikuoti paketus. Jei esate tikri, kad nevykdomas kitas atnaujinimas, galite ištrinti užrakinimo failus rankiniu būdu su: sudo rm /var/lib/apt/lists/lock y sudo rm /var/cache/apt/archives/lock.

Pažangūs metodai ir grafinių įrankių naudojimas

Jei terminalo nepakanka, galime naudoti „Synaptic“ – labai patikimą grafinę paketų tvarkyklę. Norėdami ją gauti, įdiekite sudo apt-get install synapticPatekę į vidų, eikite į mygtuką „Filtrai“ ir pasirinkite parinktį "Sugedęs"Jei kuris nors paketas yra paryškintas raudonai, spustelėkite jį dešiniuoju pelės mygtuku ir pasirinkite „Pažymėkite, jei norite visiškai pašalinti“.

  Išsamus „Audacity“ vadovas „Linux“ sistemoje, skirtas daugiakanaliam įrašymui ir redagavimui

Be to, „Synaptic“ meniu „Redaguoti“ turi tiesioginę funkciją „Taisyti sugadintus paketus “, kuri bando atlikti bendrą sistemos nuskaitymą, kad išspręstų konfliktus nereikalaujant įvesti sudėtingų komandų.

Jei problema išlieka ir tiksliai žinome, kuris paketas yra kaltininkas, galime pabandyti priverstinai jį pašalinti. Pirmiausia suraskite probleminį paketą naudodami sudo dpkg -l | grep ^..rKai vardas bus nustatytas, naudokite komandą sudo dpkg --remove --force-remove--reinstreq nombre_paquete punktas paleiskite konfliktuojančią programinę įrangą Nuo pat pradžių, nepaisant to, ar sistema skundžiasi.

Kaip aptikti pasikartojančius failus sistemoje „Linux“
Susijęs straipsnis:
Kaip aptikti ir pašalinti pasikartojančius failus sistemoje „Linux“

Kraštutiniu atveju, jei nė vienas iš aukščiau išvardytų būdų nepadeda, galime redaguoti sistemos būsenos failą. sudo nano /var/lib/dpkg/statusTada galėsite matyti visų paketų sąrašą. Ieškokite teksto bloko, atitinkančio sugadintą paketą, ir ištrinti visą skyrių Dėl jo. Išsaugoję pakeitimus, išvalykite talpyklą ir atnaujinkite sistemą su sudo apt-get update && sudo apt-get dist-upgrade.

Svarstymai dėl kitų „Linux“ distribucijų

Nors daugiausia dėmesio skyrėme „Debian“ ir „Ubuntu“, kiti „Linux“ distribucijos taip pat turi savo metodus. „Fedora“, „CentOS“ ir „RHEL“ naudoja RPM ir DNF tvarkykles. Pavyzdžiui, komanda sudo rpm -Va leisti patikrinti vientisumą visų įdiegtų paketų, siekiant aptikti metaduomenų klaidas.

„Arch Linux“ atveju pavyzdinė priemonė yra „Pacman“. sudo pacman -Qk Galite patikrinti paketų būseną ir, jei kuris nors iš jų nepavyksta, galite iš naujo įdiegti priverstinai perrašant per sudo pacman -S --force nombre-paqueteužtikrinant, kad proceso metu būtų išspręstos priklausomybės.

Nepriklausomai nuo platinimo, protingiausia visada atnaujinti saugyklas ir vengti diegti didelius kiekius išorinių .deb paketų, prieš tai nepatikrinus jų reikalavimų. Jei atsiduriate beviltiškoje situacijoje, geriausia pabandyti grąžinti sistemą į ankstesnę būseną, o ne diegti daugiau komponentų, kad bandytumėte išspręsti problemą, nes tai gali pabloginti situaciją.

  Kaip nustatyti namų NAS serverį naudojant „OpenMediaVault“

Kad jūsų sistema veiktų sklandžiai, atminkite, kad talpyklos išvalymas, priverstinė „dpkg“ konfigūracija, „apt“ taisymo parinkties naudojimas ir, kraštutiniais atvejais, rankinis užraktų ar paketo būsenos pašalinimas turėtų atkurti operacinės sistemos stabilumą ir leisti iš naujo įdiegti programas nebijant, kad procesas staiga sustos.

Kaip atkurti „Linux“ sistemą, kuri neįsikrauna po branduolio atnaujinimo
Susijęs straipsnis:
Kaip ištaisyti įkrovos klaidą „Linux“ sistemoje atnaujinus branduolį