APT-CLONE(8) APT-CLONE(8)
NAME
apt-clone - ZFS integrated APT package handling utility -- command-line
interface
SYNOPSIS
apt-clone [-hltsyvi] [-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 upgrading, 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 reboot, and
if so, it will clone the active filesystem and safely perform the soft-
ware 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 ze-
roes started decimal number (i.e. 'slot') precaculated during upgrade.
-
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 required
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. 'sun-
wcakr', 'sunwkvm', 'sunwcsr', 'sunwckr', 'sunwcnetr', 'sunwcsu', 'sun-
wcsd' or 'sunwcsl') requires upgrade, and if so, than enable safe up-
grade option by using specially prepared chroot environment. See -s op-
tion for details; 5) if no core packages requires upgrade, do upgrade
checkpointing which is simply ZFS clone created prior to upgrade modi-
fications 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, re-
move 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 ap-
plication.
-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; retention
policy, default is 32.
-x http-proxy
Remote repository HTTP proxy server; See apt-get(8) for more de-
tails.
-t Dry-run. Perform simulated upgrade; do not change data on system
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 Us-
er's guide in /usr/share/doc/apt-doc/, apt_preferences(5), the APT How-
to.
DIAGNOSTICS
apt-clone returns '0' on normal operation, decimal '1' on error.
BUGS
Nexenta bug page: https://bugs.launchpad.net/~nexenta.