summaryrefslogtreecommitdiffstats
path: root/doc/firstaidkit.1
blob: b7c185c492dec01d23bf9f660330764a623b5180 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
.\" 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 <plugin>

.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 <msivak@redhat.com>
Joel Granados <jgranado@redhat.com>
.fi

.PP
.SH "FILES"
.nf
/etc/firstaidkit.conf
.fi

.PP
.SH "SEE ALSO"
.nf
http://fedorahosted.org/firstaidkit
.fi