tuxedocomputers / tuxedo-tomte

Magic housekeeping package for TUXEDO books
https://www.tuxedocomputers.com/en/What-is-TUXEDO-Tomte.tuxedo
Other
37 stars 11 forks source link

Tomte sometimes duplicates entries in sources.list on update #28

Closed Mailaender closed 10 months ago

Mailaender commented 11 months ago

Tomte appends the sources.list with

# Added by TUXEDO Tomte
deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu jammy main restricted universe multiverse

# Added by TUXEDO Tomte
deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse

# Added by TUXEDO Tomte
deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse

on every update. I had 4 entries and this makes apt upgrade package list loading very slow plus it spams

W: Ziel CNF (multiverse/cnf/Commands-all) ist mehrfach konfiguriert in /etc/apt/sources.list:8 und /etc/apt/sources.list:17

[...]

It also adds with and without trailing slash for the URL and trailing spaces:

Maybe that helps narrow down the problem.

tuxedo-ma commented 11 months ago

Hi @Mailaender ,

Thank you for bringing this to our attention. We understand the frustration this issue may be causing and we appreciate your efforts in providing detailed information.

We apologize for any inconvenience caused by the repeated entries in the sources.list. To help us investigate and resolve this matter, could you please reach out to our support team directly? You can do so by https://www.tuxedocomputers.com/de/Hilfe-Support.tuxedo and our team will be more than happy to assist in gathering additional information and working towards a solution.

In the meantime, we'll also internally review the code for any potential causes of this behavior. If there's anything else you'd like to add or discuss, please feel free to let us know. We're here to help!

Best regards, Maximilian Arnold

Emohr-Tuxedo commented 11 months ago

Hello @Mailaender ,

is it possible that you are using a very old version? Please check with:

dpkg -l tuxedo-tomte

Our most recent version is 2.18.1

Please update if your version is older e.g. with:

sudo apt install tuxedo-tomte

Please let me know whether that fixes your problem.

Best regards, E. Mohr

Mailaender commented 11 months ago

I am using Tuxedo OS 2. The Tomte version is 2.18.1 as it is installed via update sites. I also think its constant updates are what causes this. I already complained about this via your support, which seems to have forwarded nothing. Others have also been reporting this Tuxedo OS intermittent update errors (5 months ago) or TUXEDO OS and 3rd party repositories (9 months ago) so don't act surprised or tell me this is my fault. Just fix it!

Emohr-Tuxedo commented 10 months ago

We're not pretending to be surprised and our support of course forwarded all your requests. As a result you can see several new versions and also fixes for this problem. At the moment we are not able to reproduce your problem, but we are taking your problem seriously and we are working on it.

One thing you could try is to delete and recreate the sources.list file:

sudo rm /etc/apt/sources.list
sudo tomte reconfigure all

That should recreate the file with the correct entries. Please check it with:

cat /etc/apt/sources.list

If you get, e.g. after a reboot, additional entries into that file, then you might have some other program putting entries into it after Tomte. It is kind of a wild guess but I hope I am right so we can narrow the problem down as it is as well in my interest that your system works as designed.

Best regards, E. Mohr

Mailaender commented 10 months ago
sudo rm /etc/apt/sources.list 
sudo tomte reconfigure all

tuxedo-keyboard
Are you sure you want to remove this module? (y/n) y
remove package tuxedo-keyboard
The module tuxedo-keyboard has been removed. Please block it with:
$ sudo tomte block tuxedo-keyboard
unless you set the mode DONT_CONFIGURE or UPDATE_ONLY
or tomte will reinstall it again at the next start

The following modules have been installed successfully:
- tuxedo-mirrors: Fügt von TUXEDO gewartete Ubuntu-Repositories hinzu

Nothing was done for the following modules:
- tuxedo-dgpu-run: Befehlszeilentool und KDE-Kontextmenüeinträge zum Ausführen von Programmen auf der dGPU im On-Demand-Modus
- nvidia-driver: Erforderliche Nvidia-Treiber
- cracklib-runtime: Erstellt Passwortwörterbuchdatenbanken
- linux-tuxedo-22.04: Auswahl, Installation und Bereinigung von TUXEDO-Linux-Kernels
- tuxedo-drivers: Treiber für mehrere Plattformgeräte für TUXEDO-Notebooks
- tuxedo-control-center: TUXEDO Control Center-Anwendung
- tuxedo-repos: Voraussetzung! Fügt die TUXEDO-Repositories hinzu

The following modules have been removed:
- tuxedo-keyboard: Treiber für Tastatur & Tastaturbeleuchtung für TUXEDO-Notebooks

Please restart the system for the changes to take effect
$ cat /etc/apt/sources.list

# Added by TUXEDO Tomte
deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu jammy main restricted universe multiverse

# Added by TUXEDO Tomte
deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse

# Added by TUXEDO Tomte
deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
Mailaender commented 10 months ago

I have several backup files of the auto-generated sources.list file:

