Correção: não foi possível abrir o arquivo / var / lib / dpkg / status

Você pode obter um erro desagradável “não foi possível abrir o arquivo / var / lib / dpkg / status” ou algo semelhante se você estiver vasculhando o diretório / var / lib / dpkg / e limpando as coisas como usuários root. A maioria dos arquivos localizados em / var, de acordo com o Linux Filesystem Hierarchy Standard, são temporários e mudam durante a operação. No entanto, isso não significa que eles precisam ser limpos da mesma forma que o cache do navegador da Web precisa ser limpo.

Como a maioria dos usuários do Linux não precisa vasculhar aqui, a boa notícia é que provavelmente você não verá isso quase nunca. Aqueles que estão em distribuições que não usam apt-get, como Fedora ou Arch, também não receberão esse erro, já que é totalmente específico para aquele gerenciador de pacotes. No entanto, se você está lidando com isso, continue lendo.

Método 1: consertando um erro aparentemente aleatório, não foi possível abrir o arquivo / var / lib / dpkg / status

Se esse erro aparecer do nada, digite ls / var / lib / dpkg / status na linha de comando e dê uma olhada na saída.

Você também pode querer usar um gerenciador de arquivos gráfico para o navegador e dar uma olhada.

Certifique-se de ver um arquivo de status nos resultados. Você normalmente obterá apenas uma linha que lê / var / lib / dpkg / status sem nada mais depois dela, antes de retornar direto ao prompt. Se for esse o caso, então você tem um arquivo lá e deve estar bem. Feche todos os programas em que estava trabalhando após salvar e reinicie.

Assim que você estiver de volta ao funcionamento, digite sudo apt-get update seguido de sudo apt-get upgrade no terminal e siga as instruções. Provavelmente, sua senha de administrador será solicitada, mas assim que ela for atualizada, você ficará bem. Você vai querer ficar atento a quaisquer erros estranhos.

Se o arquivo não estiver lá, você terá que tomar algumas decisões.

Método 2: recriando / var / lib / dpkg / status

Alguns usuários recuperam todos os seus dados importantes neste ponto, antes de reinstalar o Linux. Você poderia fazer isso, mas pode haver uma maneira de salvar as coisas primeiro. Há uma cópia de backup de / var / lib / dpkg / status que é feita automaticamente e, com sorte, não se passou muito tempo desde que você recebeu o erro que causou a falta de sincronia.

Tente executar sudo cp / var / lib / dpkg / status-old / var / lib / dpkg / status no terminal. Se isso não mostrar um erro, você pode ver se isso corrigiu o problema. Isso restaura a cópia de backup mais recente do arquivo de status, mas, infelizmente, se estiver muito desatualizado, você ainda pode estar em apuros. No entanto, você pode reiniciar e executar sudo apt-get update seguido de sudo apt-get upgrade para ver quais tipos de erros de dependência acabam acontecendo para você. Na melhor das hipóteses, você não terá nenhum e apenas poderá continuar a trabalhar com seu sistema normalmente.

Você também pode tentar reconstruir a lista de status. Digite sudo touch / var / lib / dpkg / status para criar um arquivo vazio como o usuário root e então tente sudo apt-get install long-list a partir do terminal. Existem alguns scripts que fazem isso automaticamente, mas é essencialmente a mesma coisa e vem sem os perigos de executar um script potencialmente desatualizado em sua máquina. Esteja avisado de que você precisará se lembrar do que tem em seu sistema para que isso funcione, e o software solicitará que você se lembre.

Você também pode tentar ls /var/backups/dpkg.status* e ver quais existem que você pode querer usar para isso.

Dê uma olhada na lista que surge quando você executa isso. Se você vir um que não está compactado, tente sudo cp /var/backups/dpkg.status.0 / var / lib / dpkg / status e veja se isso corrige as coisas. Você sempre pode copiar um dos outros e executar o comando gunzip nele para descompactá-lo. No entanto, tenha em mente que quanto mais você voltar, maior será o risco de atualizar um arquivo obsoleto que causaria dependências quebradas