View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Marc A. Lehmann > App-Manager > appman


Annotate this POD

View/Report Bugs


appman - install/manage/uninstall software packages.

WARNING: This is pre-alpha and might destroy wyour wholesystem. You have been warned!


 appman [-qbhdC] command ...

 appman [-qbhdC] install <database> <program> [arguments...]
 appman [-qbhdC] info <database>
 appman [-qbhdC] swap <database>


This program traces any dynamically linked program for filesystem-modifying calls such as rename, open64, unlink, remove etc. It will save all the files before they were modified. It can than undo and redo the changes.


Well, this is an alpha release, so there are not yet many commands.

install <database> <program> [arguments...]

Run the specified program with the specified arguments and trace all changes. Then check for differences in files and only save files that have changed.

info <database>

Print some info about the files stored in the database.

swap <database>

Check out all the files in the database, and store the former files in it. If you do this twice no real change should be done (thats why its called "swap").


A trivial one, just install a single file with cp:

 appman install test cp testfile /bin/appmantest

Print info about the files that were overwritten:

 appman info test

Which prints:

   APPMAN: opening db /var/appman/test
   database path: /var/appman/test
   creation time: 1999-06-14 14:14:05
   modification time: 1999-06-14 14:14:05
                         1970-01-01 01:00:00 /bin/appmantest

This means that /bin/appmantest was overwritten. Since no such file existed before, the filetime and uid/gid information is not valid.

If you want to restore the file again (in this case just delete it), all you have to do is to enter:

 appman swap test


Marc Lehmann <>.

syntax highlighting: