Исправлено: не удалось открыть файл / var / lib / dpkg / status



Попробуйте наш инструмент устранения неполадок

Вы можете получить неприятную ошибку «не удалось открыть файл / var / lib / dpkg / status» или что-то подобное, если вы ковырялись в каталоге / var / lib / dpkg / и очищали его от имени пользователя root. Согласно Стандарту иерархии файловой системы Linux, большинство файлов, находящихся в / var, являются временными и изменяются во время работы. Однако это не означает, что их нужно очищать так же, как очищать кеш веб-браузера.



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



Метод 1. Исправление, казалось бы, случайного не могло открыть ошибку файла / var / lib / dpkg / status

Если эта ошибка возникает неожиданно, введите ls / var / lib / dpkg / статус в командной строке и посмотрите на вывод.



Вы также можете использовать графический файловый менеджер для браузера и взглянуть на него.

Убедитесь, что вы видите файл статуса в результатах. Обычно вы просто получаете строку, в которой написано / 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 / статус на терминале. Если это не приводит к ошибке, вы можете проверить, устранило ли это проблему. Это восстанавливает самую последнюю резервную копию файла состояния, но, к сожалению, если она слишком устарела, вы все еще можете быть в затруднительном положении. Тем не менее, вы можете перезапустить, а затем запустить sudo apt-get update с последующим sudo apt-get upgrade чтобы увидеть, какие ошибки зависимости в конечном итоге возникнут у вас. В лучшем случае их у вас не будет, и вы просто сможете продолжить работу со своей системой, как обычно.

Вы также можете попробовать восстановить список статусов. Тип sudo touch / var / lib / dpkg / статус чтобы создать пустой файл от имени пользователя root, а затем попробуйте sudo apt-get install длинный список с терминала. Есть несколько сценариев, которые делают это автоматически, но по сути это одно и то же, и без опасности запуска потенциально устаревшего сценария на вашем компьютере. Имейте в виду, что вам нужно запомнить, что у вас есть в системе, чтобы это работало, и программа предложит вам это запомнить.

Вы также можете попробовать ls /var/backups/dpkg.status* и посмотрите, какие из них вы могли бы вместо этого использовать.

Взгляните на список, который появляется при запуске. Если вы видите тот, который не застегнут, попробуйте sudo cp /var/backups/dpkg.status.0 / var / lib / dpkg / status и посмотрите, исправит ли это ситуацию. Вы всегда можете скопировать один из других и запустить на нем команду gunzip, чтобы распаковать его. Однако имейте в виду, что чем дальше вы идете, тем выше риск обновления устаревшего файла, который приведет к нарушению зависимостей.

3 минуты на чтение