Link to new documentation
This commit is contained in:
parent
733f915ac0
commit
7eb7081012
2 changed files with 2 additions and 204 deletions
|
|
@ -40,11 +40,11 @@ self-explanatory.
|
|||
|
||||
## Documentation
|
||||
|
||||
Run `man 8 snap-pac` after installation.
|
||||
See the [documentation here](https://wesbarnett.github.io/snap-pac/).
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
After reviewing the man page, [check the issues page] and file a new issue if your
|
||||
After reviewing the documentation, [check the issues page] and file a new issue if your
|
||||
problem is not covered.
|
||||
|
||||
[download the latest release]: https://github.com/wesbarnett/snap-pac/releases
|
||||
|
|
|
|||
202
man8/snap-pac.8
202
man8/snap-pac.8
|
|
@ -1,202 +0,0 @@
|
|||
'\" t
|
||||
.TH SNAP-PAC 8 2021-01-29 SNAP-PAC
|
||||
.SH NAME
|
||||
snap-pac \- Pacman hooks that use snapper to create pre/post btrfs snapshots
|
||||
like openSUSE's YaST
|
||||
|
||||
.SH DESCRIPTION
|
||||
|
||||
This is a set of \fIpacman\fR hooks and script that causes \fIsnapper\fR to
|
||||
automatically take a pre and post snapshot before and after pacman transactions,
|
||||
similar to how YaST does with OpenSuse. This provides a simple way to undo
|
||||
changes to a system after a pacman transaction.
|
||||
|
||||
Because these are pacman hooks, it doesn't matter how you call pacman—whether
|
||||
directly, through an AUR helper, or using an alias—snapper will create the
|
||||
snapshots when pacman installs, upgrades, or removes a package. The pacman
|
||||
command used is logged in the snapper description for the snapshots.
|
||||
Additionally the snapshot numbers are output to the screen and to the pacman log
|
||||
for each snapper configuration during the pacman transaction, so that the user can
|
||||
easily find which changes he or she may want to revert.
|
||||
|
||||
To undo changes from a pacman transaction, use \fIsnapper undochange\fR. See
|
||||
\fBsnapper\fR(8) and \fBEXAMPLES\fR.
|
||||
|
||||
If you have severe breakage—like snapper is gone for some reason and you can't
|
||||
get it back—you'll have to resort to more extreme methods, such as taking a
|
||||
snapshot of the pre snapshot and making it the default subvolume or mounting it
|
||||
as \fI/\fR. Most likely you'll need to use a live USB to get into a chroot
|
||||
environment to do any of these things. Snapper has a snapper rollback feature,
|
||||
but your setup has to be properly configured to use it. The exact procedure
|
||||
depends on your specific setup. Be careful.
|
||||
|
||||
.SH CONFIGURATION
|
||||
Configuration is done via Python ini configuration files. The defaults of the
|
||||
should be suitable for most users, so you may not need to do any configuration at all.
|
||||
By default only the "root" snapper configuration is snapshotted.
|
||||
|
||||
A commented example configuration files is located at \fI/etc/snap-pac.ini.example\fR.
|
||||
|
||||
.SH ENVIRONMENT VARIABLES
|
||||
|
||||
To temporarily prevent snapshots from being performed for a single
|
||||
pacman command, set the environment variable \fISNAP_PAC_SKIP\fR. For
|
||||
example:
|
||||
|
||||
.EX
|
||||
|
||||
$ sudo SNAP_PAC_SKIP=y pacman -Syu
|
||||
|
||||
.EE
|
||||
|
||||
|
||||
.SH EXAMPLES
|
||||
|
||||
Here is an example of how the snapshots are created and how to rollback and pacman
|
||||
transaction. Here the \fBnano\fR package is installed:
|
||||
|
||||
.EX
|
||||
|
||||
# pacman -S nano
|
||||
resolving dependencies...
|
||||
looking for conflicting packages...
|
||||
|
||||
Packages (1) nano-2.5.3-1
|
||||
|
||||
Total Installed Size: 2.14 MiB
|
||||
|
||||
:: Proceed with installation? [Y/n] Y
|
||||
(1/1) checking keys in keyring [######################################] 100%
|
||||
(1/1) checking package integrity [######################################] 100%
|
||||
(1/1) loading package files [######################################] 100%
|
||||
(1/1) checking for file conflicts [######################################] 100%
|
||||
(1/1) checking available disk space [######################################] 100%
|
||||
:: Running pre-transaction hooks...
|
||||
(1/1) Performing snapper pre snapshots for the following configurations...
|
||||
=> root: 1033
|
||||
:: Processing package changes...
|
||||
(1/1) installing nano [######################################] 100%
|
||||
:: Running post-transaction hooks...
|
||||
(1/1) Performing snapper post snapshots for the following configurations...
|
||||
=> root: 1034
|
||||
|
||||
.EE
|
||||
|
||||
The snapper snapshot number is given for each snapper configuration that is
|
||||
used. This is also logged in pacman's log.
|
||||
|
||||
Here are the snapshots created before and after the pacman transaction:
|
||||
|
||||
.EX
|
||||
|
||||
# snapper -c root list -t pre-post | tail -n 1
|
||||
1033 | 1034 | Fri 22 Apr 2016 01:54:13 PM CDT | Fri 22 Apr 2016 01:54:14 PM CDT | pacman -S nano |
|
||||
|
||||
.EE
|
||||
|
||||
Here is what changed during the transaction:
|
||||
|
||||
.EX
|
||||
|
||||
# snapper -c root status 1033..1034
|
||||
+..... /etc/nanorc
|
||||
c..... /etc/snapper/.snap-pac-pre
|
||||
+..... /usr/bin/nano
|
||||
+..... /usr/bin/rnano
|
||||
+..... /usr/share/doc/nano
|
||||
+..... /usr/share/doc/nano/faq.html
|
||||
+..... /usr/share/doc/nano/fr
|
||||
+..... /usr/share/doc/nano/fr/nano.1.html
|
||||
+..... /usr/share/doc/nano/fr/nanorc.5.html
|
||||
+..... /usr/share/doc/nano/fr/rnano.1.html
|
||||
|
||||
.EE
|
||||
|
||||
The above output is truncated, but it continues. See the \fBsnapper\fR(8) to
|
||||
for what each symbol means. You can also do \fBsnapper diff\fR in the same way.
|
||||
|
||||
Then, to undo the \fBpacman\fR transaction:
|
||||
|
||||
.EX
|
||||
|
||||
# snapper -c root undochange 1033..1034
|
||||
create:0 modify:3 delete:100
|
||||
|
||||
.EE
|
||||
|
||||
Now nano is no longer installed, along with all the files it changed:
|
||||
|
||||
.EX
|
||||
|
||||
$ pacman -Qi nano
|
||||
error: package 'nano' was not found
|
||||
|
||||
.EE
|
||||
|
||||
.SH TROUBLESHOOTING
|
||||
|
||||
.SS snap-pac is only taking snapshots of the root configuration.
|
||||
That's the default behavior. See \fBCONFIGURATION\fR.
|
||||
|
||||
.SS No snapshots are being taken when I run pacman.
|
||||
No snapper configurations are set up for snap-pac's pacman hooks. By default
|
||||
snap-pac will take snapshots for the root configuration and any other
|
||||
configuration which has SNAPSHOT set to yes in its configuration file.
|
||||
See \fBCONFIGURATION\fR.
|
||||
|
||||
.SS After restoring snapshot from snap-pac, the pacman database is locked.
|
||||
The pre/post snaphots are taken while pacman is running, so this is expected.
|
||||
Follow the instructions pacman gives you (e.g., removing the lock file). You can add the
|
||||
database lock file to a snapper filter so that snapper won't consider it when performing
|
||||
\fBsnapper diff\fR, \fBsnapper status\fR, \fBsnapper undochange\fR, etc. See the
|
||||
\fBFilters\fR section in \fBsnapper\fR(8) for more information.
|
||||
|
||||
|
||||
.SH FAQ
|
||||
.SS Does snap-pac backup non-btrfs /boot partitions?
|
||||
No, but you can add a hook that does it for you. It would be
|
||||
something like the following:
|
||||
|
||||
.EX
|
||||
|
||||
[Trigger]
|
||||
Operation = Upgrade
|
||||
Operation = Install
|
||||
Operation = Remove
|
||||
Type = Package
|
||||
Target = linux
|
||||
|
||||
[Action]
|
||||
Description = Backing up /boot...
|
||||
When = PreTransaction
|
||||
Exec = /usr/bin/rsync -avzq --delete /boot /.bootbackup
|
||||
|
||||
.EE
|
||||
|
||||
.SS How do I link old kernel modules automatically when the kernel is upgraded?
|
||||
This behavior is no longer a part of this package. Use a pacman hook like the following:
|
||||
|
||||
[Trigger]
|
||||
Operation = Upgrade
|
||||
Operation = Install
|
||||
Operation = Remove
|
||||
Type = Package
|
||||
Target = linux
|
||||
|
||||
[Action]
|
||||
Description = Symlinking old kernel modules...
|
||||
When = PostTransaction
|
||||
Exec = /usr/bin/bash -c "find /usr/lib/modules -xtype l -delete; ln -sv /.snapshots/$(snapper -c root list | awk 'END{print $1}')/snapshot/usr/lib/modules/$(uname -r) /usr/lib/modules/"
|
||||
|
||||
.SH HOMEPAGE
|
||||
https://github.com/wesbarnett/snap-pac
|
||||
|
||||
.SH AUTHORS
|
||||
Wes Barnett <wes@wbarnett.us>
|
||||
|
||||
.SH SEE ALSO
|
||||
.BR alpm-hooks (5),
|
||||
.BR snapper (8),
|
||||
.BR snapper-configs (5),
|
||||
.BR pacman (8)
|
||||
|
||||
Loading…
Add table
Reference in a new issue