When I install a simple program it often uses make && make install and doesn't often even have an uninstall target. If I wish to upgrade a program is it standard protocol to assume it just rewrites seamlessly over the old program. How do I keep track of these programs, do most people just 'fire and forget' and if no uninstall target is given do I have to manually delete everything?
|
|
Install each program in a dedicated directory tree, and use Stow or XStow to make all the programs appear in a common hierarchy. Stow creates symbolic links from the program-specific directory to a common tree. In more detail, pick a toplevel directory, for example
And now you'll have symbolic links like these:
You can easily keep track of what programs you have installed by listing the contents of the If you want to be able to quickly switch between different versions of the same program, use Stow doesn't go very far beyond the basics I've described in this answer. XStow has more advanced features, like the ability to ignore certain files, better cope with existing symlinks outside the stow directory (such as |
|||
|
|
You can use checkinstall to create a package (RPM, Deb, or Slackware compatible packages) That way, you can use your distros package manager to add/remove the application (but not update) You use
checkinstall will build and install the package by default, or you can have it only build the package without installing. checkinstall is available in most distros repositories. |
|||||
|
|
For the most part this was the reason behind packages, ports, and other types of managers to prevent this type of thing from happening. I would say that manual deletion is the only way for a manual install, unless someone else has a better answer to that point I may not be aware of. |
|||
|
|
|
|||
|
|
|
One more alternative is from the Linux From Scratch hints: More Control and Package Management using Package Users
After this first crude suggestion, I found an evolved variant: crablfs -- User Based Package Management System This uLFS: Your Manageable and Reusable Linux From Scratch For causal users of installed packages I think that "package users" LFS solution is a light one, less invasive and elegant. In short, you install packages in
For me it looks like a simple and clever solution! I used this scheme in my LFS build and it is a working solution ... |
||||
|
|