Package conflict resolution
When running tori check
, tori will generate two package lists: one with your installed packages and one from the packages
file in your configuration directory.
In case it finds differences between the two lists, its default behavior is to ask you what to do. This approach is described in the following section.
Interactive resolution
If it finds a difference between the two package lists, tori will present you with a list of packages and a menu with several conflict resolution strategies:
[tori] 16:38:19: System and configuration packages differ
Packages on configuration but not installed: bastille fend ksh xh
[1] Install all
[2] Enter packages to install
[3] Remove all from configuration
[4] Enter packages to remove from configuration
[5] Decide on editor
[6] Cancel
Choose an option [1-6]:
tori will perform two separate checks that may produce two separate dialogues like the one above. It checks for packages found in the configuration that are missing from the system and for packages found in the system but missing from the configuration.
If it finds packages in your configuration that are not installed on the system, it will present you with the following choices:
- Install all: The exact list of packages just displayed is passed to the package manager’s install option. The package manager may ask for additional confirmation.
- Enter packages to install: Allows you to provide a space-separated list of packages to install. These packages will be checked for invalid characters and invalid package names. If there is an issue, you will be prompted again.
- Remove all from configuration: Removes all packages from your configuration file.
- Enter packages to remove from configuration: Allows you to provide a space-separated list of packages to remove from the configuration file.
- Decide on editor: Opens your editor and allows you to choose individually what actions to take for each package.
- Cancel: Do nothing and close the dialog
If it finds packages installed on the system but not listed in your configuration, it will present you with the following choices:
- Uninstall all: The exact list of packages just displayed is passed to the package manager’s uninstall option. The package manager may ask for additional confirmation.
- Enter packages to uninstall: Allows you to provide a space-separated list of packages to uninstall. These packages will be checked for invalid characters and invalid package names. If there is an issue, you will be prompted again.
- Add all to configuration: Adds all packages to your configuration file.
- Enter packages to add to configuration: Allows you to provide a space-separated list of packages to add to the configuration file.
- Decide on editor: Opens your editor and allows you to choose individually what actions to take for each package.
- Cancel: Do nothing and close the dialog
Decide on editor
If you choose to decide what to do in your editor, the editor set on your $EDITOR
environment variable will be launched with the following text:
# Options:
# [i]nstall Install package to system
# [r]emove Remove from configuration
# [s]kip Do not take any action
# Providing just the value between brackets is sufficient
# Replace 'skip' below with the desired option
skip bastille
skip fend
skip ksh
skip xh
This example shows packages on configuration but not installed. The inverse set of operations are displayed on top if you have installed packages that are not in your configuration:
# Options:
# [u]ninstall Uninstall package from system
# [a]dd Add to configuration
# [s]kip Do not take any action
# Providing just the value between brackets is sufficient
# Replace 'skip' below with the desired option
skip bastille
skip fend
skip ksh
skip xh
Edit the skip
option on each package to decide what action to take on them:
# Options:
# [u]ninstall Uninstall package from system
# [a]dd Add to configuration
# [s]kip Do not take any action
# Providing just the value between brackets is sufficient
# Replace 'skip' below with the desired option
uninstall bastille
u fend
a ksh
skip xh
In the example above, bastille
and fend
would be uninstalled, ksh
would be added to the configuration and no action would be taken for xh
.