<b>Concept</b>

Using the radio buttons just below the toolbar, you can switch between 'Available packages' and 'Installed packages'.

Available packages can be fetched from the software repositories defined in /etc/pacman.conf.

If 'Available packages' are displayed, you can mark packages for installation.

If 'Installed packages' are displayed, you can mark packages for removal.

In both modes you can apply filters to reduce the number of packages that are displayed.

The special filter 'Marked' lists the packages that are marked for installation or removal.

By pressing the 'Apply Changes' button you can install or remove the marked packages.


<b>System Upgrade</b>

By pressing the 'System Upgrade' button the pacman command 'pacman --sync --refresh --sysupgrade' is executed.

This synchronises the packages database with the software repositories and upgrades all installed packages to their latest available version.


<b>Partial upgrades</b>

A "partial upgrade" is an upgrade by which only some of the upgradable packages are upgraded whereas some upgradable packages are kept at an older version.

"Partial upgrades" may lead to serious problems. See

https://wiki.archlinux.org/index.php/System_maintenance#Partial_upgrades_are_unsupported

and

http://gist.io/5660494

for more details.

You can get a "partial upgrade" if you call 'pacman --sync --refresh' wihtout '--sysupgrade' and then install one or more packages with 'pacman --sync pkg1 pkg2 ...'.

Older versions of tkPacman (<= 1.5.0), had a button called 'Resync Database' which called 'pacman --sync --refresh'. Since version 1.6.0, that button has been replaced with 'List Upgrades' (see below).

However, you can still get a "partial upgrade" if you answer "n" to pacman's question "Proceed with installation? [Y/n]" after pressing 'System Upgrade' and then install one or more packages with 'pacman --sync pkg1 pkg2 ...'.

You can also still get a "partial upgrade" if you have set 'IgnorePkg' or 'IgnoreGroup' in /etc/pacman.conf.


<b>List Upgrades</b>

By pressing the 'List Upgrades' button, a package database is made in a temporary directory (/tmp/tkpacman).

The local database (/tmp/tkpacman/local) is made as a symbolic link to the real local database (/var/lib/pacman/local).

The 'sync' database (/tmp/tkpacman/sync) is synchronised with the on line software repositories. The real 'sync' database (/var/lib/pacman/sync) is untouched by this so that the danger for partial upgrades is not increased.

Then the list of upgradable packages is displayed, based on the package database in the temporary directory (/tmp/tkpacman).



<b>Configuring 'sudo'</b>

To use 'sudo' in the 'runasroot' option, you may need to configure 'sudo'.

There are many ways to configure sudo. But here is a way that usually works.

First add your account to the group 'wheel'. Don't forget to logout and login again after that.

Then edit the /etc/sudoers file by running the command 'visudo' as 'root'.

Uncomment or add the line

%wheel ALL=(ALL) ALL

By adding a line

Defaults timestamp_timeout = 10

you can set the time that sudo caches your password to 10 minutes instead of the default 5 minutes.


<b>Problems with running a pacman command as root</b>

To run pacman commands as root, tkPacman needs a terminal emulation program and an authentication program.

The options 'terminal' and 'runasroot' (see menu Tools -> Options) let you choose which tkPacman should use.

If tkPacman detects errors when trying to execute a pacman command as root, it logs an error message that you can display by pressing the 'Errors' button on the toolbar.

This will probably give you enough information to solve the problem.
