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
, --help
Print a short description of each option and exit.
-v
, --version
Output information about the program's version and exit.
-I
, --info
Output some information on the settings urpkg was compiled with and exit.
-i
, --install
Install a package by running the command given as argument.
-u
, --uninstall
Uninstall the package(s) whose name(s) are given as argument.
-l
, --list
Without 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-files
Remove 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
, --gen
Make the given directories to install directories (i.e place where package can install files).
-w
, --ungen
Make the given install directories normal directories again.
-s
, --share
Make the given files shared files (i.e files packages can write to)
-S
, --unshare
Make the given shared files ordinary file again.
-f
, --find
Find 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
, --verbose
Print more details on what urpkg is doing to stdout.
-q
, --quiet
Only print warnings, errors, and what the user asks for.
-p
, --pretend
Print what would have been done but do not install the package.
-P
, --no-preinst
Don't run the preinstall script.
-G
, --no-postinst
Don'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=NAME
Explicitly specify the package's name. Otherwise, urpkg will try to guess it from the current directory.
-F
, --findcmd=SCRIPT
Give a custom script to be used to find files part of a given package.
-U
, --change-owner
Change the file's owner (set it to the package user). By default, the file's owner is not changed.
-d
, --change-group
Change 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/