Коригиране: Не можа да се отвори файл / var / lib / dpkg / status

Може да получите неприятна грешка „не може да отвори файл / var / lib / dpkg / status“ или нещо подобно, ако сте се забивали в директорията / var / lib / dpkg / и сте изчиствали нещата като основните потребители. Повечето файлове, намиращи се в / var, съгласно стандарта за йерархия на файловата система на Linux, са временни и се променят по време на работа. Това обаче не означава, че те трябва да бъдат почистени по същия начин, както кешът на уеб браузъра трябва да бъде изчистен.

Тъй като повечето потребители на Linux нямат нужда да се забиват тук, добрата новина е, че вероятно няма да го получите почти никога. Тези, които са на дистрибуции, които не използват apt-get, като Fedora или Arch, никога няма да получат тази грешка, тъй като тя е изцяло специфична за този мениджър на пакети. Въпреки това, ако имате работа с него, прочетете нататък.

Метод 1: Поправянето на привидно случайна грешка не можа да отвори файл / var / lib / dpkg / status Error

Ако тази грешка излезе неочаквано, тогава напишете ls / var / lib / dpkg / status в командния ред и погледнете резултата.

Може да искате да използвате графичен файлов мениджър към браузъра и да го разгледате.

Уверете се, че виждате файл със състоянието в резултатите. Обикновено просто ще получите ред, който чете / var / lib / dpkg / status с нищо друго след него, преди да ви върне направо в подканата. Ако случаят е такъв, тогава имате файл там и трябва да сте добре. Затворете всички програми, в които сте работили, след като запазите и след това рестартирайте.

След като се върнете и стартирате, напишете sudo apt-get update, последвано от sudo apt-get upgrade на терминала и следвайте указанията. Вероятно ще бъдете попитани за вашата администраторска парола, но след като се актуализира, ще бъдете добре. Ще искате да следите за странни грешки.

Ако файлът не е бил там, тогава ще трябва да вземете някои решения.

Метод 2: Пресъздаване / var / lib / dpkg / status

В този момент някои потребители архивират всички свои важни данни, преди да преинсталират Linux. Можете да направите това, но може да има начин да спасите нещата първо. Има резервно копие на / var / lib / dpkg / status, което се прави автоматично и се надяваме, че не е минало твърде много време, откакто сте получили грешката, поради която не е синхронизиран.

Опитайте да стартирате sudo cp / var / lib / dpkg / status-old / var / lib / dpkg / status на терминала. Ако това не ви даде грешка, можете да видите дали това е решило проблема. Това възстановява най-новото резервно копие на файла със състоянието, но за съжаление, ако е твърде остаряло, все още може да сте в топла вода. Въпреки това можете да рестартирате, след което да стартирате sudo apt-get update, последвано от sudo apt-get upgrade, за да видите какви видове грешки в зависимост в крайна сметка ще се появят за вас. В най-добрия случай няма да имате такива и просто ще можете да продължите да работите отново със системата си, както обикновено.

Можете също така да опитате да възстановите списъка със състоянието. Въведете sudo touch / var / lib / dpkg / status, за да създадете празен файл като root потребител и след това опитайте sudo apt-get install long-list от терминала. Има няколко скрипта, които правят това автоматично, но по същество това е едно и също нещо и идва без опасностите от стартирането на потенциално остарял скрипт на вашата машина. Имайте предвид, че ще трябва да запомните какво имате в системата си, за да работи това, и софтуерът ще ви подкани да запомните.

Можете също така да опитате ls /var/backups/dpkg.status* и да видите кои има там, които вместо това може да искате да използвате за това.

Погледнете списъка, който се появява, когато го стартирате. Ако видите такъв, който не е с цип, опитайте sudo cp /var/backups/dpkg.status.0 / var / lib / dpkg / status и вижте дали това поправя нещата. Винаги можете да копирате един от другите и да изпълните командата gunzip върху него, за да го декомпресирате. Имайте предвид обаче, че колкото по-назад се върнете, толкова по-голям е рискът от актуализиране на остарял файл, който би причинил счупени зависимости