Same for xenial (1.1.0~beta1ubuntu0.16.04.3). Also, strace logs look like this, in case we want to see how we can be sure it's kept locked all the time: [...] open("/var/lib/dpkg/lock-frontend", O_RDWR|O_CREAT|O_NOFOLLOW, 0640) = 39 fcntl(39, F_SETFD, FD_CLOEXEC) = 0 fcntl(39, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0 open("/var/lib/dpkg/lock", O_RDWR|O_CREAT|O_NOFOLLOW, 0640) = 40 fcntl(40, F_SETFD, FD_CLOEXEC) = 0 fcntl(40, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0 open("/var/lib/dpkg/updates/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 41 close(41) = 0 close(41) = 0 close(41) = 0 open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/lib/x86_64-linux-gnu/libnss_compat.so.2", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/lib/x86_64-linux-gnu/libnsl.so.1", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/lib/x86_64-linux-gnu/libnss_nis.so.2", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 close(41) = 0 close(41) = 0 open("/etc/group", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/etc/group", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/var/lib/apt/lists/partial", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 41 close(41) = 0 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/etc/group", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/var/cache/apt/archives/partial", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 41 close(41) = 0 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/etc/group", O_RDONLY|O_CLOEXEC) = 41 close(41) = 0 open("/var/cache/apt/archives/partial", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 41 close(41) = 0 open("/var/cache/apt/archives/lock", O_RDWR|O_CREAT|O_NOFOLLOW, 0640) = 41 fcntl(41, F_SETFD, FD_CLOEXEC) = 0 fcntl(41, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 42 close(42) = 0 open("/proc/sys/kernel/ngroups_max", O_RDONLY) = 42 close(42) = 0 close(40) = 0 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=6098, si_uid=0, si_status=0, si_utime=6, si_stime=3} --- open("/var/lib/dpkg/lock", O_RDWR|O_CREAT|O_NOFOLLOW, 0640) = 40 fcntl(40, F_SETFD, FD_CLOEXEC) = 0 fcntl(40, F_SETLK, {l_type=F_WRLCK, l_whence=SEEK_SET, l_start=0, l_len=0}) = 0 close(39) = 0 [ ... more closes ... ] +++ exited with 0 +++