It seems you have done something terrible to the directory /var/lib/dpkg
refer to this posts here to know more about dpkg
This and This
Back to your problem, to solve the problem, you should try doing the following,
First Option
Return the dir status
only if it was the one messed up.
sudo mkdir /var/lib/dpkg/updates
Then do
sudo apt-get update
sudo apt-get upgrade
Then install the packages as normal
Second Option(This solution assume you have completely messed up with /var/lib/dpkg
Restore a backup of /dpkg/status/
from /var/backups/
or /var/lib/dpkg/
since status
holds the database of dpkg
,you will probably be able to restore the database and everything will turn back to normal.
In the dir /var/backups/
you will be having a folder like dpkg.status.0
,and compressed file dpkg.status.1
,dpkg.status.2
etc,this are the backups we are targeting,we are going to use backup dpkg.status.0
to restore,do the following:
Since you already have dir /var/lib/dpkg
Copy the backup to that dir
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/
NOTE:The latest backup is dpkg.status.0
file,but If you want to backup from the archive file i.e. dpkg.status.#.gz
do
sudo cp /var/backups/dpkg.status.#.gz /var/lib/dpkg/
gunzip -d /var/lib/dpkg/dpkg.status.#.gz
Then rename dpkg.status.#
to status
i.e. dpkg.status.0
sudo mv /var/lib/dpkg/dpkg.status.0 /var/lib/dpkg/status
Then create the folder update
sudo mkdir /var/lib/dpkg/update
Then sudo apt-get update
and sudo apt-get upgrade
After that you can install the softwares as normal!
dpkg
is complaining that it can't find is directory/var/lib/dpkg/updates/
where it uses that directory to stores status of the installation/update. Question, what did you do before, that causes this error? did you delete anything from the directory/var/lib/dpkg/
? – Arduino_Sentinel Jan 04 '17 at 09:40