EnglishFrenchSpanish

Ad


OnWorks favicon

care - Online in the Cloud

Run care in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command care that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


CARE - Comprehensive Archiver for Reproducible Execution

SYNOPSIS


care [option] ... command

DESCRIPTION


CARE monitors the execution of the specified command to create an archive that contains
all the material required to re-execute it in the same context. That way, the command
will be reproducible everywhere, even on Linux systems that are supposed to be not
compatible with the original Linux system. CARE is typically useful to get reliable bug
reports, demonstrations, artifact evaluation, tutorials, portable applications, minimal
rootfs, file-system coverage, ...

By design, CARE does not record events at all. Instead, it archives environment variables
and accessed file-system components -- before modification -- during the so-called initial
execution. Then, to reproduce this execution, the re-execute.sh script embedded into the
archive restores the environment variables and relaunches the command confined into the
saved file-system. That way, both initial and reproduced executions should produce the
same results as they use the same context, assuming they do not rely on external events --
like key strokes or network packets -- or that these external events are replayed manually
or automatically, using umockdev for instance. That means it is possible to alter
explicitly the reproduced executions by changing content of the saved file-system, or by
replaying different external events.

Privacy
To ensure that no sensitive file can possibly leak into the archive, CARE conceals
recursively the content of $HOME and /tmp, that is, they appear empty during the original
execution. Although, for consistency reasons, the content of $PWD is revealed even if it
is nested into the two previous paths.

As a consequence, a program executed under CARE may behave unexpectedly because a required
path is not accessible anymore. In this case, such a path has to be revealed explicitly.
For details, see the options --concealed-path and --revealed-path, and the file
concealed-accesses.txt as well.

It is advised to inspect the archived content before sharing it.

OPTIONS


The command-line interface is composed of two parts: first CARE's options, then the
command to launch. This section describes the options supported by CARE, that is, the
first part of its command-line interface.

-o path, --output=path
Archive in path, its suffix specifies the format.

The suffix of path is used to select the archive format, it can be one of the
following:

┌────────┬──────────────────────────────────┐
│suffix │ comment │
├────────┼──────────────────────────────────┤
│/ │ don't archive, copy into the │
│ │ specified directory instead │
├────────┼──────────────────────────────────┤
│.tar │ most common archive format │
├────────┼──────────────────────────────────┤
│.cpio │ most portable archive format, it │
│ │ can archive sockets too │
└────────┴──────────────────────────────────┘

│?.gz │ most common compression format, │
│ │ but slow │
├────────┼──────────────────────────────────┤
│?.lzo │ fast compression format, but │
│ │ uncommon │
├────────┼──────────────────────────────────┤
│?.bin │ see Self-extracting format
│ │ section │
├────────┼──────────────────────────────────┤
│?.?.bin │ see Self-extracting format
│ │ section │
├────────┼──────────────────────────────────┤
│.bin │ see Self-extracting format
│ │ section │
├────────┼──────────────────────────────────┤
│.raw │ recommended archive format, use │
│ │ care -x to extract │
└────────┴──────────────────────────────────┘

where "?" means the suffix must be combined with another one. For examples:
".tar.lzo", ".cpio.gz", ".tar.bin", ".cpio.lzo.bin", ... If this option is not
specified, the default output path is care-<DATE>.bin or care-<DATE>.raw, depending
on whether CARE was built with self-extracting format support or not.

-c path, --concealed-path=path
Make path content appear empty during the original execution.

Some paths may contain sensitive data that should never be archived. This is
typically the case for most of the files in:

· $HOME

· /tmp

That's why these directories are recursively concealed from the original execution,
unless the -d option is specified. Concealed paths appear empty during the
original execution, as a consequence their original content can't be accessed nor
archived.

-r path, --revealed-path=path
Make path content accessible when nested in a concealed path.

Concealed paths might make the original execution with CARE behave differently from
an execution without CARE. For example, a lot of No such file or directory errors
might appear. The solution is to reveal recursively any required paths that would
be nested into a concealed path. Note that $PWD is revealed, unless the -d option
is specified.

-p path, --volatile-path=path
Don't archive path content, reuse actual path instead.

