=head1 NAME urpmi.recover - manages repackaging of old RPMs and rollbacks =head1 SYNOPSIS urpmi.recover --checkpoint [--noclean] urpmi.recover --list '1 week ago' urpmi.recover --rollback '1 hour ago' urpmi.recover --disable [--noclean] =head1 DESCRIPTION B is a tool to help management of RPM rollbacks. It has three main functions: C is used to define a point in your system that you consider stable, and to start storing info that will enable you to rollback installations and upgrades to this state. C is used to list chronologically all installations and upgrades on your system. (It has two variants, C<--list-all> and C<--list-safe>.) C is used to roll back installations and upgrades to a previous point in the past (at most until your checkpoint.) =head1 OPTIONS =over 4 =item --checkpoint Define the repackaging checkpoint. From now on, using rpm and/or urpmi/urpme to install, upgrade or remove packages, the older packages will be stored in F, or whatever directory you set the C<%_repackage_dir> rpm macro to. This way one can use them for rollbacks. Technically, using this option writes a file F that overrides the rpm macros used to set up the repackaging functionalities of rpm. You can change C<%_repackage_dir> there if you want to. Note that you'll probably need plenty of space to store repackaged rpms for a long timeframe. You can also choose to turn off repackaging by setting C<%_repackage_all_erasures> to 0 in this file. (Of course if you do so rollbacks won't be possible anymore.) =item --noclean C<--checkpoint> defines a new checkpoint and removes everything in the repackage directory. To prevent this cleaning, use the C<--noclean> option. =item --list Lists all installations and upgrades from now since the provided date, grouped by installation transactions. The date parser is quite elaborated, so you can give a date in ISO format or close to it (C) or a duration (e.g. "1 day ago"). =item --list-all Lists all installations and upgrades known to the RPM database. =item --list-safe Lists all installations and upgrades up to the date of the checkpoint. =item --rollback =item --rollback Roll back the system to the given date (see C<--list> for accepted date formats), or rolls back the given number of transactions. =item B<--urpmi-root> I Use the file system tree rooted for urpmi database and rpm install. Contrary to B<--root>, the urpmi configuration comes from the rooted tree. =item --disable Turn off repackaging. Unless C<--noclean> was also specified, this cleans up the repackage directory as well. To turn it on again, use C<--checkpoint>. =back =head1 BUGS When enabled, you can't install and repackage delta rpms (rpms generated with the C tool.) Also, if you install a delta rpm, you won't be able to rollback past this point. A sound advice would be to completely avoid delta rpms if you're planning to use urpmi.recover. =head1 FILES /etc/rpm/macros.d/urpmi.recover.macros =head1 AUTHOR Rafael Garcia-Suarez, Copyright (C) 2006 Mandriva SA =head1 SEE ALSO urpmi(8), urpme(8)