Guider

Fix: Kunne ikke åpne låsefilen / var / lib / dpkg / lock

Å få den ikke kunne åpne låsefilen / var / lib / dpkg / lock feilmelding kan være forvirrende fordi det veldig godt kan spørre om du er root umiddelbart etterpå, selv om du kjørte en oppdateringskommando med sudo-prefikset. Denne feilkommandoen vises på nesten alt som bruker apt-get pakkebehandling. Enten du oppdaterer en stasjonær eller bærbar datamaskin som kjører en av de forskjellige versjonene av Ubuntu eller en Raspberry Pi med Raspbian Debian-spinnet, kan du oppdage at det kan være et problem på noen av disse plattformene.

Likevel er løsningen ganske enkel. Du kan vanligvis ignorere alt som spør deg om du er rot eller ikke, og gå rett til kjernen i problemet, som er relatert til to prosesser som prøver å få tilgang til en låst fil samtidig.

Metode 1: Å sørge for at sudo kan få tilgang til alle delene av kommandoen

Hvis du skulle kjøre sudo apt-get update && apt-get upgrade, kan du få denne feilen siden den andre prosessen ikke har rett myndighet til å få tilgang til / var / lib / dpkg / lock-filen.

Prøv i stedet å løpe sudo apt-get update && sudo apt-get upgrade for å se om det gjør noen forskjell. Hvis det gjør det, er problemet ditt allerede løst, og det var bare fordi du ikke ga den andre prosessen tilstrekkelige tillatelser til å få tilgang til filen. Husk at denne kommandoen vil oppdatere og deretter oppgradere alle pakkene dine, så det kan be deg om å godkjenne den, og det kan ta litt tid å kjøre.

Ellers er problemet allerede behandlet helt, og du trenger ikke gjøre noe annet.

Metode 2: Fjerne / var / lib / dpkg / lock-filen

De som bruker curl, wget eller en annen kommando som laster ned en fil diskret, kan også være nødt til å forordne den kommandoen med sudo hvis de jobber fra Raspbian, siden dette i noen tilfeller tar plass til apt-get. De som jobber med ren Debian, Xubuntu, Lubuntu, Linux Mint og andre lignende desktop / laptop-orienterte, trenger ikke å bekymre seg for dette, men det kan være verdt et nytt forsøk.

Hvis dette fremdeles ikke fungerte, må du kanskje sjekke at du ikke har noe annet program som prøver å få tilgang til filen mens du kjører oppdateringen. Prøv å bruke sudo lsof / var / lib / dpkg / lås for å se om andre prosesser kjører som har den åpen. Hvis du har åpnet det et sted, kan du bare lukke applikasjonen.

Husk at å ha lese- og skrivetilgang for et program for å åpne denne filen betyr i forlengelsen at programmet må ha root-rettigheter, så du trenger root-privilegier for å lukke programmet. Du kan til og med prøve å lete gjennom Task Manager-applikasjonen hvis du bruker et grafisk skrivebordsmiljø som støtter denne funksjonen. Høyreklikk bare på den fornærmende prosessen, og lukk hvis du har tillatelse til å gjøre det. Prøv også kill- eller killall-kommandoene fra kommandolinjen.

Du kan nå prøve å kjøre apt-get-kommandoene på nytt og se om det gjør noen forskjell, men du trenger ikke å gjøre noe annet hvis det hadde gjort det. Hvis du fortsatt har problemer, kan du prøve å fjerne låsefilene direkte. Selv om dette bør sees på som en siste utvei, forårsaker det vanligvis ingen problemer knyttet til apt-get-programmet. Du vil fortsatt ha tilgang til andre metoder før du gjør dette, siden det kan rote med apt-systemet.

Å starte på nytt hjelper noen ganger, men hvis du er på en konstant på server eller en Raspbian-enhet, kan dette ikke være et levedyktig alternativ. Prøv å løpe sudo rm / var / lib / dpkg / lås && sudo rm / var / lib / apt / lister / lås, som frigjør de spesifikke filene som apt ser på når du kjører den. Sørg for å være forsiktig med navnene på disse filene, siden kjøring av rm som root er ødeleggende.

Forutsatt at du har gjort det etter bare å ha brukt de andre alternativene, kan du prøve å kjøre oppdateringskommandoer på nytt og se hva som skjer. Du burde ikke ha noen ytterligere problemer fordi filene ikke lenger eksisterte på det tidspunktet, selv om apt-get-rutinene vil kunne gjenoppbygge dem mens de kjører.