APT-CLONE(8) APT-CLONE(8)
NAME
apt-clone - ZFS integrated APT package handling utility -- command-
line interface
SYNOPSIS
apt-clone [-hltsyv] [-a=clone-name] [-r=clone-name]
[-b=bootmenu-count] [-k=clone-count] [-x=http-proxy]
apt-cmd pkg1 pkg2...
DESCRIPTION
apt-clone is the command-line tool for handling packages, and may be
considered the user's "front-end" to the apt-get(8). It manages GRUB
menu and ZFS 'syspool' filesystems. Two upgrade methods supported: 1)
safe upgrades via cloning a currently active filesystem and later ch-
rooting into it to perform actual upgrade operation; 2) in-place
(live) upgrades by checkpointing a currently active filesystem prior
to any upgrade modifications done by apt-get utility. The live upgrad-
ing, as the name implies, happens in-place on the running system, and
without reboot. Unless the safe -s option is explicitly specified, the
system will automatically detect whether the upgrade will require re-
boot, and if so, it will clone the active filesystem and safely per-
form the software upgrade within this ZFS clone. A user then has two
options: reboot into the new (upgraded) system folder or continue
working (and possibly activate the upgrade and reboot into it later).
Nexenta clone name format is 'syspool/rootfs-nmu-###', where ### is
zeroes started decimal number (i.e. 'slot') precaculated during up-
grade.
Safe upgrade is done in specially prepared chroot environment and do
not disturbs running services. Upgrade checkpointing is ZFS clone cre-
ated prior to upgrade modifications to the active root filesystem.
The default behavior (i.e. when no command line options given) of
apt-clone utility is this: 1) detect set of packages which needs to be
upgraded; 2) verify if dpkg(8) or apt-get(8) needs to be upgraded, and
upgrade them unconditionally; 3) calculate free space which is re-
quired by the upgrade and compare with what is available in ZFS pool
named 'syspool'; 4) verify if at least one of the core packages (i.e.
'sunwcakr', 'sunwkvm', 'sunwcsr', 'sunwckr', 'sunwcnetr', 'sunwcsu',
'sunwcsd' or 'sunwcsl') requires upgrade, and if so, than enable safe
upgrade option by using specially prepared chroot environment. See -s
option for details; 5) if no core packages requires upgrade, do up-
grade checkpointing which is simply ZFS clone created prior to upgrade
modifications done by apt-get(8) utility; 6) run apt-get(8) for all or
only provided set of packages.
If the -h, or --help option is given, other options will be disregard-
ed.
OPTIONS
apt-cmd
One of the apt-get commands: upgrade, dist-upgrade, install,
remove or autoremove.
-l List upgraded clones; ZFS clones for system pool 'syspool' as
they listed in GRUB menu.
-i Initiate application rollback checkpoint; ZFS clone which could
be used to rollback folowing modifications made by human or
application.
-a clone-name
Activate given ZFS clone name; GRUB menu default will set to
given clone name.
-r clone-name
Rollback/Destroy upgrade changes for ZFS clone name; only
non-active and non-default ZFS clone could be rolled back. Up-
grade rollback means destroy of clone which is no longer in
use, such as failed upgrade or custom checkpoint.
-b bootmenu-count
Maximum number of GRUB's boot menu entries to keep; retention
policy, default is 16.
-k clone-count
Maximum number of cloned ZFS root filesystems to keep; reten-
tion policy, default is 32.
-x http-proxy
Remote repository HTTP proxy server; See apt-get(8) for more
details.
-t Dry-run. Perform simulated upgrade; do not change data on sys-
tem volume. Upgrade checkpoint will not be created.
-s Safe upgrade in cloned ZFS root filesystem; using chroot envi-
ronment, do not disturbs currently running system and services,
requires reboot, could be used to force upgrade in chroot envi-
ronment for normal (i.e. non-core) packages. The default behav-
ior is to create checkpoint for non-core packages or use safe
upgrade option for core packages. It is not possible to disable
safe upgrade if one of core packages detected in calculated de-
pendencies.
-y Do not ask any questions, assume Yes to all questions.
-v Verbose output.
-h Show a short usage summary.
FILES
/etc/apt/sources.list
Locations to fetch packages from.
/boot/grub/menu.lst
GRUB configuration file.
SEE ALSO
apt-get(8), apt-cache(8), apt-cdrom(8), dpkg(8), dselect(8),
sources.list(5), apt.conf(5), apt-config(8), apt-secure(8), The APT
User's guide in /usr/share/doc/apt-doc/, apt_preferences(5), the APT
Howto.
DIAGNOSTICS
apt-clone returns '0' on normal operation, decimal '1' on error.
AUTHOR
APT was written by the APT team <apt@packages.debian.org>. apt-clone
utility written and maintained by Nexenta team <nexenta-devel@nexen-
ta.org>.
AUTHORS
Jason Gunthorpe, APT team.
Linux 3 January 2008 APT-CLONE(8)