Some paths contain only communication means with programs that can't be monitored
by CARE, like the kernel or a remote server. Such paths are said volatile; they
shouldn't be archived, instead they must be accessed from the actual rootfs during
the re-execution. This is typically the case for the following pseudo
file-systems, sockets, and authority files:

· /dev

· /proc

· /sys

· /run/shm

· /tmp/.X11-unix

· /tmp/.ICE-unix

· $XAUTHORITY

· $ICEAUTHORITY

· /var/run/dbus/system_bus_socket

· /var/tmp/kdecache-$LOGNAME

This is also typically the case for any other fifos or sockets. These paths are
considered volatile, unless the -d option is specified.

-e name, --volatile-env=name
Don't archive name env. variable, reuse actual value instead.

Some environment variables are used to communicate with programs that can't be
monitored by CARE, like remote servers. Such environment variables are said
volatile; they shouldn't be archived, instead they must be accessed from the actual
environment during the re-execution. This is typically the case for the following
ones:

· DISPLAY

· http_proxy

· https_proxy

· ftp_proxy

· all_proxy

· HTTP_PROXY

· HTTPS_PROXY

· FTP_PROXY

· ALL_PROXY

· DBUS_SESSION_BUS_ADDRESS

· SESSION_MANAGER

· XDG_SESSION_COOKIE

These environment variables are considered volatile, unless the -d option is
specified.

-m value, --max-archivable-size=value
Set the maximum size of archivable files to value megabytes.

To keep the CPU time and the disk space used by the archiver reasonable, files
whose size exceeds value megabytes are truncated down to 0 bytes. The default is
1GB, unless the -d option is specified. A negative value means no limit.

-d, --ignore-default-config
Don't use the default options.

-x file, --extract=file
Extract content of the archive file, then exit.

It is recommended to use this option to extract archives created by CARE because
most extracting tools -- that are not based on libarchive -- are too limited to
extract them correctly.

-v value, --verbose=value
Set the level of debug information to value.

The higher the integer value is, the more detailed debug information is printed to
the standard error stream. A negative value makes CARE quiet except on fatal
errors.

-V, --version, --about
Print version, copyright, license and contact, then exit.

-h, --help, --usage
Print the user manual, then exit.

EXIT STATUS


If an internal error occurs, care returns a non-zero exit status, otherwise it returns the
exit status of the last terminated program. When an error has occurred, the only way to
know if it comes from the last terminated program or from care itself is to have a look at
the error message.

Use care online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Shadowsocks
    Shadowsocks
    A fast tunnel proxy that helps you
    bypass firewalls This is an application
    that can also be fetched from
    https://sourceforge.net/projects/shadowsocksgui/.
    It ha...
    Download Shadowsocks
  • 2
    GLPI Themes
    GLPI Themes
    Download release at
    https://github.com/stdonato/glpi-modifications/
    Color themes for GLPI 0.84 and 0.85 New
    Modifications for GLPI This is an
    application that c...
    Download GLPI Themes
  • 3
    SMPlayer
    SMPlayer
    SMPlayer is a free media player for
    Windows and Linux with built-in codecs
    that can also play YouTube videos. One
    of the most interesting features of
    SMPlayer:...
    Download SMPlayer
  • 4
    AAX to MP3
    AAX to MP3
    Usage: - Install the Audible Manager
    and open a file of your account. - Sign
    in into your audible account (in the
    application). Now the program can
    convert you...
    Download AAX to MP3
  • 5
    TestLink
    TestLink
    TestLink is a web based Test Management
    tool. The application provides Test
    specification, Test plans and execution,
    Reporting, Requirements specification
    and ...
    Download TestLink
  • 6
    XDXF - XML Dictionary Exchange Format
    XDXF - XML Dictionary Exchange Format
    XDXF is a project to unite all existing
    open dictionaries and provide both users
    and developers with universal XML-based
    format, convertible from and to other ...
    Download XDXF - XML Dictionary Exchange Format
  • 7
    Transmission Remote GUI
    Transmission Remote GUI
    Transmission Remote GUI is a feature
    rich cross platform front-end to
    remotely control a Transmission
    Bit-Torrent client daemon via its RPC
    protocol. Transmissi...
    Download Transmission Remote GUI
  • More »

Linux commands

Ad