Runtime Mode
This is the default mode of the application, and is automatically selected when no other mode is specified. In this mode, runtimes can be deployed, run, updated, and uninstalled.
As of version 0.7, the following options are available :
--command COMMAND Override for the command to run
-d DEPLOY, --deploy DEPLOY
deploy mode, for installing environments
-l, --list List available environments
--list-local List available environments
--repo REPO Repository to use
--reset RESET Reset the runtime.
-r RUN, --run RUN Which runtime to play.
-u UNINSTALL, --uninstall UNINSTALL
Uninstall a runtime
--update UPDATE Update a runtime
--url URL Deploy and launch a runtime from URL
-v, --verbose enable verbose output
--no-gui Disable GUI
--gui Force enable GUI
-e EXPORTURL, --export-url EXPORTURL
Export a runtime as a URL which maps can openA note on the runtime specifier
The runtime specifier uniquely identifies a runtime to MaPS. It is of the
form <software>/<platform>/<version>. The <software> part of the identifier
needs to be in the reverse domain name
notation. As an
example, a valid specifier is org.oscar_system.oscar/x86_64/1.0.0.
A runtime specifier can be given in a “fully qualified” form, by including the
name of the remote repository in front of it. This helps disambiguate a runtime
if two runtimes of the same name are present in different repository. As an
example, a valid fully qualified specifier is
Official:org.oscar_system.oscar/x86_64/1.0.0.
If a fully qualified specifier is not provided, MaPS attempts to disambiguate the runtime based on known information. If the runtime name is unique among all known runtimes and all known remotes, the right remote is deduced. If this disambiguation process fails, an error is reported and execution is halted.
--verbose
Adding -v or --verbose to any command will run MaPS in verbose mode. This
prints a lot of extra information which might be helpful to investigate in case
things go wrong. Please include output in verbose mode whenever submitting a bug
report.
--list
maps -lmaps --listThis option lists all available runtimes. The Local section lists runtimes
which have been packaged on the system, as well as runtimes which have been
installed on the system. The runtimes available from each remote repository are
listed in their individual systems.
--deploy
maps -d <runtime-specifier>maps --deploy <runtime-specifier>This option deploys a runtime provided by the specifier. This will download the the runtime from its remote to the system’s repository, and deploy it to the filesystem from where MaPS can use it. The download process is incremental. That is, it can be aborted and resumed. In case of updates, only the files which are updated on the remote need to be fetched.
Telemetry
In case you enable the opt in telemetry, this is the only time MaPS will connect to an external server to report telemetry. Only the following information is transmitted :
- The name of the runtime being downloaded
- The name of the remote the runtime is being downloaded from
- The URL of the remote the runtime is being downloaded from In particular, no personally identifiable information is collected. Username and password, if any, are stripped from the remote runtime URL before transmission. IP addresses are not logged.
--run
maps -r <runtime-specifier>maps --run <runtime-specifier>This option executes a specified runtime. The runtime must already be deployed before it can be run. As an overview, the following actions are performed :
A working directory for the runtime is setup, based on the read-only data published as the runtime, and any local changes saved onto a read-write layer above it.
The
$HOME/Publicdirectory from the host system is passed through to/home/runtime/Publicinside the runtime.The specified command from the manifest file is executed inside the runtime namespace.
- If there is no manifest file, or it does not specify a command,
bashis executed. - The command to launch can be overridden using the
--commandoption.
- If there is no manifest file, or it does not specify a command,
--reset
maps --reset <runtime-specifier>This option removes any local changes from a deployed runtime. This “resets” the runtime to only have content in it which was published in the remote repository.
--update
maps -u <runtime-specifier>maps --update <runtime-specifier>This option updates a specified runtime. The runtime must already be deployed
before it can be updated. If no updates are available, this option will refresh
your deployed runtime, as if it has been deployed for the first time. This is
not the same as the above --reset, as this refresh operation will first remove
the deployed runtime, then freshly deploy it from the repository again.
--uninstall
maps -u <runtime-specifier>maps --uninstall <runtime-specifier>This option uninstalls a specified runtime from your computer. It will first
remove the deployed copy of the runtime, and then proceed to delete the runtime
from your local repository. Trying to --deploy the runtime after this
operation will require you to re-download the runtime from a remote repository.
--export-url
maps -e <runtime-specifier>maps --export-url <runtime-specifier>This option will generate a valid shareable URL of a MaPS runtime. This URL allows a one-click workflow for deploying and running a runtime, if MaPS was installed via your package manager. As an example, for OSCAR 1.0
maps --export-url org.oscar_system.oscar/x86_64/1.0.0
Generating a URL with the following info. Please check!
- Remote name is Official
- Remote URL is https://repo.oscar-system.org/
- Runtime is org.oscar_system.oscar/x86_64/1.0.0
maps://runtime?remotename=Official&remoteurl=https://repo.oscar-system.org/&runtime=org.oscar_system.oscar/x86_64/1.0.0