/etc/apt$ ls
apt.conf.d   preferences    sources.list_20220824224029.bak  sources.list_20231005212433.bak  sources.list_20231204181946.bak  trusted.gpg
auth.conf.d  preferences.d  sources.list_20230327185837.bak  sources.list_20231114105149.bak  sources.list.d                   trusted.gpg~
keyrings     sources.list   sources.list_20230404184446.bak  sources.list_20231126153713.bak  sources.list.save                trusted.gpg.d

My system has more thirdparty repositories, although all tools use the sub-folder with each own files. Also note that tuxedo uses that approach as well:

/etc/apt/sources.list.d$ ls
adoptium.list               libreoffice-ubuntu-ppa-jammy.list       nordvpn.list           tuxedo-computers.list_20220824224027.bak  tuxedo-computers.list.save
adoptium.list.save          libreoffice-ubuntu-ppa-jammy.list.save  slack.list             tuxedo-computers.list_20230327185910.bak  tuxedoos-extra.list
chrome-remote-desktop.list  microsoft-prod.list                     spotify.list           tuxedo-computers.list_20230404184506.bak  tuxedo-os.list
docker.list                 microsoft-prod.list.save                spotify.list.save      tuxedo-computers.list_20230605192030.bak  tuxedo-plasma.list
element-io.list             mono-official-stable.list               steam-beta.list.bak    tuxedo-computers.list_20231005212515.bak  vscode.list
element-io.list.save        mono-official-stable.list.save          steam.list.save        tuxedo-computers.list_20231022150801.bak  vscode.list.save
google-chrome.list          nodesource.list                         steam-steam.list.bak   tuxedo-computers.list_20231114105222.bak  zotero.list
google-chrome.list.save     nodesource.list.save                    tuxedo-computers.list  tuxedo-computers.list_20231126153805.bak

and it shows the same problem of just appending instead of overwriting or replacing in tuxedo-computers.list:

deb https://deb.tuxedocomputers.com/ubuntu/ jammy main 

deb https://deb.tuxedocomputers.com/ubuntu/ jammy main 

deb https://deb.tuxedocomputers.com/ubuntu/ jammy main 
Mailaender commented 10 months ago

The file ending pattern indicates to me that your code is causing the problem

https://github.com/tuxedocomputers/tuxedo-tomte/blob/e39ede63eaf6a94d9edc88b4c05995ee821416be/src/tuxedo-tomte#L3848

https://github.com/tuxedocomputers/tuxedo-tomte/blob/e39ede63eaf6a94d9edc88b4c05995ee821416be/src/tuxedo-tomte#L7916-L7921

Emohr-Tuxedo commented 10 months ago

The backup files are being created every time a change has been made in the original file. It does not make sense in your case, but it is for security, we don't want the user to loose some configuration he might have written into some file.

I still can't reproduce your problem. On my side, Tomte cleans up the files and inserts the proper entries. There might be some strange characters in your files we have not included in our regular expressions. Sorry for that but it is hard to include all possible eventuallities in code.

In short, in your case I would just remove the file with the problem, same as with sources.list just delete it and let Tomte recreate it with the proper entries:

sudo rm /etc/apt/sources.list.d/tuxedo-computers.list
sudo tomte reconfigure all

and you should be set.

Additionally you might want to delete the superfluous backup files:

sudo rm /etc/apt/sources.list.d/tuxedo-computers.list_*.bak

should do the task. In the same way you might want to delete the sources.list backup files.

Answering another question you had above, ... the sources.list file is not under sources.list.d because it is the main repository file for the system. All basic and most important needed packages for your system and other Ubuntu flavours are located in there.

Just FYI, the message about removal of tuxedo-keyboard is perfectly ok. The package has been replaced this week by tuxedo-drivers which is the new way we are delivering certain drivers for your system.

I hope I could help you,

Best regards, E. Mohr

Mailaender commented 10 months ago

My fix was to manually clean the main distribution files. I had to do it twice because tomte kept re-adding its variant, but then it stopped. So far, the issue did not re-appear. The main problem is with people who don't use sudo apt update/upgrade on the command line and don't see the warning about duplicate entries which slow down apt and get a mediocre experience from Tuxedo OS. I thought this was a quick and easy fix for you.

bedfojo commented 10 months ago

Same problem.

sources.list:

ubuntu repositorys

deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse

Addedby software-properties

deb-src https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse

deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

Addedby software-properties

deb-src https://mirrors.tuxedocomputers.com/ubuntu/mirror/security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse

Addedby software-properties

deb-src https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse

Added by TUXEDO Tomte

deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu jammy main restricted universe multiverse

Added by TUXEDO Tomte

deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse

Added by TUXEDO Tomte

deb https://mirrors.tuxedocomputers.com/ubuntu/mirror/archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse

tuxedo-ma commented 10 months ago

Good morning @bedfojo,

the problem in this case is quite simple to solve: We are adding a string with "/ubuntu" in the end and our regex checks for this particular lines. Since Tomte doesn't find this line, since there is just "/ubuntu/", it adds a new one.

As commented, you have software-properties installed and running. It is not recommended to use different applications to edit sources.list.

I would suggest to deactivate "tuxedo-mirrors" in the Tuxedo Control Center and delete the three additionally added lines.

This way Tomte ignores the entries and software-properties can do whatever it wants with sources.list

Best wishes

Maximilian Arnold (I'll close the issue now)