Bug#867997: jessie->stretch, all apt clients break with /var/lib/dpkg/status realpath error

Niels Thykier <[email protected]>
Newsgroups gmane.linux.debian.user.testing
Message-ID <60ddc9c6-fcaf-9c77-0b83-d223d1dc7848__9321.8071655885$1499801063$gmane$org@thykier.net>
Alan Schwartz:
>> Sorry to hear you had issues with the upgrade.
>>
>> The problem you describe appears to be related to the release notes item
>> [5.3.2] (5.3.2.1 actually, but I cannot find the direct link to that).
>> The exact case with /var/lib/dpkg/status is not mentioned, but it could
>> be that there are some permissions on your system that forbit "_apt" to
>> access /var/lib/dpkg/status.
>>
>> * Could you please try to login in as the _apt user and check that it
>>   can read /var/lib/dpkg/status?
> 
> Due to the /nonexistent home directory and /bin/false login shell,
> it does not appear to be possible to log in as _apt:
> 
> [...]

For future reference, you can "by-pass" that by using:

 su -s/bin/bash _apt

That will grant you a shell as _apt provided it is run as root
(regardless of _apt's login shell and $HOME).

> _apt$ apt-get check
> E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission
> denied)
> E: Unable to lock the administration directory (/var/lib/dpkg/), are you
> root?
> 

FTR; I don't think that "apt-get check" is supposed to work as non-root.

>>   - If it fails, please attempt to figure out where the permission
>>     fails (e.g. [dir-test])
> 
> # ls -ld / /var /var/lib /var/lib/dpkg /var/lib/dpkg/status
> drwxr-xr-x 21 root root    1024 Jul 10 11:21 /
> drwxr-xr-x 13 root root    4096 May  7  2013 /var
> drwxr-xr-x 74 root root    4096 Jul  7 16:01 /var/lib
> drwxr-xr-x  8 root root    4096 Jul 11 08:48 /var/lib/dpkg
> -rw-r--r--  1 root root 1961225 Jul 11 08:48 /var/lib/dpkg/status
> 
> As you can see, none of these are writable by _apt; however, these are
> the same permissions I see on the other (working)

Indeed, and _apt does not need write access to the status file.

Does it work if you disable the sandbox user, e.g. by using:
  apt-get -o APT::Sandbox::User=root update

Thanks,
~Niels
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.