fredx181 wrote: ↑Sun Jan 28, 2024 4:16 pm
vtpup wrote:If I wanted to assist in testing of a new version, how do you remove a test application? Suppose Synaptic brings in 30 individual dependencies when you install a single application in a clean savefile. And then you want to remove that application. How are you guys doing that?
After removing that (single) application try from terminal: apt autoremove
EDIT: If you use apt (rather than synaptic) to remove that application (e.g. apt purge <package>
), there should come some message like: "... ... ... are no longer needed, run 'apt autoremove' to remove these".
(but on BookwormPup, apt may not work as bullet-proof as in pure Debian, not sure though)
Thanks Fred and Dancytron. There are some important differences between the way the Puppy Package Manager handles program removals and how Synaptic does, and apt and apt-get do.
1.) PPM quickly and easily handles a program removal with dependencies in a graphical user interface. For dependencies that it is unsure of, an informational window is displayed showing those dependencies. It does not remove those. This is a smart program manager.
2.) Synaptic is the graphical program installer for BookwormPup. It does not remove any dependencies. This is a major drawback. It has two named functions "removal" and "complete removal" Neither actually does more than remove a program, leaving the dependencies "Complete only removes configuration files. It is a misnomer. This is not a smart program manager.
4.) Apt and apt-get are console commands, not graphical program managers. The apt commands provided for program removal are not intuitive, What does remove, autoremove, purge, clean, autoclean mean to a normal user without looking at a man page for each?
5.) None of the apt and apt get commands do what the PPM does.
My understanding: Apt autoremove attempts to remove ALL orphan dependencies in a system, not just the unused dependencies for a specific installed program. It is unclear how it establishes which dependencies are orphaned and which are needed. It does not seem to track what was downloaded as dependencies for a specific program. It is not program oriented, it is system oriented. It provides no information about possible conflict dependencies for a particular program as Puppy does. Maybe it just keeps possible conflicts, maybe it doesn't, who knows? It also does not remove downloaded programs held in a program cache. The PPM does remove those.
To remove cached downloaded program files you also have to run apt purge but this also removes configuration files, which you may not want to do. In many cases it is desirable to retain a config file, even though a program is removed. For instance when reinstalling for some reason after personalizing settings..
Apt clean clears out the entire local repository of retrieved package files. The PPM does not do this it only removes the specific retrieved program file
Apt autoclean only removes package files that can no longer be downloaded from a repository. PPM has no equivalent, and in fact you may not want this if there's a program you want to keep a local copy of because it has disappeared from an online repository. You don't necessarily want a program removed just because it is removed from an online repository, or replaced with a later version.
Clean and autoclean are actually local repository maintenance commands. They either remove all local copies of downloaded programs, or remove those no longer mirrored.
For me, these commands are problematic for normal users, and may cause personal system problems. It seems to me more likely that autoremove, for instance will accidentally remove an essential dependency somewhere else in a system than PPM, because it is a wholesale dependency removal tool, not a specific program dependency removal tool. I see lots of users on apt oriented systems having problems after cleaning their systems, more than than puppy users removing a single program with PPM.
I really think we're giving up a more mature package management system in PPM, for Synaptic's lack of program management capability, and the requirement for an additional collection of confusingly named and oddly acting console commands. I think a user should be able click a "Remove Program" button in a graphical package management app to restore an efficient system state before the installation of a program with multiple dependencies. And I would guess most actually think that happens in Synaptic. It just doesn't..