When I first started using Linux 15 years ago (Ubuntu) , if there was some software you wanted that wasn’t in the distro’s repos you can probably bet that there was a PPA you could add to your system in order to get it.

Seems that nowadays this is basically dead. Some people provide appimage, snap or flatpak but these don’t integrate well into the system at all and don’t integrate with the system updater.

I use Spek for audio analysis and yesterday it told me I didn’t have permission to read a file, I a directory that I owned, that I definitely have permission to read. Took me ages to realise it was because Spek was a snap.

I get that these new package formats provide all the dependencies an app needs, but PPAs felt more centralised and integrated in terms of system updates and the system itself. Have they just fallen out of favour?

  • lemmyvore@feddit.nl
    link
    fedilink
    English
    arrow-up
    42
    arrow-down
    1
    ·
    1 month ago

    PPAs are a nice idea but a terrible design. They work well as long as they are kept up to date and they don’t overwrite distro packages. But in practice as you’ve noticed they tend to be abandoned after a while, and they don’t respect the rule to not supersede original packages. Together these two faults lead to terrible consequences, as time passes they corrupt your Debian/Ubuntu dependencies and lead to unsolvable situations. Basically your system reaches a dead-end where it cannot upgrade anymore (or only partially, which makes things even worse).

    Aptitude has a very smart and determinate dependecy solver that can recover a system from this kind of situation but it usually involves uprooting most of it by removing and reinstalling a huge amount of packages, some of which are essential. It takes a long time, if anything goes wrong you’re screwed, and you may end up with older packages than what you had installed, which may cause your user data for those apps to not be understood anymore, leading to malfunctions or crashes. So yeah it can be done but at that point you might as well do a clean reinstall.