Ինչպե՞ս ուղղել «Չհաջողվեց ստանալ կողպեք /var/lib/dpkg/lock» սխալը Ubuntu-ում:
Ներածություն
«Could get lock /var/lib/dpkg/lock» սխալը սովորական խնդիր է, որին հանդիպում են Ubuntu-ի օգտատերերը: Սովորաբար դա տեղի է ունենում, երբ համակարգը փորձում է կատարել մի քանի հրամաններ, որոնք պահանջում են մուտք դեպի նույն ֆայլը:
«/var/lib/dpkg/lock» ֆայլը Ubuntu-ի APT փաթեթների կառավարման համակարգի կարևոր բաղադրիչն է, որն օգտագործվում է ՕՀ-ում փաթեթները տեղադրելու, թարմացնելու և հեռացնելու համար: Երբ այս ֆայլը կողպված է կամ անհասանելի է, այն կարող է կանխել կարևոր թարմացումներն ու տեղադրումները:
Ձեր համակարգի անխափան աշխատանքն ապահովելու համար անհրաժեշտ է հնարավորինս շուտ շտկել այս սխալը: Խնդիրը չլուծելը կարող է հանգեցնել նոր ծրագրաշարի կամ թարմացումների թերի տեղադրմանը, ինչը կարող է հանգեցնել ծրագրերի անսարքության կամ անսպասելի վարքի:
Ավելին, եթե երկար ժամանակ չլուծված մնա, այն կարող է վնասել ձեր օպերացիոն համակարգը վերանորոգումից դուրս և նույնիսկ որոշ դեպքերում հանգեցնել տվյալների կորստի: Հետևաբար, Ubuntu-ի օգտատերերի համար կարևոր է հասկանալ, թե ինչպես է առաջանում այս սխալը և ինչպես կարող են արագ շտկել այն:
Սխալի պատճառները
Միաժամանակ գործարկվող փաթեթների կառավարիչների բազմաթիվ դեպքեր
Ubuntu-ում «Could get lock /var/lib/dpkg/lock» սխալի հիմնական պատճառներից մեկն այն է, երբ փաթեթի կառավարիչների մի քանի օրինակներ միաժամանակ աշխատում են: Դա կարող է տեղի ունենալ, երբ փորձում եք տեղադրել կամ թարմացնել միանգամից մի քանի փաթեթ, կամ երբ ֆոնային գործընթացը փորձում է օգտագործել dpkg-ն ֆոնային ռեժիմում, մինչ դուք փորձում եք այն գործարկել տերմինալից:
Երբ փաթեթների կառավարիչների մի քանի օրինակներ աշխատում են միանգամից, դրանք ավարտվում են միմյանց հետ հակասության մեջ, ինչը հանգեցնում է /var/lib/dpkg-ում ֆայլերը մուտք գործելու կամ դրանցում փոփոխություններ կատարելու անհնարինության: Որպես այդպիսին, կարևոր է, որ դուք նույնականացնեք գործող ցանկացած գործընթաց և դադարեցնեք դրանք նախքան սխալը շտկելու փորձը:
Անավարտ կամ ընդհատված տեղադրման կամ թարմացման գործընթացներ
Այս սխալի մեկ այլ պատճառ կարող է լինել թերի կամ ընդհատված տեղադրման/թարմացման գործընթացները: Օրինակ, եթե ձեր համակարգը կորցնում է էներգիան տեղադրման/թարմացման գործընթացում, դա կարող է հանգեցնել համակարգի ֆայլերի անհամապատասխանությունների և, ի վերջո, առաջացնել այս սխալը:
Նմանապես, եթե դուք կտրուկ չեղարկեք ընթացիկ տեղադրման/թարմացման գործընթացը, որոշ հիմնական փաթեթներ կարող են ճիշտ չտեղադրվել: Երբ նման թերի տեղադրումներ/արդիականացումներ տեղի են ունենում Ubuntu համակարգերում, որոնք ապավինում են dpkg-ին՝ որպես իրենց փաթեթի կառավարիչ, մեծ հավանականություն կա, որ այդ տեղադրումների հետ կապված որոշ կողպեք ֆայլեր կարող են մնալ նույնիսկ վերաբեռնումից հետո:
Այս կողպեքի ֆայլերը կարող են կանխել հետագա թարմացումները/թարմացումները, մինչև դրանք ձեռքով չհեռացվեն /var/lib/dpkg/-ից: Նկատի ունեցեք, որ այս կողպեքները հեռացնելն առանց կոտրված փաթեթները նախապես ամրացնելու կարող է ավելի վատթարանալ իրավիճակը և ավելի վնասել ձեր համակարգը:
Փաթեթի կառավարչի վնասված ֆայլեր
Փաթեթների կառավարչի վնասված ֆայլերը կարող են նաև հանգեցնել Ubuntu համակարգերում «Could get lock /var/lib/dpkg/lock» սխալին: Եթե, օրինակ, dpkg-ի հետ կապված որոշ կարևոր փաթեթներ վնասվեն պատճառներով, ինչպիսիք են արդիականացման/տեղադրումների ժամանակ էլեկտրաէներգիայի անսպասելի խափանումները կամ համակարգի այլ սխալները, դուք կսկսեք անհամապատասխանություններ զգալ փաթեթների կառավարչի ֆայլերում, ինչը կարող է հանգեցնել դրանց մուտքի ձախողման:
Այս սխալը շտկելու համար ձեզ հարկավոր է ստուգել և վերանորոգել ձեր համակարգի կոտրված փաթեթները: Բացի այդ, կարող է անհրաժեշտ լինել վերատեղադրել վնասված փաթեթներից մի քանիսը կամ նույնիսկ դիտարկել դրանք վերականգնելու պահուստային պատճեններից, որոնք արվել են մինչ սխալները:
Սխալը շտկելու լուծումներ
Ստուգեք «Գործող փաթեթի կառավարիչների» առկայությունը
«Չհաջողվեց ստանալ lock /var/lib/dpkg/lock» սխալի հիմնական պատճառներից մեկը փաթեթի կառավարիչների մի քանի դեպքերի միաժամանակյա գործարկումն է: Ստուգելու համար, թե արդյոք ներկայումս աշխատում են որևէ փաթեթի կառավարիչ, կարող եք բացել տերմինալը և մուտքագրել «sudo lsof /var/lib/dpkg/lock»:
sudo lsof /var/lib/dpkg/lock
Այս հրամանը ցույց կտա բոլոր գործընթացները, որոնք ներկայումս օգտագործում են dpkg lock ֆայլը: Եթե ցուցադրված է որևէ գործընթաց, նույնականացրեք դրա գործընթացի ID-ն (PID) և մուտքագրեք «sudo kill -9 PID»՝ այն դադարեցնելու համար:
sudo kill -9 PID
Հեռացնել կողպեքի ֆայլերը
Երբեմն կողպեքի ֆայլը հեռացնելը կարող է շտկել այս սխալը: Դա անելու համար բացեք տերմինալի պատուհանը և մուտքագրեք «sudo rm /var/lib/dpkg/lock»:
sudo rm /var/lib/dpkg/lock
Եթե կա «lock-frontend» անունով կողպեքի ֆայլ, հեռացրեք այն՝ օգտագործելով «sudo rm /var/lib/apt/lists/lock-frontend»: Սա կապահովի, որ ձեր համակարգում չկան կողպեքի ֆայլեր, որոնք կարող են հակասություններ առաջացնել այլ գործընթացների հետ:
sudo rm /var/lib/apt/lists/lock-frontend
Կոտրված փաթեթների վերանորոգում
Որոշ դեպքերում կոտրված փաթեթները կարող են հանգեցնել այս սխալի հաղորդագրության հայտնվելուն: Ստուգելու համար, թե արդյոք ձեր համակարգում կան կոտրված փաթեթներ և դրանք վերանորոգելու համար, բացեք տերմինալի պատուհանը և մուտքագրեք «sudo dpkg --configure -a»: Հետևեք էկրանի հրահանգներին՝ կոտրված փաթեթները վերանորոգելու համար:
sudo dpkg --configure -a
Մաքրել քեշը
Հին քեշի ֆայլերը մաքրելը կարող է վերացնել տեղադրման կամ թարմացման գործընթացների հետ կապված ցանկացած խնդիր, որը ինչ-որ կերպ ընդհատվել է: Դա անելու համար բացեք Տերմինալը և մուտքագրեք «sudo apt-get clean»: Սա կհեռացնի բոլոր ֆայլերը «/var/cache/apt/archives/»-ում պահվող քեշից:
Եզրակացություն
«Could get lock /var/lib/dpkg/lock» սխալը կարող է հիասթափեցնել Ubuntu Linux համակարգերում ծրագրակազմը տեղադրել կամ թարմացնել: Այնուամենայնիվ, լավ նորությունն այն է, որ այս սխալը շտկելու լուծումներ կան: Հետևելով վերը նշված քայլերին, դուք կարող եք հաջողությամբ լուծել և լուծել այս խնդիրը:
Հիշեք, որ միշտ ստուգեք գործարկվող փաթեթների կառավարիչները, անհրաժեշտության դեպքում հեռացրեք կողպեքի ցանկացած ֆայլ, անհրաժեշտության դեպքում վերանորոգեք կոտրված փաթեթները և պարբերաբար մաքրեք քեշը՝ հետագա խնդիրներից խուսափելու համար: Հաշվի առնելով այս ռազմավարությունները՝ դուք կարող եք պահել ձեր Ubuntu համակարգը սահուն և արդյունավետ աշխատելու համար: