pacinstall1
Install/remove alpm packages
Part of pactrans(1).
Usage
pactrans [options]
<target> ...
pacinstall [options]
<target> ...
pacremove [options]
<target> ...
pactrans {(--help | --version)}
Overview
Install/remove alpm packages. The pacinstall and pacremove aliases are provided as a convenience, differing only in their default interpretation of targets. Otherwise, they are identical.
If stdin is not connected to a terminal, pkgspecs to install/remove will be read from stdin.
Options
Operations
Operation options affect the interpretation of all targets following them until another operation option is encountered.
--spec(pactransdefault)-
Interpret following targets as pkgspecs. If a pkgspec indicates a package file or a repository package, it will be installed. If it indicates a package in the local database, it will be removed. See PKGSPEC for details on the format.
--install(pacinstalldefault)-
Interpret following targets as packages to be installed from a repository. If only the package name is provided repositories will be searched in the order they are declared.
--remove(pacremovedefault)-
Interpret following targets as package names to be uninstalled.
-
--file -
Interpret following targets as paths to package files to be installed.
-
--sysupgrade -
Upgrade installed packages.
Configuration Options
-
--cachedir=path -
Set an alternate cache directory path.
-
--config=path -
Set an alternate configuration file path.
-
--dbext=extension -
Set an alternate sync database extension.
-
--dbpath=path -
Set an alternate database path.
-
--logfile=path -
Set an alternate log file path.
-
--root=path -
Set an alternate installation root.
-
--sysroot=path -
Set an alternate system root. See pacutils-sysroot(7).
-
--null[=sep] -
Set an alternate separator for values parsed from stdin. By default a newline
"\n"is used as the separator. If--nullis used without specifying sep"NUL"will be used.
-
--debug -
Display additional debugging information.
-
--print-only -
Display the what the transaction would do and exit.
-
--no-confirm -
Assume default responses to all prompts.
-
--no-timeout -
Disable low-speed timeouts for downloads.
-
--help -
Display usage information and exit.
-
--version -
Display version information and exit.
Transaction Options
-
--dbsync -
Update sync databases before performing the transaction.
-
--dbonly -
Make the changes to the database without actually extracting or removing any packages.
-
--nodeps -
Ignore dependency versions. Pass twice to ignore dependency checks altogether.
-
--no-scriptlet -
Do not run package install scripts.
-
--no-hooks -
Do not run transaction hooks.
-
--assume-installed=package[=version] -
Behave as if package is installed.
Sysupgrade Options
-
--ignore-pkg=package -
Ignore upgrades for package package. package may be a shell-style glob pattern.
-
--ignore-group=group -
Ignore upgrades for any packages in group group. group may be a shell-style glob pattern.
--install/--file Options
-
--as-deps -
Mark all installed packages as dependencies.
-
--as-explicit -
Mark all installed packages as explicitly installed.
-
--download-only -
Download packages without actually installing them.
--remove Options
-
--cascade -
Uninstall all installed packages that depend on a package being uninstalled.
-
--no-backup -
Do not save .pacsave backups.
-
--recursive -
Uninstall any dependencies of packages being removed that are not required by any other packages.
-
--unneeded -
Do not uninstall any packages required by an installed package.
Prompt Disposition Options
-
--resolve-conflicts=method -
Select a method to use for resolving conflicts. Possible values for method are:
- "prompt"
-
Prompt the user to remove the installed conflicting package.
- "none"
-
Do not remove any conflicting packages.
- "all"
-
Remove any conflicting packages.
- "provided"
-
Remove a conflicting package if the new package provides it.
- "depends"
-
Remove a conflicting package if it was installed as a dependency.
- "provided-depends"
-
Remove a conflicting package if it was installed as a dependency and the new package provides it.
-
--resolve-replacements=method -
Select a method to use for resolving replacements. Possible values for method are:
- "prompt"
-
Prompt the user to replace the package.
- "none"
-
Do not replace any packages.
- "all"
-
Perform all available package replacements.
- "provided"
-
Perform replacements where the new package provides the old one.
- "depends"
-
Perform replacements where the old package was installed as a dependency.
- "provided-depends"
-
Perform replacements where the old package was installed as a dependency and the new package provides the old one.
-
--install-ignored-packages=prompt|yes|no -
Set the disposition for prompts to install ignored packages.
-
--delete-corrupt-files=prompt|yes|no -
Set the disposition for prompts to delete corrupt package.
-
--use-first-provider=prompt|yes|no -
Set the disposition for prompts to select a provider. If set to
"yes", the first available provider will be selected.
-
--skip-unresolvable=prompt|yes|no -
Set the disposition for prompts to skip packages with unresolvable dependencies.
-
--import-pgp-keys=prompt|yes|no -
Set the disposition for prompts to import missing PGP keys.
-
--yolo -
Set all prompt disposition options to their
"all"or"yes"value and set--no-confirm.
NOTE: regardless of the disposition options chosen, all dependencies must still be satisfied in order for the transaction to succeed unless --nodeps is used as well.
Pkgspec
A pkgspec is a string that can identify an individual package. Accepted formats are:
- <repository>/<package>
-
core/pacmanlocal/pacman
- <proto>://<path/to/package/file>
-
file:///var/cache/pacman/pkg/pacman-4.1.0-1-x86_64.pkg.tar.xz
Examples
- Replace foo with bar
-
pactrans local/foo baz/barOr, if bar's repository is unknown:
pacinstall bar --remove foo
- Install foo and bar:
-
pactrans --install foo bar
Caveats
pactrans determines whether or not to read pkgspecs from stdin based on a naive check using isatty(3). If pactrans is called in an environment, such as a shell function or script being used in a pipe, where stdin is not connected to a terminal but does not contain pkgspecs to install/remove, pactrans should be called with stdin closed. For POSIX-compatible shells, this can be done with "<&-".