this post was submitted on 09 May 2026
28 points (100.0% liked)

technology

24367 readers
277 users here now

On the road to fully automated luxury gay space communism.

Spreading Linux propaganda since 2020

Rules:

founded 5 years ago
MODERATORS
 

Yesterday, I opened Software Sources on Linux Mint and changed the base mirror from archive.ubuntu.com to a different website, hoping this would fix a 0% [waiting for headers] issue I kept running into when I tried installing software. It did fix that issue, but shortly after I applied that fix my computer's keyboard got stuck in Japanese, which freaked me out so I rebooted my computer. I was then greeted by an error message from Ibus about how several of my keyboard layouts apparently didn't exist. Indeed, I suddenly only had a Norwegian and Japanese keyboard to choose from, and Ibus no longer listed my preferred Russian, Esperanto, and Amharic keyboards as options. I soon enough managed to figure out that ibus-m17n had somehow been uninstalled, so I reinstalled it and set up my preferred keyboard layouts again.

Today I changed my base mirror back to archive.ubuntu.com and restarted my computer… annnnnnd now I'm discovering that a bunch of my other shit has just straight up disappeared: Inkscape, Kdenlive, GIMP, these three programs were all apparently uninstalled without my knowledge. If any other programs I use have been uninstalled I am yet to become aware of this. Thankfully, all the programs I noticed were missing were easy to reinstall, and I can jump back into my projects like literally nothing happened. But it's still really damn uncomfortable to suddenly realize that a bunch of my important programs just up and disappeared.

All of this apparently happened (correct me if I'm wrong!) because APT — which is the thingy that handles installing/uninstalling software on Linux Mint — can become convinced that you have obsolete or conflicting packages if you're switching to or from out-of-sync mirrors, or mirrors with bad metadata or whatever; and when APT thinks you have bad packages, it'll just unquestioningly yeet them. In my case the damage this behavior caused seems minimal enough that it's not worth the risk of using Timeshift (I still remember what happened last time I used Timeshift! I ended up breaking initramfs so I couldn't even boot my computer without selecting an older kernel!!), so I'll just reinstall any missing software I notice and take the L. But I'm definitely not going to make that mistake again in case it causes even worse trouble for me the third time, and you should also be advised that changing package mirrors, especially after you've been on Linux Mint for a while, can cause you this sort of trouble.

top 11 comments
sorted by: hot top controversial new old
[–] PorkrollPosadist@hexbear.net 23 points 6 days ago* (last edited 6 days ago)

It sounds like the interim repository you chose wasn't exactly a mirror. It might have been a repository for a different distribution or something. In the future, it might be a safer option to leave the default mirror in /etc/apt/sources.list and list 3rd party mirrors after it, as alternatives (but it is still essential to make sure the repositories are actually compatible). Also, you should never need to add keys to your APT keyring for mirrors (if you do, they are not mirrors. It makes sense to do this for third party repositories, but not something which is supposed to be an exact copy of the distribution repository).

The way APT (and most other package managers) work is by keeping track of a list of software which is has been installed explicitly. Some of these are marked (APT terminology) as "manual" by the distribution maintainers. These are installed when you install the OS. Every time you install a package via apt-get / apt / synaptic / gnome-sofware etc. these are also marked as "manual." When software is installed or updated, the real goal is to satisfy the dependencies of these manual-marked packages. Everything else is installed as needed (marked as "auto"), and discarded as soon as no manual-marked packages depend on them any longer.

By the sound of it, these relationships got cooked somewhere along the way. A lot of the software which was installed automatically as dependencies suddenly had no dependents, (because the package definitions changed and they probably depended on newer / older / different versions) and so they vanished. It's actually impressive that enough vital things survived to recover this.

Anyway, deep-frying a Linux box now and then is how you learn. big-cool

[–] trompete@hexbear.net 3 points 4 days ago (1 children)

APT has a fancy constraint solver included, it tries to satisfy all packages being compatible with each other. Packages have metadata. Example snippet from apt show sudo:

Depends: libapparmor1 (>= 2.7.0~beta1+bzr1772), [...]
Conflicts: sudo-ldap
Replaces: sudo-ldap

It needs all the stuff that's in listed as a dependency, with the correct version, and it says you can't have sudo-ldap at the same time. If I were to try and install sudo-ldap, it would yeet sudo. It does show you this and asks if you want to continue though.

In this case, this is by design, the sudo packagers made it so you can choose between the LDAP-enabled version of sudo and the regular version (most people don't use LDAP).

But if you mix-and-match packages from various distros or versions of distros, it will have a hard time satisfying all the "Depends:" stuff, due to differences in versions and sometimes package names, and often it finds the "solution" is to uninstall a whole bunch of stuff.

I suspect you didn't switch just the mirror, but to a different repository with different packages. Possibly a different version of Ubuntu.

This is one of the reasons I kinda like the atomics and try and have newer users install them instead. When everything is a containerized image, including your kernel, it's way easier to switch dependencies and roll back when you fuck something up. Especially since layering a package on the root fs triggers a snapshot.

[–] SocialistVibes01@lemmy.ml 4 points 5 days ago (1 children)

Esperanto

Just curious: what and why are you typing in Esperanto?

[–] Erika3sis@hexbear.net 5 points 5 days ago (2 children)

I originally got that keyboard layout because I wanted to learn Esperanto — I still do — but in practice I'm sorry to say that I haven't been studying it particularly actively. I had a good spurt where I was regularly taking Lernu's course, watching things like Fuzzy in Gondoland, listening to Radio Verda, reading manga translations and taking notes, but then I ended up downprioritizing not just Esperanto but all language learning in favor of other projects. Which makes me feel like a hypocrite when I was so excitedly talking about how I wanted to support replacing English as a lingua franca — it's just the damn "going against the grain" and all, you know.

Anyways, I still keep the Esperanto keyboard layout mainly just to type the one Esperanto letter I can't easily type with my Norwegian keyboard: Ŭŭ. It isn't very often at all that I need to type that letter, but it's nice to be able to when I do.

[–] oliveoil@hexbear.net 3 points 5 days ago
[–] SocialistVibes01@lemmy.ml 2 points 5 days ago

I think that's a cool endeavor.

[–] hello_hello@hexbear.net 3 points 5 days ago (2 children)

Inkscape, Kdenlive, GIMP, these three programs were all apparently uninstalled without my knowledge.

It may be more beneficial to install these programs as flatpaks rather than system packages. My rule of thumb is to limit altering the pre-installed system as much as possible to remove these awkward packaging flops.

This is a real phenomena with things like installing a app and then suddenly having its entire desktop environment be installed as well (humorously called "getting GNOMED")

Hopefully once bootc becomes more mature we can delete the OS level package manager for users once and for all and leave it to the maintainers.

[–] PorkrollPosadist@hexbear.net 9 points 5 days ago* (last edited 5 days ago) (1 children)

I'm not so enthusiastic about this. If you get rid of distribution maintainers what you're going to end up with is NPM: the Operating System. This separation of application developers and distribution package maintainers is the greatest mechanism of quality control we have.

[–] KelquunDotre@hexbear.net 5 points 5 days ago

NPM: the operating system

john-agony

[–] machinya@hexbear.net 2 points 4 days ago

you might get gnomed anyway but in the form of flatpak dependencies (which is less visible since it's usually one block instead of many individual packages and you won't see it in your login screen). worse, you might need to install multiple versions of the same dependencies if you use packages that depend on the same core but different versions.

like, using flatpak has it's uses and i get why people want them but they also have a fair share of downsides that have to be part of the tradeoff balance