freebsd-src/sbin
Kirk McKusick c7996ddf80 Create a new GEOM utility, gunion(8).
The gunion(8) utility is used to track changes to a read-only disk on
a writable disk. Logically, a writable disk is placed over a read-only
disk. Write requests are intercepted and stored on the writable
disk. Read requests are first checked to see if they have been
written on the top (writable disk) and if found are returned. If
they have not been written on the top disk, then they are read from
the lower disk.

The gunion(8) utility can be especially useful if you have a large
disk with a corrupted filesystem that you are unsure of how to
repair. You can use gunion(8) to place another disk over the corrupted
disk and then attempt to repair the filesystem. If the repair fails,
you can revert all the changes in the upper disk and be back to the
unchanged state of the lower disk thus allowing you to try another
approach to repairing it. If the repair is successful you can commit
all the writes recorded on the top disk to the lower disk.

Another use of the gunion(8) utility is to try out upgrades to your
system. Place the upper disk over the disk holding your filesystem
that is to be upgraded and then run the upgrade on it. If it works,
commit it; if it fails, revert the upgrade.

Further details can be found in the gunion(8) manual page.

Reviewed by: Chuck Silvers, kib (earlier version)
tested by:   Peter Holm
Differential Revision: https://reviews.freebsd.org/D32697
2022-02-28 16:36:08 -08:00
..
adjkerntz
bectl
bsdlabel
camcontrol camcontrol fwdownload minor improvements 2022-02-22 14:38:38 -07:00
ccdconfig
clri
comcontrol
conscontrol
ddb
decryptcore
devd devd: correct wifi regexp 2022-01-09 10:16:31 -07:00
devfs devfs.rules: Correctly unhide pf in vnet jails 2021-11-03 12:50:13 +01:00
devmatch devmatch: Allow devmatch_blocklist to be set in kenv too 2021-11-21 08:54:45 -07:00
dhclient dhclient: support VID 0 (no vlan) decapsulation 2022-02-14 10:06:47 -05:00
dmesg dmesg: detect wrapped msgbuf on the kernel side and if so, skip first line 2022-02-05 13:35:31 -08:00
dump ufs: Rework shortlink handling to avoid subobject overflows 2022-01-02 20:55:36 +00:00
dumpfs
dumpon
etherswitchcfg
fdisk
ffsinfo
fsck fsck(8): Fix typo 2022-01-12 13:52:23 +08:00
fsck_ffs Update fsdb(8) to reflect new structure of fsck_ffs(8). 2022-02-23 15:40:58 -08:00
fsck_msdosfs fsck_msdosfs: truncate directory entry when the head pointer is invalid. 2021-11-03 22:09:32 -07:00
fsdb Update fsdb(8) to reflect new structure of fsck_ffs(8). 2022-02-23 15:40:58 -08:00
fsirand
gbde
geom Create a new GEOM utility, gunion(8). 2022-02-28 16:36:08 -08:00
ggate ggatec: Use ANSI C definition for init_initial_buffer_size. 2022-01-31 17:12:04 -08:00
growfs growfs: do not error if filesystem is already requested size 2021-11-15 15:40:57 -05:00
gvinum
hastctl
hastd
ifconfig ifconfig: remove debug printf introduced in 779fd05344 2022-01-29 11:19:01 +00:00
init init(8): use proper boolean type for globals 2022-02-21 20:16:13 -04:00
ipf ipfilter: Print protocol when listing NAT table mappings 2022-02-28 12:11:39 -08:00
ipfw dnctl: Support reading config from file like ipfw(8) 2022-01-03 09:50:18 +01:00
kldconfig
kldload
kldstat kldstat(8): style(9) fixes. 2021-12-07 11:40:22 +01:00
kldunload
ldconfig ldconfig: remove two symbols 2022-01-08 12:45:46 +02:00
md5 update external URLs 2022-02-05 08:19:56 +00:00
mdconfig md: Add MD_MUSTDEALLOC support 2021-09-11 20:04:52 +08:00
mdmfs
mknod
mksnap_ffs
mount vfslist.c: initialize skipvfs variable 2022-01-05 23:00:36 +01:00
mount_cd9660
mount_fusefs sbin/mount_fusefs/mount_fusefs.8: Fix typos 2021-10-09 09:02:39 -06:00
mount_msdosfs
mount_nfs mount_nfs: Add a "bgnow" NFS mount option 2022-01-11 08:21:35 -08:00
mount_nullfs
mount_udf
mount_unionfs
natd natd: Remove uneeded in_cksum.h includes 2021-11-24 13:31:16 -05:00
newfs
newfs_msdos newfs_msdos: connect the ATF test from NetBSD 2022-02-16 09:56:16 -06:00
nfsiod
nos-tun
nvmecontrol nvme: fix spelling of Namespace 2022-02-21 10:34:46 -08:00
pfctl libpfctl: fix creatorid endianness 2022-01-27 09:07:27 +01:00
pfilctl
pflogd
ping update external URL 2022-02-05 17:11:18 +00:00
ping6
quotacheck
rcorder
reboot boottrace: annotate init and shutdown utilities 2022-02-21 20:16:07 -04:00
recoverdisk
resolvconf
restore
route route: remove write-only struct hostent from getaddr() 2022-01-06 10:45:44 -05:00
routed
rtsol
savecore savecore: emit information about saved cores under verbose 2021-12-07 18:39:34 -06:00
sconfig pkgbase: Put sconfig in FreeBSD-utilities 2021-12-21 10:16:08 +01:00
setkey update external URL 2022-02-05 17:14:27 +00:00
shutdown boottrace: annotate init and shutdown utilities 2022-02-21 20:16:07 -04:00
swapon swapon(8): adapt to the new swapoff(2) interface 2021-12-09 02:48:59 +02:00
sysctl sysctl: Small style fix 2021-12-05 21:40:47 -07:00
tests
tunefs
umount
veriexec veriexec(8): explain that only a unique prefix is required 2022-02-14 13:54:22 -08:00
zfsbootcfg
Makefile sbin: build ping if at least one of INET & INET6 is enabled 2021-11-28 13:05:39 -05:00
Makefile.amd64 Revert "amd64: Do not build sconfig" 2021-12-21 10:14:45 +01:00
Makefile.arm
Makefile.i386
Makefile.inc
Makefile.mips
Makefile.powerpc64