urpkg — Install programs in a safe and undoable way
urpkg {ACTION} [OPTIONS] [ARGUMENTS]
Urpkg is a software to install programs so that we can easily uninstall them afterward. It does so by creating a new user for each package that gets installed on the system. The package is then installed with this user's privileges instead of root's. This guarantees a much better security during installation.
Note that this manpage is only a short reference. You should read the user manual (published on urpkg's homepage) if you want to know more about urpkg.
When invoking urpkg, you must always specify exactly one action first. You can then give options and arguments if required.
-h, --helpPrint a short description of each option and exit.
-v, --versionOutput information about the program's version and exit.
-I, --infoOutput some information on the settings urpkg was compiled with and exit.
-i, --installInstall a package by running the command given as argument.
-u, --uninstallUninstall the package(s) whose name(s) are given as argument.
-l, --listWithout argument, list all installed packages on the system. Otherwise, list all files part of the package(s) that are given.
-W, --list-instdir
List all the installation directories that are in the path(s)
specified as argument. If no path is given, / is
assumed.
-L, --list-shared
Same as --list-instdir but for shared directories.
-a, --add-files
Add some files to a package, without changing their owner or group
unless the --change-owner
and/or --change-group options are given. The package
name must be the first argument, then the files should follow
-T, --free-filesRemove some files from a given package i.e urpkg will not remove those files if we remove the package. The files are of course not removed from the filesystem.
-g, --genMake the given directories to install directories (i.e place where package can install files).
-w, --ungenMake the given install directories normal directories again.
-s, --shareMake the given files shared files (i.e files packages can write to)
-S, --unshareMake the given shared files ordinary file again.
-f, --findFind which package the given files belong to.
Global options can be used with any action
-D, --debug
Print debugging information to
stderr. Implies --verbose
-V, --verbosePrint more details on what urpkg is doing to stdout.
-q, --quietOnly print warnings, errors, and what the user asks for.
-p, --pretendPrint what would have been done but do not install the package.
-P, --no-preinstDon't run the preinstall script.
-G, --no-postinstDon't run any postinstall scripts
-e,
--exclude-script=NAME
Do not run the postinstall script NAME,
where NAME is the beginning of the script's
name such that it can be recognized unambiguously.
--NAME-arg=A
Pass the argument A to the postinstall
script NAME.
-H, --pkg-dir=PATH
Use PATH/NAME as the package's home directory,
where NAME is the package's name (guessed or
given explicitly using --pkg-name).
-n, --pkg-name=NAMEExplicitly specify the package's name. Otherwise, urpkg will try to guess it from the current directory.
-F, --findcmd=SCRIPTGive a custom script to be used to find files part of a given package.
-U, --change-ownerChange the file's owner (set it to the package user). By default, the file's owner is not changed.
-d, --change-groupChange the file's group (set it to the package user). By default, the file's group is not changed.
-U, --change-owner=USER
Restore the file's owner to USER. By default,
the program will set it to root.
-d, --change-group=GROUP
Restore the file's group to GROUP. By default,
the program will set it to root.
-d, --change-group=GROUP-m, --change-perm=PERM
Change the files access permission to PERM
(given in octal form). If not given, urpkg will try to set the
permissions to a reasonable default.
Please report bugs and other inconsistencies you find to the author (address is below). If you have implemented a patch, please do send it there. Any contribution is welcome. See also urpkg's website: http://svasey.org/projects/urpkg/