.\" FirstAidKit .TH "FirstAidKit" "1" .SH "NAME" FirstAidKit .BR .SH "SYNOPSIS" firstaidkit [options] [-a | --auto] [fix | FLOW ] .br firstaidkit [options] [-f | --flow ] PLUGIN FLOW .br firstaidkit [options] --print-config .br firstaidkit [options] --list .br firstaidkit [options] --info .BR .SH "DESCRIPTION" Firstaidkit executes simple and common recovery tasks in an automated way. The basic elements in the system are: backend plugin system, the plugins and the plugin flows. The plugins can be thought of as individual recovery units. Each unit having the possibility of holding varioius types of processes, but still focused on one specific subsystem. There can be a plugin for password recovery for example. This plugin would take care of all the possible processes related to password recovery. In the password recovery plugin there would only be one process: to recover the password. But other plugins might need to executing more than one process. Like if you would like to diagnose before actually fixing something. Plugin flows are structures that represent the different processes. You will usually find two default flows in a plugin (with known exceptions): The diagnose flow and the fix flow. When in diagnose no changes to the system should be done. Only information should be taken from the system and output through the firstaidkit reporting system (this basically means a log file or stdout. It all depends on the configuration parameters when executing firstaidkit). When in fix mode an attempt will be made to modify the system to fix whatever was found to be missconfigured. Currently firstaidkit has 6 modes of operation: .IP "Automated Default. -a, --auto" This mode runs all the plugins that firstaidkit can detect in the paths (The paths can be set in the config file). It will run the flow denomintated "diagnose" for all these plugins. When a plugin does not have a diagnose flow (Some plugins like passwd don't have it), it will be ignored. The general idea with this mode is to see what is going on in different parts of the system. The behavior of this mode can be modified by passing on of two parameters: The flow name or "fix". When fix is specified, it will run the fix flow of all the plugins. This is *not* the default behavior because this might not be what the user wants. A more sensible approach is to list the possible problems and then for the user to run individual plugins to address all of the listed problems or a subset of them. When FLOW is specified, the flow named FLOW is run in each plugin. As with the default behavior, the plugin is ignored when the flow is not there. .IP "Flow Selection. -f PLUGIN FLOW, --flow PLUGIN FLOW" Basically lets you specify the plugin to run and the flow that you want to run on that plugin. This implies --nodeps. .IP "Print Configuration. --print-config" Lists the resulting configuration. Firstaidkit allows you to specify configuration elements in a lot of places. This options just lests you see what firstaidkit ends up with after analyzing all the configuration elements. .IP "List Plugins. --list" Make a list of all the plugins. .IP "Individual Plugin Info. --info PLUGIN" Get information fro a specific plugin. .PP .SH "OPTIONS" .IP "-c PATH, --config=PATH" Location of configuration file. .IP "-r PATH, --root=PATH" Location of the root directory. .IP "-P PATH" Location of different plugin path. This option can be used more than once. firstaidkit will look for plugins in all the paths specified by this option. .IP "-v, --verbose" Verbose mode. .IP "-l METHOD, --log=METHOD" Select METHOD as a log method. .IP "-x PLUGIN, --exclude=PLUGIN" Exclude PLUGIN from the run. .IP "-g GUI, --gui=GUI" Select GUI as front end to show results. .IP "-h, --help" Show help. .IP "-F FLAG, --flag=FLAG" Setup startup flags. .IP "--nodeps" This makes firstaidkit ingore dependency between plugins. .IP "--plugin-args=ARGS" This is the way firstaidkit passes arguments to plugins. You can actually specify plugin and flow. Although flow is not necessary. The arguments and their meaning are defined by the plugin. Where ARGS is a space separated string that begins with the plugin name and/or the flow name. ARGS="plugin_name[/flow_name] arg1 arg2 arg3" So if you wanted to pass "--installto-devs=/dev/sda" to the grub plugin in the fix flow, you would pass the following arg to firstaidkit: --plugin-args="grub/fix --installto-devs=/dev/sda" .PP .SH "EXAMPLES" .nf For most of the situations its probably better to execute the plugins individually. You manage this by using the -f option. .fi .IP "firstaidkit -f xserver diagnose" Execute the diagnose flow in a specific plugin. This line will execute the xserver plugin in diagnose mode. .IP "firstaidkit -a --nodeps" Execute all plugins without dependencies. This will execute all plugins without looking at the dependencies between them. This is good if you want a general diagnose of the system. .IP "firstaidkit --print-config" List the configuration. .IP "firstaidkit --list" List of plugins. .IP "firstaidkit --info xserver" Request a specific info from a plugin. .IP "firstaidkit -a -e xserver" Exclude a plugin from an action. This will execute every plugin except the xserver. .IP "firstaidkit --plugin-args='grub/fix recover-devs=/dev/sda' -f grub fix" Runs the plugin plugin in the fix flow and passes it the "recover-devs=/dev/sda" argument. .PP .SH "BUGS" .nf Please report bugs at http://fedorahosted.org/firstaidkit/newticket .fi .PP .SH "AUTHORS" .nf Martin Sivak Joel Granados .fi .PP .SH "FILES" .nf /etc/firstaidkit.conf .fi .PP .SH "SEE ALSO" .nf http://fedorahosted.org/firstaidkit .fi