I’m still a fairly new Linux-user (on Tuxedo OS), and I just ran into an issue that is new to me. If I try to update my system, either via command line or Discover, the apt update command fails. This is the output:
E: Could not get lock /var/lib/apt/lists/lock. It is held by process 1635 (apt-get)
N: Be aware that removing the lock file is not a solution and may break your system.
E: Unable to lock directory /var/lib/apt/lists/
Process 1635 is apt-get update
run by root, and persists through restart. I am tempted to try to kill it (kill 1635
), but I’m not sure if anything could break from that, so I thought I’d try to ask for help first before I do something stupid.
EDIT:
I have managed to update my system by killing the process, which releases the lock, and then going on to do normal sudo apt update
and sudo apt upgrade
. For the sake of troubleshooting, I tried to add back my third-party repos one by one, and none of them caused any problem. However, when rebooting the same issue as described above happens again. Software updates is set to “Manually” in the System settings.
In addition, everytime I ran sudo apt upgrade
, at the end some update related to initramfs
fails. My disk is encrypted using cryptsetup
, and as I’ve come to understand, I should be very careful doing anything related to initramfs
when that is the case. Here is the output:
Processing triggers for initramfs-tools (0.140ubuntu13.2) ...
update-initramfs: Generating /boot/initrd.img-6.2.0-10018-tuxedo
I: The initramfs will attempt to resume from /dev/dm-2
I: (/dev/mapper/system-swap)
I: Set the RESUME variable to override this.
zstd: error 25 : Write error : No space left on device (cannot write compressed block)
E: mkinitramfs failure zstd -q -1 -T0 25
update-initramfs: failed for /boot/initrd.img-6.2.0-10018-tuxedo with 1.
dpkg: error processing package initramfs-tools (--configure):
installed initramfs-tools package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
EDIT 2:
The issue seems to have been narrowed down to a failure of Tuxedo’s driver configuration service that runs at boot. It is this process that calls apt-get
(and something I should’ve seen earlier…), and systemctl status reveals some errors:
aug. 08 15:33:56 laptop systemd[1]: Starting Tomte-daemon, finishes tasks that could not be accomplished before...
aug. 08 15:34:06 laptop tuxedo-tomte[1393]: no network found!! some fixes might not be applied correctly
aug. 08 15:34:06 laptop tuxedo-tomte[1393]: systemctlCmd: systemd-run --on-active="30sec" tuxedo-tomte configure all >/dev/null 2>&1
I really appreciate the help from everyone so far. It’s a good experience asking for help here, and I’ve learned a lot from your answers. Makes being a Linux newbie a lot easier. So thank you :)
Since this seems to be a very specific issue related to Tuxedo’s own services, I will contact their support to get their input on what to do next.
Auto update itself isn’t the root problem. The problem is that apt update is hanging and never finishing. It just happens to be getting called automatically as part of an auto update system, but the root issue would still persist even if OP disables auto updates.
When apt update fails to complete, it’s almost always because of a broken repo somewhere; hence my question about sources.list.
You may be right.
I’m wondering why
apt-get
isn’t erroring out, though. Usually after enough tries, it just quits, at least in my experience.Probably best bet, then, is to remove and re-add the third party repos.