do-release-upgrade stopped by lock files
$ sudo do-release-upgrade
Instructing procedure with yes, it opens a screen window with the following messages after an apt update:
E: Could not get lock /var/lib/apt/lists/lock. It is held by process 5649 (ecne)
N: Be aware that removing the lock file is not a solution and may break your system.
E: Impossível criar acesso exclusivo ao directório /var/lib/apt/lists/
E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 5649 (ecne)
N: Be aware that removing the lock file is not a solution and may break your system.
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
Traceback (most recent call last):
File "/tmp/trisquel-release-upgrader-9mg9ad1e/ecne", line 8, in
sys.exit(main())
File "/tmp/trisquel-release-upgrader-9mg9ad1e/DistUpgrade/DistUpgradeMain.py", line 241, in main
if app.run():
File "/tmp/trisquel-release-upgrader-9mg9ad1e/DistUpgrade/DistUpgradeController.py", line 2657, in run
return self.fullUpgrade()
File "/tmp/trisquel-release-upgrader-9mg9ad1e/DistUpgrade/DistUpgradeController.py", line 2462, in fullUpgrade
if not self.doPostInitialUpdate():
File "/tmp/trisquel-release-upgrader-9mg9ad1e/DistUpgrade/DistUpgradeController.py", line 1433, in doPostInitialUpdate
self.quirks.run("PostInitialUpdate")
File "/tmp/trisquel-release-upgrader-9mg9ad1e/DistUpgrade/DistUpgradeQuirks.py", line 103, in run
func()
File "/tmp/trisquel-release-upgrader-9mg9ad1e/DistUpgrade/DistUpgradeQuirks.py", line 133, in ecnePostInitialUpdate
self._test_and_fail_on_unmerged_usr()
File "/tmp/trisquel-release-upgrader-9mg9ad1e/DistUpgrade/DistUpgradeQuirks.py", line 2554, in _test_and_fail_on_unmerged_usr
self.controller.error(_(
AttributeError: 'DistUpgradeController' object has no attribute 'error'
Removing the lock files does not resolve the issue. Rebooting the computing, neither.
$ sudo lsb_release -a No LSB modules are available. Distributor ID: Trisquel Description: Trisquel GNU/Linux Aramo (11.0.1) Release: 11.0.1 Codename: aramo
The following apt operations work just fine, without any complain[t] about lock files: autoremove, autoclean, update, upgrade.
Right before that it is hitting "aramo" (Trisquel 11.0) repositories. I don't know if it should be hitting "ecne" (12.0) repositories. Should I try just seding /etc/apt/sources.list?
Hit https://trisquel...../packages aramo InRelease Hit https://trisquel...../packages aramo-updates InRelease Hit https://trisquel...../packages aramo-backports InRelease Hit https://trisquel...../packages aramo-security InRelease Fetched 0 B in 0s (0 B/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done Reading package lists... Done E: Could not get lock /var/lib/apt/lists/lock. It is held by process 7193 (ecne) 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/ E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 7193 (ecne) N: Be aware that removing the lock file is not a solution and may break your system. E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
Rebooting and running from tty1 I removed those lock files, but the error is the same. The only difference is that I was prompted to choose how to deal with the error file, which did not happened when running in a console inside the graphical session. The output file is in /var/crash and has 1,5 M with apparently binary content after this traceback:
PythonArgs: ['/usr/bin/do-release-upgrade', '--mode=server', '--frontend=DistUpgradeViewText']
Traceback:
Traceback (most recent call last):
File "/tmp/trisquel-release-upgrader-ytxepwxq/ecne", line 8, in
sys.exit(main())
File "/tmp/trisquel-release-upgrader-ytxepwxq/DistUpgrade/DistUpgradeMain.py", line 241, in main
if app.run():
File "/tmp/trisquel-release-upgrader-ytxepwxq/DistUpgrade/DistUpgradeController.py", line 2657, in run
return self.fullUpgrade()
File "/tmp/trisquel-release-upgrader-ytxepwxq/DistUpgrade/DistUpgradeController.py", line 2462, in fullUpgrade
if not self.doPostInitialUpdate():
File "/tmp/trisquel-release-upgrader-ytxepwxq/DistUpgrade/DistUpgradeController.py", line 1433, in doPostInitialUpdate
self.quirks.run("PostInitialUpdate")
File "/tmp/trisquel-release-upgrader-ytxepwxq/DistUpgrade/DistUpgradeQuirks.py", line 103, in run
func()
File "/tmp/trisquel-release-upgrader-ytxepwxq/DistUpgrade/DistUpgradeQuirks.py", line 133, in ecnePostInitialUpdate
self._test_and_fail_on_unmerged_usr()
File "/tmp/trisquel-release-upgrader-ytxepwxq/DistUpgrade/DistUpgradeQuirks.py", line 2554, in _test_and_fail_on_unmerged_usr
self.controller.error(_(
AttributeError: 'DistUpgradeController' object has no attribute 'error'
UserGroups: N/A
ProblemType: Crash
Date: Sat Apr 18 10:31:55 2026
DistroRelease: Trisquel 12.0.
Package: trisquel-release-upgrader-core 1:12.0.28
Tags: dist-upgrade
VarLogDistupgradeAptclonesystemstate.tar.gz: base64
H4sICAAAAAAC/1ZhckxvZ0Rpc3R1cGdyYWRlQXB0Y2xvbmVzeXN0ZW1zdGF0ZS50YXIuZ3oA
[etc.]
I FORGOT this: I tried also the graphical interface for the upgrade. It was just crashing at that point, without error messages.
I just tried do-release-upgrade in another machine with Trisquel 11.0. Exactly the same error.
(In this one I had to mkdir /var/crash, because it complained with more messages without it and it was not possible to read the first error messages in the screen without scrolling within screen, that was not working with arrows or Emacs shortcuts. The user should know how to do it.)
Please join the this issue, to track it properly
https://gitlab.trisquel.org/trisquel/package-helpers/-/issues/245
I just registered. I tried to upgrade in two production machines. What is the best way to install a VM with Trisquel 11.0 in Trisquel 12.0 to experiment?
It's very likely that you won't get that behavior from a T11 machine, but a T10 upgraded to a T11, then upgraded for a T12.
Please try this script and help us confirm that the latest version actually works.
https://gitlab.trisquel.org/trisquel/package-helpers/-/issues/245#3-current-version-of-the-script
Before seeing your reply I did as Magic Banana suggested. Installing usrmerge solved the issue; I thought usrmerge could be a dependency of trisquel-base or trisquel-release-upgrader-core, but you are saying this only affects previously T10 machines upgraded to T11. I will try that version of the script on the other machine.
In fact, the upgrade in the first machine just failed with the following message:
The package 'trisquel-desktop-common' is marked for removal but it is in the removal deny list.
Should I try that version of the script or you would need to update it first? My gitlab account is still suspended.
File "/tmp/trisquel-release-upgrader-9mg9ad1e/DistUpgrade/DistUpgradeQuirks.py", line 2554, in _test_and_fail_on_unmerged_usr
Install the usrmerge package. Then do-release-upgrade should work.
I have got usrmerge installed.
I did a do-release-upgrade
and all the messages were ok.
After starting the laptop anew
it always opened the boot menu
and never was able to open trisquel.
what can I do?
As a matter of fact, Ark74 says in that gitlab thread that one should not install usrmerge, but run the new version of the script instead.
usrmerge has to be installed in order for the upgrade to go on.
The issue is that an error prevents the error message that instructs the user to do so to be displayed.
Running the new version of the script only makes sure that it actually fixes the issue and prompts the user to install usrmerge. It looks like the script still needs to be updated, so in the meanwhile users should be advised to install ursmerge if the above errors show up.
After starting the laptop anew it always opened the boot menu and never was able to open trisquel.
By "boot menu", you mean a menu of the BIOS/EFI? If so, I would try to try to reinstall GRUB, following https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot

