= pakfire(8)

== NAME
pakfire - The package management system for IPFire

== SYNOPSIS
[verse]
`pakfire check`
`pakfire clean`
`pakfire execute [--bind PATH] [--non-interactive] COMMAND`
`pakfire info [--long] PACKAGE [PACKAGE ...]`
`pakfire install [--without-recommended] [--allow-uninstall] [--allow-downgrade] PACKAGE [PACKAGE ...]`
`pakfire key TODO`
`pakfire provides [FEATURE]`
`pakfire requires [FEATURE]`
`pakfire remove [--keep-dependencies] PACKAGE [PACKAGE ...]`
`pakfire repolist`
`pakfire search PATTERN`
`pakfire sync [--keep-orphaned]`
`pakfire update [--exclude PATTERN|-x PATTERN] [--allow-uninstall] [--allow-downgrade] [PACKAGE ...]`

== DESCRIPTION
`pakfire` is the command that controls the IPFire Package Management system.

== OPTIONS

--version::
	Prints the software version and exits.

--config FILE::
-c FILE::
	Load a custom configuration file. See pakfire-conf(5) for more details.

--enable-repo REPO::
--disable-repo REPO::
	Enables/disables a repository that is disabled/enabled in the configuration.

--offline::
	Enable offline mode. Pakfire will not try to refresh any repository information
	or perform any file downloads.

--arch ARCH::
	Run Pakfire for a different architecture. This might run emulation which has
	degraded performance.

--root PATH::
	Run Pakfire in a different path. This is useful when you want to setup, debug,
	or fix a different system. Can be used in combination with '--arch'.

== COMMANDS

'check'::
	This command checks the integrity of the installation.
	If any errors are returned they can be fixed with the 'sync' command.

'clean'::
	Cleans all temporary and downloaded files.

'execute [--bind PATH] [--non-interactive] COMMAND'::
	Executes a command inside a Pakfire environment (useful in combination with
	'--root=' and '--arch=').
	+
	'--non-interactive' makes the shell non-interactive and using '--bind' parts of the
	local file system can be made available inside the environment.

'info [--long] PACKAGE [PACKAGE ...]'::
	Shows information about the given package. '--long' will show additional information.

'install [--without-recommended] [--allow-uninstall] [--allow-downgrade] PACKAGE [PACKAGE ...]'::
	Installs one or more packages.
	+
	By default, Pakfire installs packages that are recommended for use with the
	installed set of packages. This can be disabled with '--without-recommended'.
	+
	If the package cannot be installed due to dependency problems, the solver can
	be allowed to allow uninstalling other packages ('--allow-uninstall') or to
	downgrade already installed packages ('--allow-downgrade').

key::
	TODO

'provides [FEATURE]'::
	Shows a list of packages that provide a certain feature.

'requires [FEATURE]'::
	This shows a list of all packages that require a certain feature.
	The operating is basically the opposite of 'provides'.

'remove [--keep-dependencies] PACKAGE [PACKAGE ...]'::
	Uninstalls the given package and all dependencies that are no longer needed.
	Those can be kept using the '--keep-dependencies' switch.

'repolist'::
	Shows information about all available repositories and their configuration.

'search PATTERN'::
	Searches for packages that match PATTERN. Globbing can be used.

'sync [--keep-orphaned]'::
	Synchronises the local system with the upstream repositories.
	All packages will be updated to their latest version and orphaned packages will be
	uninstalled. '--keep-orphaned' disables this behaviour.

'update [--exclude PATTERN|-x PATTERN] [--allow-uninstall] [--allow-downgrade] [PACKAGE ...]'::
	Updates all installed packages to their latest versions.
	If packages are passed, only those and their dependencies will be updated.
	+
	Using '--exclude' or '-x' allows excluding one or more packages that won't be
	updated.
	+
	See 'install' on '--allow-uninstall' and '--allow-downgrade'.

== BUG REPORTS
Please report all bugs to the bugtracker at https://bugzilla.ipfire.org/;
refer to https://wiki.ipfire.org/devel/bugzilla for details.

== AUTHORS
Michael Tremer
