<div id="geary-body" dir="auto"><div>General grumble</div><div><br></div><div>There used to be a few packaging systems (deb, rpm, emerge, pacman, etc), but each distribution chose Their Way and it was the Only Way for that distribution. Of course, every thought Their Way was The One True Way. But at least I knew how to update a package.</div><div><br></div><div>However, we now also have 'portable' packaging systems (AppImage, Flatpak and Snap and probably others) which can be installed on any distribution.</div><div><br></div><div>Then Python has its Way too (pip), and I see that I have at least one Useful Program (youtube-dl) installed using this Way.</div><div><br></div><div>Some applications choose only One Way to release their software, so I have to use that Way to install the software, so, in general, I cannot settle on a single Way, even if there were a Preferred Way. So now, the burden is on Me to remember which Way each application has chosen.</div><div><br></div><div>Specific problem</div><div><br></div><div>I am trying to update Musescore to version 3.5.3 on Ubuntu 20.04. I am using version 3.2.3. Approximately this version (3.2.3-and-some-change) exists in the Ubuntu repos, but this is not installed. I remember installing one of the portable versions when 3.2.3 was the Next Best Thing, before it was available as a deb in the repo. But I cannot remember which Way I ended up using.</div><div><br></div><div>Musescore makes new versions available as AppImage, Flatpak and Snap; these eventually end up in the Ubuntu repo some month later.</div><div><br></div><div>When I auto-complete 'musescore' it completes as 'musescore-portable' which 'which' tells me is '~/.local/bin/musescore-common'. There also exists '~/.local/bin/mscore-common', where 'mscore' used to be the name of the executable when people thought that shorter executable names were better.</div><div><br></div><div>*** Does anyone recognise which Way would install a binary as '~/.local/bin/xxx-portable'?</div><div><br></div><div>General questions</div><div><br></div><div>*** Is any one of these packaging systems (AppImage, Flatpak, Snap, Python pip) significantly better or worse than any other? What are the pros and cons?</div><div>*** Are there any rules of thumb to work out which Way to update an arbitrary program?</div><div><br></div><div>Thank you</div><div><br></div><div>Stephen Irons</div><div><br></div></div>