From dceff5dd1d47962fa716c2d212aa65099e4f5669 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 4 Jun 2022 07:23:14 +0200 Subject: Merging upstream version 20220604. Signed-off-by: Daniel Baumann --- CHANGELOG.txt | 10 + README.txt | 128 +++++++++++++ VERSION.txt | 2 +- share/build-scripts/debconf | 19 ++ share/build-scripts/debconf.d/0003-debconf | 28 +++ .../build-scripts/debconf.d/0003-debconf.templates | 4 +- share/man/compute-tools.7 | 194 ++++++++++++++++++++ share/man/container-auto.1 | 110 +++++++++++ share/man/container-build-debconf.1 | 202 +++++++++++++++++++++ share/man/container-build-debootstrap.1 | 139 ++++++++++++++ share/man/container-build.1 | 160 ++++++++++++++++ share/man/container-console.1 | 101 +++++++++++ share/man/container-enter.1 | 101 +++++++++++ share/man/container-get-curl.1 | 172 ++++++++++++++++++ share/man/container-get.1 | 148 +++++++++++++++ share/man/container-info.1 | 121 ++++++++++++ share/man/container-info.1.rst | 3 + share/man/container-key.1 | 137 ++++++++++++++ share/man/container-limit.1 | 145 +++++++++++++++ share/man/container-list.1 | 184 +++++++++++++++++++ share/man/container-log.1 | 128 +++++++++++++ share/man/container-move.1 | 111 +++++++++++ share/man/container-rebuild.1 | 111 +++++++++++ share/man/container-remove.1 | 128 +++++++++++++ share/man/container-restart.1 | 108 +++++++++++ share/man/container-run.1 | 106 +++++++++++ share/man/container-shell.1 | 171 +++++++++++++++++ share/man/container-start.1 | 111 +++++++++++ share/man/container-status.1 | 98 ++++++++++ share/man/container-stop.1 | 119 ++++++++++++ share/man/container-top.1 | 95 ++++++++++ share/man/container-update.1 | 138 ++++++++++++++ share/man/container-version.1 | 92 ++++++++++ share/man/container.1 | 185 +++++++++++++++++++ 34 files changed, 3806 insertions(+), 3 deletions(-) create mode 100644 README.txt create mode 100644 share/man/compute-tools.7 create mode 100644 share/man/container-auto.1 create mode 100644 share/man/container-build-debconf.1 create mode 100644 share/man/container-build-debootstrap.1 create mode 100644 share/man/container-build.1 create mode 100644 share/man/container-console.1 create mode 100644 share/man/container-enter.1 create mode 100644 share/man/container-get-curl.1 create mode 100644 share/man/container-get.1 create mode 100644 share/man/container-info.1 create mode 100644 share/man/container-key.1 create mode 100644 share/man/container-limit.1 create mode 100644 share/man/container-list.1 create mode 100644 share/man/container-log.1 create mode 100644 share/man/container-move.1 create mode 100644 share/man/container-rebuild.1 create mode 100644 share/man/container-remove.1 create mode 100644 share/man/container-restart.1 create mode 100644 share/man/container-run.1 create mode 100644 share/man/container-shell.1 create mode 100644 share/man/container-start.1 create mode 100644 share/man/container-status.1 create mode 100644 share/man/container-stop.1 create mode 100644 share/man/container-top.1 create mode 100644 share/man/container-update.1 create mode 100644 share/man/container-version.1 create mode 100644 share/man/container.1 diff --git a/CHANGELOG.txt b/CHANGELOG.txt index ca36983..f21afa0 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,13 @@ +2022-06-04 Daniel Baumann + + * Releasing version 20220604. + + [ Daniel Baumann ] + * Adding --name option in container-info manpage. + * Adding missing dhcp option in select question of the debconf build script. + * Adding new 'stub' network interface method in debconf build-script, thanks to Sakirnth Nagarasa for the use-case and idea. + * Adding LinkLocalAddressing=no to ipv6 interfaces. + 2022-05-22 Daniel Baumann * Releasing version 20220522. diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..a982073 --- /dev/null +++ b/README.txt @@ -0,0 +1,128 @@ +============= +compute-tools +============= + +-------------------------------- +Manage systemd-nspawn containers +-------------------------------- + +:manual section: 7 +:manual group: Open Infrastructure + +Description +=========== + +[A Linux container] is an operating-system-level virtualization environment for +running multiple isolated Linux systems (containers) on a single Linux control +host. + + -- Wikipedia (https://en.wikipedia.org/wiki/LXC) + +**compute-tools** provides the system integration for managing containers using +systemd-nspawn(1). + +Download +======== + +| Upstream Releases: +| https://get.open-infrastructure.net/software/compute-tools/upstream + +| Upstream Sources: +| https://git.open-infrastructure.net/software/compute-tools + +| Debian Releases: +| https://get.open-infrastructure.net/software/compute-tools/debian + +| Debian Sources: +| https://git.progress-linux.org/users/daniel/debian/packages/open-infrastructure-compute-tools + +Installation +============ + +Source +------ + +| $ sudo apt install git make python3-docutils dbus systemd-container +| $ git clone https://git.open-infrastructure.net/software/compute-tools +| $ cd compute-tools && sudo make install + +Debian 9 (stretch) and newer +---------------------------- + +| $ sudo apt install compute-tools + +Development +=========== + +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +(https://lists.open-infrastructure.net/listinfo/software). + +Please base patches against the 'next' Git branch using common sense +(https://www.kernel.org/doc/Documentation/SubmittingPatches). + +Debian specific bugs can also be reported in the Debian Bug Tracking System +(https://bugs.debian.org). + +Known limitations +================= + +This version of compute-tools currently do not work with systemd-networkd and +depend on ifupdown. + +Using overlay, the upper directory can not be an NFS mount due to limitations in +Linux' overlay filesystem +(https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/overlayfs.txt). + +Usage +===== + +Build a new container: + sudo container build -n NAME + +Start a container: + sudo container start -n NAME + +Stop a container: + sudo container stop -n NAME + +Remove a container: + sudo container remove -n NAME + +List container on the system: + sudo container list + +Show container version: + container version + +See container(1) for a list of all container commands. + +Links +===== + +| * 2016-02-24: Systemd vs. Docker +| (https://lwn.net/Articles/676831/) + +| * 2015-06-10: Systemd and containers +| (https://lwn.net/Articles/647634/) + +| * 2014-07-07: Control groups +| (https://lwn.net/Articles/604609/) + +| * 2013-11-13: Systemd-Nspawn is Chroot on Steroids [LinuxCon Europe] +| (https://www.youtube.com/watch?v=s7LlUs5D9p4) + +| * 2013-11-03: Creating containers with systemd-nspawn +| (https://lwn.net/Articles/572957/) + +| * 2013-02-06: Systemd lightweight containers +| (https://lwn.net/Articles/536033/) + +| * 2013-01-04: Namespaces in operation +| (https://lwn.net/Articles/531114/) + +Authors +======= + +compute-tools were written by Daniel Baumann + and others. diff --git a/VERSION.txt b/VERSION.txt index 99ebccd..d6a6827 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -20220522 +20220604 diff --git a/share/build-scripts/debconf b/share/build-scripts/debconf index 1689a79..168f985 100755 --- a/share/build-scripts/debconf +++ b/share/build-scripts/debconf @@ -880,6 +880,14 @@ EOF fi ;; + + stub) + +cat >> "${DIRECTORY}/etc/systemd/network/eno${NUMBER}.network" << EOF +DHCP=no +EOF + + ;; esac if [ -n "${IPV4_POST_UP}" ] @@ -950,6 +958,7 @@ EOF cat >> "${DIRECTORY}/etc/systemd/network/eno${NUMBER}.network" << EOF DHCP=no IPv6AcceptRA=no +LinkLocalAddressing=no Address=${IPV6_ADDRESS}/${IPV6_NETMASK} EOF @@ -962,6 +971,16 @@ EOF fi ;; + + stub) + +cat >> "${DIRECTORY}/etc/systemd/network/eno${NUMBER}.network" << EOF +DHCP=no +IPv6AcceptRA=no +LinkLocalAddressing=no +EOF + + ;; esac if [ -n "${IPV6_POST_UP}" ] diff --git a/share/build-scripts/debconf.d/0003-debconf b/share/build-scripts/debconf.d/0003-debconf index 2b0ea76..d428228 100755 --- a/share/build-scripts/debconf.d/0003-debconf +++ b/share/build-scripts/debconf.d/0003-debconf @@ -864,6 +864,20 @@ Network () db_input high container/network1/ipv4-post-up || true db_go + db_settitle container/title + db_input high container/network1/ipv4-post-down || true + db_go + ;; + + stub) + db_settitle container/title + db_input high container/network1/ipv4-comment || true + db_go + + db_settitle container/title + db_input high container/network1/ipv4-post-up || true + db_go + db_settitle container/title db_input high container/network1/ipv4-post-down || true db_go @@ -902,6 +916,20 @@ Network () db_input high container/network1/ipv6-post-up || true db_go + db_settitle container/title + db_input high container/network1/ipv6-post-down || true + db_go + ;; + + stub) + db_settitle container/title + db_input high container/network1/ipv6-comment || true + db_go + + db_settitle container/title + db_input high container/network1/ipv6-post-up || true + db_go + db_settitle container/title db_input high container/network1/ipv6-post-down || true db_go diff --git a/share/build-scripts/debconf.d/0003-debconf.templates b/share/build-scripts/debconf.d/0003-debconf.templates index 73952a8..098acd1 100644 --- a/share/build-scripts/debconf.d/0003-debconf.templates +++ b/share/build-scripts/debconf.d/0003-debconf.templates @@ -112,7 +112,7 @@ Description: Veth name Template: container/network1/ipv4-method Type: select -Choices: dhcp, static, none +Choices: dhcp, static, stub, none Default: Description: Ethernet Interface Method (IPv4)? What method should be used to configure the ethernet interface? @@ -173,7 +173,7 @@ Description: Ethernet post-down Command (IPv4)? Template: container/network1/ipv6-method Type: select -Choices: static, none +Choices: dhcp, static, stub, none Default: Description: Ethernet Interface Method (IPv6)? What method should be used to configure the ethernet interface? diff --git a/share/man/compute-tools.7 b/share/man/compute-tools.7 new file mode 100644 index 0000000..d6b62df --- /dev/null +++ b/share/man/compute-tools.7 @@ -0,0 +1,194 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH COMPUTE-TOOLS 7 compute-tools "Open Infrastructure" +.SH NAME +compute-tools \- Manage systemd-nspawn containers +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH DESCRIPTION +.sp +[A Linux container] is an operating\-system\-level virtualization environment for +running multiple isolated Linux systems (containers) on a single Linux control +host. +.INDENT 0.0 +.INDENT 3.5 +\-\- Wikipedia (\fI\%https://en.wikipedia.org/wiki/LXC\fP) +.UNINDENT +.UNINDENT +.sp +\fBcompute\-tools\fP provides the system integration for managing containers using +systemd\-nspawn(1). +.SH DOWNLOAD +.nf +Upstream Releases: +\fI\%https://get.open\-infrastructure.net/software/compute\-tools/upstream\fP +.fi +.sp +.nf +Upstream Sources: +\fI\%https://git.open\-infrastructure.net/software/compute\-tools\fP +.fi +.sp +.nf +Debian Releases: +\fI\%https://get.open\-infrastructure.net/software/compute\-tools/debian\fP +.fi +.sp +.nf +Debian Sources: +\fI\%https://git.progress\-linux.org/users/daniel/debian/packages/open\-infrastructure\-compute\-tools\fP +.fi +.sp +.SH INSTALLATION +.SS Source +.nf +$ sudo apt install git make python3\-docutils dbus systemd\-container +$ git clone \fI\%https://git.open\-infrastructure.net/software/compute\-tools\fP +$ cd compute\-tools && sudo make install +.fi +.sp +.SS Debian 9 (stretch) and newer +.nf +$ sudo apt install compute\-tools +.fi +.sp +.SH DEVELOPMENT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +(\fI\%https://lists.open\-infrastructure.net/listinfo/software\fP). +.sp +Please base patches against the \(aqnext\(aq Git branch using common sense +(\fI\%https://www.kernel.org/doc/Documentation/SubmittingPatches\fP). +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH KNOWN LIMITATIONS +.sp +This version of compute\-tools currently do not work with systemd\-networkd and +depend on ifupdown. +.sp +Using overlay, the upper directory can not be an NFS mount due to limitations in +Linux\(aq overlay filesystem +(\fI\%https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/overlayfs.txt\fP). +.SH USAGE +.INDENT 0.0 +.TP +.B Build a new container: +sudo container build \-n NAME +.TP +.B Start a container: +sudo container start \-n NAME +.TP +.B Stop a container: +sudo container stop \-n NAME +.TP +.B Remove a container: +sudo container remove \-n NAME +.TP +.B List container on the system: +sudo container list +.TP +.B Show container version: +container version +.UNINDENT +.sp +See container(1) for a list of all container commands. +.SH LINKS +.nf +* 2016\-02\-24: Systemd vs. Docker +.in +2 +(\fI\%https://lwn.net/Articles/676831/\fP) +.in -2 +.fi +.sp +.nf +* 2015\-06\-10: Systemd and containers +.in +2 +(\fI\%https://lwn.net/Articles/647634/\fP) +.in -2 +.fi +.sp +.nf +* 2014\-07\-07: Control groups +.in +2 +(\fI\%https://lwn.net/Articles/604609/\fP) +.in -2 +.fi +.sp +.nf +* 2013\-11\-13: Systemd\-Nspawn is Chroot on Steroids [LinuxCon Europe] +.in +2 +(\fI\%https://www.youtube.com/watch?v=s7LlUs5D9p4\fP) +.in -2 +.fi +.sp +.nf +* 2013\-11\-03: Creating containers with systemd\-nspawn +.in +2 +(\fI\%https://lwn.net/Articles/572957/\fP) +.in -2 +.fi +.sp +.nf +* 2013\-02\-06: Systemd lightweight containers +.in +2 +(\fI\%https://lwn.net/Articles/536033/\fP) +.in -2 +.fi +.sp +.nf +* 2013\-01\-04: Namespaces in operation +.in +2 +(\fI\%https://lwn.net/Articles/531114/\fP) +.in -2 +.fi +.sp +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-auto.1 b/share/man/container-auto.1 new file mode 100644 index 0000000..e4755dd --- /dev/null +++ b/share/man/container-auto.1 @@ -0,0 +1,110 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-AUTO 1 compute-tools "Open Infrastructure" +.SH NAME +container-auto \- Start/stop all container automatically at boot/shutdown +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer auto\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer auto\fP command starts or stops all container on the host system. +.SH OPTIONS +.sp +The following \fBcontainer auto\fP options are available: +.INDENT 0.0 +.TP +.B \-f, \-\-force: +Removing stray lock file if existing. +.TP +.B \-s, \-\-start: +Start all container on the host system. +.TP +.B \-t, \-\-stop: +Stop all container on the host system. +.UNINDENT +.SH EXAMPLES +.sp +Start all container on the host system: +.INDENT 0.0 +.INDENT 3.5 +sudo container auto \-\-start +.UNINDENT +.UNINDENT +.sp +Stop all container on the host system: +.INDENT 0.0 +.INDENT 3.5 +sudo container auto \-\-stop +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-build-debconf.1 b/share/man/container-build-debconf.1 new file mode 100644 index 0000000..9db1c1f --- /dev/null +++ b/share/man/container-build-debconf.1 @@ -0,0 +1,202 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-BUILD-DEBCONF 1 compute-tools "Open Infrastructure" +.SH NAME +container-build-debconf \- Build an advanced Debian based container with debconf +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer build \-s debconf\fP [\(aqOPTIONS\(aq] +\fBcnt b \-s debconf\fP [\(aqOPTIONS\(aq] +.fi +.sp +.nf +\fBcontainer build \-s debian\fP [\(aqOPTIONS\(aq] +\fBcnt b \-s debian\fP [\(aqOPTIONS\(aq] +.fi +.sp +.nf +\fBcontainer build \-s progress\-linux\fP [\(aqOPTIONS\(aq] +\fBcnt b \-s progress\-linux\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The debconf container build script uses debconf(1) to automatically build a +Debian based container. +.SS Scope +.sp +Note that this container build script can do a few things more than just +automatically debootstrap based on a preseed file. It also allows you to set a +root password, configure the network, install certain packages and execute +hooks. +.sp +But: this is \fInot\fP a replacement for a configuration management system (like +ansible, puppet, etc.). The intenion of this script is to build the initial +container to that extend that a configuration management system can take over. +.sp +As an analogy, think of debian\-installer: d\-i sets up your system to make it +ready to boot and connect to the network. Everything after that is out of scope. +Same goes for this script. +.SS Functions +.sp +This script performs the following configuration on top of a Debian based +system: +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +network +.IP \(bu 2 +root password +.IP \(bu 2 +apt repositories +.IP \(bu 2 +\&... +.UNINDENT +.UNINDENT +.UNINDENT +.SS Modes +.sp +This container build script can be used under two different names: debian and +progress\-linux. +.sp +Alternative, calling it under the debconf name is equal to the debian mode. +.SS Preseeding +.sp +Hierarchy of Preseed Files: +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +The debconf script can be fully preseeded. Such preseed files can include +one or more preseed files themselfs (currently, only one layer of includes +is supported, no nested or recursive includes). +.IP \(bu 2 +The general rule of \(aqthe later preseed file overwrites the earlier\(aq applies. +The debconf script reads the main preseed file (specified either on command +line or by debconf selection/input dialog) after any included preseed files +in there. +.IP \(bu 2 +That means that debconf values after the include statement in the main +preseed file can overwrite any values specified in the included preseed +files. +.UNINDENT +.UNINDENT +.UNINDENT +.SH OPTIONS +.sp +The following script options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-p, \-\-preseed\-file=\(aqFILE\(aq: +Specify the preseed file. +.UNINDENT +.SH EXAMPLES +.sp +Build a Debian based container: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-s debian \-n debian.example.net +.UNINDENT +.UNINDENT +.sp +Build a Progress Linux container: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-s progress\-linux \-n progress.example.net +.UNINDENT +.UNINDENT +.SH FILES +.sp +The following files are used: +.INDENT 0.0 +.TP +.B /etc/compute\-tools/config: +Container configuration files. +.TP +.B /usr/share/compute\-tools/build\-scripts: +Container build scripts. +.TP +.B /usr/share/doc/compute\-tools: +Container documentation. +.TP +.B /var/lib/machines: +Container directory. +.TP +.B /var/cache/container: +Container cache directory. +.TP +.B /tmp/compute\-tools: +Container temporary directory. +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-build-debootstrap.1 b/share/man/container-build-debootstrap.1 new file mode 100644 index 0000000..2501d7a --- /dev/null +++ b/share/man/container-build-debootstrap.1 @@ -0,0 +1,139 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-BUILD-DEBOOTSTRAP 1 compute-tools "Open Infrastructure" +.SH NAME +container-build-debootstrap \- Build a basic Debian based container with debootstrap or mmdebstrap +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer build \-s debootstrap\fP [\(aqOPTIONS\(aq] +\fBcnt b \-s debootstrap\fP [\(aqOPTIONS\(aq] +.fi +.sp +.nf +\fBcontainer build \-s mmdebstrap\fP [\(aqOPTIONS\(aq] +\fBcnt b \-s mmdebstrap\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The debootstrap container build script uses debootstrap(8) or mmdebstrap(1) +to build a Debian based container. +.sp +This script builds a pure Debian system with three modificiations: +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +apt cache of packages downloaded during debootstrap is cleaned +.IP \(bu 2 +hostname is set (container name) in /etc/hostname +.IP \(bu 2 +root password is set (user specified or 16 random characters) +.UNINDENT +.UNINDENT +.UNINDENT +.SH OPTIONS +.sp +The following script options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-a, \-\-architecture=\(aqARCHITECTURE\(aq: +Specify the Debian architecture, defaults to the host systems architecture. +.TP +.B \-d, \-\-distribution=\(aqDISTRIBUTION\(aq: +Specify the Debian distribution, defaults to \(aqbullseye\(aq. +.TP +.B \-m, \-\-mirror=\(aqMIRROR\(aq: +Specify the Debian mirror, defaults to \(aq\fI\%https://deb.debian.org/debian\fP\(aq. +.TP +.B \-p, \-\-root\-password=\(aqPASSWORD\(aq: +Specify the root password, defaults to a random 16 character password. +.UNINDENT +.SH EXAMPLES +.sp +Build a Debian 11 (bullseye) based container with same architecture as the host +system using debootstrap: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-s debootstrap \-n bullseye.example.net +.UNINDENT +.UNINDENT +.sp +Build a Debian 11 (bullseye) based container with different architecture as the +host system using mmdebstrap: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-s mmdebstrap \-n bullseye\-i386.example.net \-\- \-a i386 +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-build.1 b/share/man/container-build.1 new file mode 100644 index 0000000..10aff3f --- /dev/null +++ b/share/man/container-build.1 @@ -0,0 +1,160 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-BUILD 1 compute-tools "Open Infrastructure" +.SH NAME +container-build \- Build a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer build\fP [\(aqOPTIONS\(aq] +\fBcnt b\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer build\fP command builds a container based on a script. +.SS Scripts +.sp +The following build scripts are available: +.INDENT 0.0 +.TP +.B debootstrap: +Basic script to build Debian based container, see +container\-build\-debootstrap(1). +.TP +.B debconf: +Advanced script to automatically build Debian based container, see +container\-build\-debconf(1). +.TP +.B default: +Symlink (if existing) to a build script which is used if no script was +specified. On Debian based system this can be managed through +update\-alternatives(1), i.e. \(aqsudo update\-alternatives \-\-config +container_build\-script\(aq. +.UNINDENT +.SH OPTIONS +.sp +The following \fBcontainer build\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-c, \-\-capability=\(aqCAPABILITY\(aq: +Specify capabilities to grant, see capabilities(7). +.TP +.B \-d, \-\-drop\-capability=\(aqDROP_CAPABILITY\(aq: +Specify capabilities to drop, see capabilities(7). +.TP +.B \-s, \-\-script=\(aqSCRIPT\(aq: +Specify container build script, defaults to \(aqdebootstrap\(aq. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.TP +.B \-b, \-\-bind=\(aqDIRECTORY:DIRECTORY[:OPTIONS][;DIRECTORY:DIRECTORY[:OPTIONS]]\(aq: +Specify container read\-write bind mounts, see systemd\-nspawn(1) \-\-bind option. +.TP +.B \-\-bind\-ro=\(aqDIRECTORY:DIRECTORY[:OPTIONS][;DIRECTORY:DIRECTORY[:OPTIONS]]\(aq: +Specify container read\-only bind mounts, see systemd\-nspawn(1) \-\-bind\-ro +option. +.TP +.B \-\-cnt\-overlay=\(aqDIRECTORY_LOWER:DIRECTORY_UPPER:DIRECTORY_WORK:DIRECTORY_MERGED[;DIRECTORY_UPPER:DIRECTORY_LOWER:DIRECTORY_WORK:DIRECTORY_MERGED]\(aq: +Specify container overlay mounts, see Documentation/filesystems/overlayfs.txt. +.TP +.B \-\-cnt.overlay\-options=\(aqOPTION1,OPTION2[;OPTION3,OPTION4]\(aq: +Specify container overlay mount options, see +Documentation/filesystems/overlayfs.txt. +.TP +.B \-\-cnt.start=\(aqOPTION1[,OPTION2,...]\(aq: +Specify container start options, see container\-start(1). +.UNINDENT +.SH EXAMPLES +.sp +Build example.net container using debootstrap script: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-n example.net \-s debootstrap +.UNINDENT +.UNINDENT +.sp +Build example.net container using debconf script: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-n example.net \-s debconf +.UNINDENT +.UNINDENT +.sp +Build example.net container with the default build script and start it: +.INDENT 0.0 +.INDENT 3.5 +sudo container build,start \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-console.1 b/share/man/container-console.1 new file mode 100644 index 0000000..7959868 --- /dev/null +++ b/share/man/container-console.1 @@ -0,0 +1,101 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-CONSOLE 1 compute-tools "Open Infrastructure" +.SH NAME +container-console \- Attach a console to a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer console\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer console\fP command attaches a console to a container. +.sp +While \(aqcontainer enter\(aq bypasses the login prompt and drops to a root shell, the +\(aqcontainer console\(aq command shows a full login prompt where any valid user and +password combination can be used. +.SH OPTIONS +.sp +The following \fBcontainer console\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.UNINDENT +.SH EXAMPLES +.sp +Attach console to example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container console \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-enter.1 b/share/man/container-enter.1 new file mode 100644 index 0000000..8552a9a --- /dev/null +++ b/share/man/container-enter.1 @@ -0,0 +1,101 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-ENTER 1 compute-tools "Open Infrastructure" +.SH NAME +container-enter \- Enter a container namespace +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer enter\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer enter\fP command enters a container namespace. +.sp +While \(aqcontainer console\(aq shows a full login prompt where any valid user and +password combination can be used, the \(aqcontainer enter\(aq command bypasses this +and drops to a root shell. +.SH OPTIONS +.sp +The following \fBcontainer enter\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.UNINDENT +.SH EXAMPLES +.sp +Enter to example.net container namespace: +.INDENT 0.0 +.INDENT 3.5 +sudo container enter \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-get-curl.1 b/share/man/container-get-curl.1 new file mode 100644 index 0000000..d9a3b1e --- /dev/null +++ b/share/man/container-get-curl.1 @@ -0,0 +1,172 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-GET-CURL 1 compute-tools "Open Infrastructure" +.SH NAME +container-get-curl \- Download a Debian based container by downloading a tarball over the network +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer get \-s curl\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The curl container download script uses curl(1) to download a tarball over the +network to create a Debian based container. +.sp +Depending on the tarball this script otherwise creates a pure Debian system +with three modificiations: +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +hostname is set (container name) in /etc/hostname +.IP \(bu 2 +systemd machine\-id is generated in /etc/machine\-id +.IP \(bu 2 +root password is set (user specified or 16 random characters) +.UNINDENT +.UNINDENT +.UNINDENT +.SS Container images +.sp +compute\-tools will download tarballs from a server expecting that the images are +tarballs with either gzip, lzip, xz, or no compression. See container\-images.sh +as an example on how to create your own container images. +.SH OPTIONS +.sp +The following script options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-a, \-\-architecture=\(aqARCHITECTURE\(aq: +Specify container architecture. +.TP +.B \-\-clean: +Remove container tarball after successful download. +.TP +.B \-p, \-\-root\-password=\(aqPASSWORD\(aq: +Specify the root password, defaults to a random 16 character password. +.TP +.B \-\-server=\(aqSERVER\(aq: +Specify the image server to download from, defaults to +\(aq\fI\%https://get.open\-infrastructure.net/system/container/debian\fP\(aq. +.TP +.B \-\-setup=\(aqSETUP\(aq: +Specify the setup image name to download, defaults to the value specified +through \-\-system using the setup.tar.${COMPRESSION} suffix (where +${COMPRESSION} is either lz, xz, or gz depending on compressor availability on +the host system). +.TP +.B \-\-system=\(aqSYSTEM\(aq: +Specify the system image name to download, defaults to +debian\-bullseye\-current_${ARCHITECTURE}.system.tar.${COMPRESSION} (where +${ARCHITECTURE} is the host systems architecture and ${COMPRESSION} either +lz, xz, or gz depending on compressor availability on the host system). +.UNINDENT +.SH EXAMPLES +.sp +Download a Debian 11 (bullseye) based container with same architecture as the host +system: +.INDENT 0.0 +.INDENT 3.5 +sudo container get \-s curl \-n bullseye.example.net +.UNINDENT +.UNINDENT +.sp +Download a Debian 11 (bullseye) based container with different architecture as the +host system: +.INDENT 0.0 +.INDENT 3.5 +sudo container get \-s curl \-n bullseye\-i386.example.net \-\- \-\-system debian\-bullseye\-current_i386.system.tar.xz +.UNINDENT +.UNINDENT +.SH FILES +.sp +The following files are used: +.INDENT 0.0 +.TP +.B /etc/compute\-tools/config: +Container configuration files. +.TP +.B /usr/share/compute\-tools/get\-scripts: +Container download scripts. +.TP +.B /usr/share/doc/compute\-tools: +Container documentation. +.TP +.B /var/lib/machines: +Container directory. +.TP +.B /var/cache/container: +Container cache directory. +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-get.1 b/share/man/container-get.1 new file mode 100644 index 0000000..cbfd336 --- /dev/null +++ b/share/man/container-get.1 @@ -0,0 +1,148 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-GET 1 compute-tools "Open Infrastructure" +.SH NAME +container-get \- Download a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer get\fP [\(aqOPTIONS\(aq] +\fBcnt g\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer get\fP command downloads a container based on a script. +.SS Scripts +.sp +The following download scripts are available: +.INDENT 0.0 +.TP +.B curl: +Basic script to build Debian based container, see container\-create\-curl(1). +.TP +.B default: +Symlink (if existing) to a download script which is used if no script was +specified. On Debian based system this can be managed through +update\-alternatives(1), i.e. \(aqsudo update\-alternatives \-\-config +container_get\-script\(aq. +.UNINDENT +.SH OPTIONS +.sp +The following \fBcontainer get\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-c, \-\-capability=\(aqCAPABILITY\(aq: +Specify capabilities to grant, see capabilities(7). +.TP +.B \-d, \-\-drop\-capability=\(aqDROP_CAPABILITY\(aq: +Specify capabilities to drop, see capabilities(7). +.TP +.B \-s, \-\-script=\(aqSCRIPT\(aq: +Specify container build script, defaults to \(aqdebootstrap\(aq. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.TP +.B \-b, \-\-bind=\(aqDIRECTORY:DIRECTORY[:OPTIONS][;DIRECTORY:DIRECTORY[:OPTIONS]]\(aq: +Specify container read\-write bind mounts, see systemd\-nspawn(1) \-\-bind option. +.TP +.B \-\-bind\-ro=\(aqDIRECTORY:DIRECTORY[:OPTIONS][;DIRECTORY:DIRECTORY[:OPTIONS]]\(aq: +Specify container read\-only bind mounts, see systemd\-nspawn(1) \-\-bind\-ro +option. +.TP +.B \-\-cnt\-overlay=\(aqDIRECTORY_LOWER:DIRECTORY_UPPER:DIRECTORY_WORK:DIRECTORY_MERGED[;DIRECTORY_UPPER:DIRECTORY_LOWER:DIRECTORY_WORK:DIRECTORY_MERGED]\(aq: +Specify container overlay mounts, see Documentation/filesystems/overlayfs.txt. +.TP +.B \-\-cnt.overlay\-options=\(aqOPTION1,OPTION2[;OPTION3,OPTION4]\(aq: +Specify container overlay mount options, see +Documentation/filesystems/overlayfs.txt. +.TP +.B \-\-cnt.start=\(aqOPTION1[,OPTION2,...]\(aq: +Specify container start options, see container\-start(1). +.UNINDENT +.SH EXAMPLES +.sp +Create example.net container using curl script: +.INDENT 0.0 +.INDENT 3.5 +sudo container get \-n example.net \-s curl +.UNINDENT +.UNINDENT +.sp +Create example.net container with the default download script and start it: +.INDENT 0.0 +.INDENT 3.5 +sudo container get,start \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-info.1 b/share/man/container-info.1 new file mode 100644 index 0000000..becbe0e --- /dev/null +++ b/share/man/container-info.1 @@ -0,0 +1,121 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-INFO 1 compute-tools "Open Infrastructure" +.SH NAME +container-info \- Show specific information of a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer info\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer info\fP command shows specific information of a container. +.SH OPTIONS +.sp +The following \fBcontainer info\fP options are available, defaults to \(aq\-\-status +\-\-os \-\-ip\(aq: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will start all stopped container. +.TP +.B \-\-status: +Show container status (started|stopped|other). +.TP +.B \-\-os: +Show container operating system (FIXME: Debian only). +.TP +.B \-\-ip: +Show container IP address. +.UNINDENT +.SH EXAMPLES +.sp +Show example.net container status: +.INDENT 0.0 +.INDENT 3.5 +sudo container info \-n example.net \-\-status +.UNINDENT +.UNINDENT +.sp +Show example.net container operating system: +.INDENT 0.0 +.INDENT 3.5 +sudo container info \-n example.net \-\-os +.UNINDENT +.UNINDENT +.sp +Show example.net container IP address: +.INDENT 0.0 +.INDENT 3.5 +sudo container info \-n example.net \-\-ip +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-info.1.rst b/share/man/container-info.1.rst index 608f999..99ccb55 100644 --- a/share/man/container-info.1.rst +++ b/share/man/container-info.1.rst @@ -44,6 +44,9 @@ Options The following **container info** options are available, defaults to '--status --os --ip': +-n, --name='NAME': + Specify container name. Specifying 'ALL' will start all stopped container. + --status: Show container status (started|stopped|other). diff --git a/share/man/container-key.1 b/share/man/container-key.1 new file mode 100644 index 0000000..4000536 --- /dev/null +++ b/share/man/container-key.1 @@ -0,0 +1,137 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-KEY 1 compute-tools "Open Infrastructure" +.SH NAME +container-key \- Manage GnuPG keyring for container operations +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer key\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer key\fP command manages the GnuPG keyring for container +operations. +.SH OPTIONS +.sp +The following \fBcontainer key\fP options are available: +.INDENT 0.0 +.TP +.B \-a, \-\-add=\(aqKEY_FILE|KEY_ID\(aq: +Add a key to the keyring. +.TP +.B \-l, \-\-list\(aq: +List keys in the keyring. +.TP +.B \-r, \-\-remove=\(aqKEY\(aq: +Remove a key from the keyring. +.UNINDENT +.SH EXAMPLES +.sp +Add a key to the keyring manually: +.INDENT 0.0 +.INDENT 3.5 +gpg \-\-keyserver hkps://keys.openpgp.org \-\-recv 0x55CF1BF986ABB9C7 +gpg \-\-armor \-\-export 0x55CF1BF986ABB9C7 | sudo container key \-\-add \- +.UNINDENT +.UNINDENT +.sp +Assisted adding of the same key: +.INDENT 0.0 +.INDENT 3.5 +sudo container key \-\-add 0x55CF1BF986ABB9C7 +.UNINDENT +.UNINDENT +.sp +Remove a key from the keyring: +.INDENT 0.0 +.INDENT 3.5 +sudo container key \-\-remove 0x55CF1BF986ABB9C7 +.UNINDENT +.UNINDENT +.sp +List keys in the keyring: +.INDENT 0.0 +.INDENT 3.5 +sudo container key \-\-list +.UNINDENT +.UNINDENT +.SH FILES +.sp +The following files are used: +.INDENT 0.0 +.TP +.B /etc/compute\-tools/keys: +Active container keyring. +.TP +.B /usr/share/compute\-tools/keys: +Inactive container keyring library. +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-limit.1 b/share/man/container-limit.1 new file mode 100644 index 0000000..acfbfde --- /dev/null +++ b/share/man/container-limit.1 @@ -0,0 +1,145 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-LIMIT 1 compute-tools "Open Infrastructure" +.SH NAME +container-limit \- Limit resources of a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer limit\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer limit\fP command limits resources available to a container at +runtime. +.SH OPTIONS +.sp +The following \fBcontainer limit\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-\-blockio\-device\-weight=\(aqDEVICE WEIGHT\(aq: +Specify device specific blockio weight, see systemd.resource\-control(5). +.TP +.B \-\-blockio\-read\-bandwidth=\(aqDEVICE BYTES\(aq: +Specify device specific blockio read bandwidth, see +systemd.resource\-control(5). +.TP +.B \-b, \-\-blockio\-weight=\(aqWEIGHT\(aq: +Specify general blockio weight, see systemd.resource\-control(5). +.TP +.B \-\-blockio\-write\-bandwidth=\(aqDEVICE BYTES\(aq: +Specify device specific blockio write bandwidth, see +systemd.resource\-control(5). +.TP +.B \-c, \-\-cpu\-quota=\(aqQUOTA\(aq: +Specify CPU quota, see systemd.resource\-control(5). +.TP +.B \-\-cpu\-shares=\(aqSHARES\(aq: +Specify CPU shares, see systemd.resource\-control(5). +.TP +.B \-m, \-\-memory\-limit=\(aqBYTES\(aq: +Specify memory limit, see systemd.resource\-control(5). +.TP +.B \-t, \-\-tasks\-max=\(aqNUMBER\(aq: +Specify tasks max, see systemd.resource\-control(5). +.UNINDENT +.SH EXAMPLES +.sp +Set blockio weight for the example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container limit \-n example.net \-\-blockio\-weight 100 +.UNINDENT +.UNINDENT +.sp +Set CPU quota for the example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container limit \-n example.net \-\-cpu\-quota 10% +.UNINDENT +.UNINDENT +.sp +Set memory limit for the example.net container to 1GB: +.INDENT 0.0 +.INDENT 3.5 +sudo container limit \-n example.net \-\-memory\-limit 1G +.UNINDENT +.UNINDENT +.sp +Set tasks max for the example.net container to 100: +.INDENT 0.0 +.INDENT 3.5 +sudo container limit \-n example.net \-\-tasks\-max 100 +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-list.1 b/share/man/container-list.1 new file mode 100644 index 0000000..751ab88 --- /dev/null +++ b/share/man/container-list.1 @@ -0,0 +1,184 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-LIST 1 compute-tools "Open Infrastructure" +.SH NAME +container-list \- List container on the system +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer list\fP [\(aqOPTIONS\(aq] +\fBcnt ls\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer list\fP command lists container on the system. +.SH OPTIONS +.sp +The following \fBcontainer list\fP options are available, defaults to \(aq\-\-started +\-\-stopped\(aq: +.INDENT 0.0 +.TP +.B \-a, \-\-all: +List all available container (started, stopped, and other). +.TP +.B \-\-csv\-separator=\(aqSEPARATOR\(aq: +Specify custom CSV separator, defaults to \(aq,\(aq. +.TP +.B \-f, \-\-format=\(aqFORMAT\(aq: +Use format to list container. Currently available formats are \(aqcli\(aq (default), +\(aqcsv\(aq, \(aqjson\(aq, \(aqnwdiag\(aq, \(aqshell\(aq, \(aqsh\(aq, \(aqyaml\(aq, or \(aqxml\(aq. +.TP +.B \-h, \-\-host=\(aqHOSTNAME\(aq: +List only container that are enabled for automatic start on the specified +hostname. Defaults to list containers of the local system only. Using \(aqall\(aq +shows all container regardless of any automatic start configuration. +.TP +.B \-\-nwdiag\-color=\(aqCOLOR\(aq: +Specify custom nwdiag color for the host box, defaults to \(aq#3465a4\(aq. +.TP +.B \-\-nwdiag\-label=\(aqLABEL\(aq: +Specify custom nwdiag label for the diagram, defaults to empty. +.TP +.B \-o, \-\-other: +List only container that are not enable for automatic start on the current +system. +.TP +.B \-s, \-\-started: +List only started container. +.TP +.B \-t, \-\-stopped: +List only stopped container. +.UNINDENT +.SH EXAMPLES +.sp +List all started and stopped containers of the local system: +.INDENT 0.0 +.INDENT 3.5 +sudo container list +.UNINDENT +.UNINDENT +.sp +List all started and other containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-s \-o +.UNINDENT +.UNINDENT +.sp +Create a CSV export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f csv +.UNINDENT +.UNINDENT +.sp +Create a JSON export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f json +.UNINDENT +.UNINDENT +.sp +Create a nwdiag export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f nwdiag +.UNINDENT +.UNINDENT +.sp +Create a SVG image via nwdiag of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f nwdiag | nwdiag \-T svg \-o cnt\-list.svg \- +.UNINDENT +.UNINDENT +.sp +Create a shell export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f shell +sudo container list \-f sh +.UNINDENT +.UNINDENT +.sp +Create a YAML export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f yaml +.UNINDENT +.UNINDENT +.sp +Create a XML export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f xml +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-log.1 b/share/man/container-log.1 new file mode 100644 index 0000000..81129f9 --- /dev/null +++ b/share/man/container-log.1 @@ -0,0 +1,128 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-LOG 1 compute-tools "Open Infrastructure" +.SH NAME +container-log \- Show container log +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer log\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer log\fP command shows the container log. +.SH OPTIONS +.sp +The following \fBcontainer log\fP options are available: +.INDENT 0.0 +.TP +.B \-d, \-\-date: +Show only log entries of the specified date as \(aqYYYY\-MM\-DD\(aq or a date range like \(aqtoday\-7\(aq. +.TP +.B \-n, \-\-name: +Show only log entries for the specified container. +.UNINDENT +.SH EXAMPLES +.sp +Show all log entries: +.INDENT 0.0 +.INDENT 3.5 +sudo container log +.UNINDENT +.UNINDENT +.sp +Show only log entries of today: +.INDENT 0.0 +.INDENT 3.5 +sudo container log \-d today +.UNINDENT +.UNINDENT +.sp +Show only log entries of yesterday: +.INDENT 0.0 +.INDENT 3.5 +sudo container log \-d yesterday +.UNINDENT +.UNINDENT +.sp +Show all log entries of the example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container log \-n example.net +.UNINDENT +.UNINDENT +.sp +Show only log entries of the example.net container of the last 30 days: +.INDENT 0.0 +.INDENT 3.5 +sudo container log \-d today\-30 \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-move.1 b/share/man/container-move.1 new file mode 100644 index 0000000..9df6180 --- /dev/null +++ b/share/man/container-move.1 @@ -0,0 +1,111 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-MOVE 1 compute-tools "Open Infrastructure" +.SH NAME +container-move \- Rename a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer move\fP [\(aqOPTIONS\(aq] +\fBcnt mv\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer move\fP commands renames a container. +.SH OPTIONS +.sp +The following \fBcontainer move\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-new=\(aqNAME\(aq: +Specify new container name. +.TP +.B \-f, \-\-force: +Do not prompt before moving. +.TP +.B \-o, \-\-old: +Specify old container name. +.UNINDENT +.SH EXAMPLES +.sp +Rename example.net container to example.org: +.INDENT 0.0 +.INDENT 3.5 +sudo container move \-n example.org \-o example.net +.UNINDENT +.UNINDENT +.sp +Rename example.net container to example.org without prompt: +.INDENT 0.0 +.INDENT 3.5 +sudo container move \-n example.org \-o example.net \-f +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-rebuild.1 b/share/man/container-rebuild.1 new file mode 100644 index 0000000..8b671ae --- /dev/null +++ b/share/man/container-rebuild.1 @@ -0,0 +1,111 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-REBUILD 1 compute-tools "Open Infrastructure" +.SH NAME +container-rebuild \- Restart a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer rebuild\fP [\(aqOPTIONS\(aq] +\fBcnt rb\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer rebuild\fP command rebuilds a container by stopping, building, starting an existing container. +.SH OPTIONS +.sp +The following \fBcontainer rebuild\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will rebuild all started container. +.TP +.B \-f, \-\-force: +Do not fail if container is running. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.UNINDENT +.SH EXAMPLES +.sp +Rebuild example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container rebuild \-n example.net +.UNINDENT +.UNINDENT +.sp +Restart all container: +.INDENT 0.0 +.INDENT 3.5 +sudo container rebuild \-n ALL +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-remove.1 b/share/man/container-remove.1 new file mode 100644 index 0000000..a3b5f71 --- /dev/null +++ b/share/man/container-remove.1 @@ -0,0 +1,128 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-REMOVE 1 compute-tools "Open Infrastructure" +.SH NAME +container-remove \- Remove a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer remove\fP [\(aqOPTIONS\(aq] +\fBcnt rm\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer remove\fP command removes a container. +.SH OPTIONS +.sp +The following \fBcontainer remove\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will remove all stopped container. +.TP +.B \-\-allow\-stop: +Stop container prior removal. +.TP +.B \-f, \-\-force: +Do not prompt before removal. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.UNINDENT +.SH EXAMPLES +.sp +Remove example.net container from the system: +.INDENT 0.0 +.INDENT 3.5 +sudo container remove \-n example.net +.UNINDENT +.UNINDENT +.sp +Remove example.net container from the system without prompt: +.INDENT 0.0 +.INDENT 3.5 +sudo container remove \-n example.net \-f +.UNINDENT +.UNINDENT +.sp +Remove a running container from the system, without prompt: +.INDENT 0.0 +.INDENT 3.5 +sudo container remove \-n example.net \-f \-\-allow\-stop +.UNINDENT +.UNINDENT +.sp +Remove all container: +.INDENT 0.0 +.INDENT 3.5 +sudo container remove \-n ALL +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-restart.1 b/share/man/container-restart.1 new file mode 100644 index 0000000..368cc74 --- /dev/null +++ b/share/man/container-restart.1 @@ -0,0 +1,108 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-RESTART 1 compute-tools "Open Infrastructure" +.SH NAME +container-restart \- Restart a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer restart\fP [\(aqOPTIONS\(aq] +\fBcnt rs\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer restart\fP command restarts a container. +.SH OPTIONS +.sp +The following \fBcontainer restart\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will restart all started container. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.UNINDENT +.SH EXAMPLES +.sp +Restart example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container restart \-n example.net +.UNINDENT +.UNINDENT +.sp +Restart all container: +.INDENT 0.0 +.INDENT 3.5 +sudo container restart \-n ALL +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-run.1 b/share/man/container-run.1 new file mode 100644 index 0000000..0469b2d --- /dev/null +++ b/share/man/container-run.1 @@ -0,0 +1,106 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-RUN 1 compute-tools "Open Infrastructure" +.SH NAME +container-run \- Execute commands in a container namespace +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer run\fP [\(aqOPTIONS\(aq] \-\- \(aqCOMMAND\(aq|"COMMANDS" +\fBcnt r\fP [\(aqOPTIONS\(aq] \-\- \(aqCOMMAND\(aq|"COMMANDS" +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer run\fP command executes arbitrary commands as root in a container +namespace. +.SH OPTIONS +.sp +The following \fBcontainer run\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will start all stopped container. +.UNINDENT +.SH EXAMPLES +.sp +Run \(aqhostname\(aq in example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container run \-n example.net \-\- hostname +.UNINDENT +.UNINDENT +.sp +Create and delete a file in example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container run \-n example.net \-\- \(aqtouch /tmp/foo && rm \-f /tmp/foo\(aq +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-shell.1 b/share/man/container-shell.1 new file mode 100644 index 0000000..926d837 --- /dev/null +++ b/share/man/container-shell.1 @@ -0,0 +1,171 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-SHELL 1 compute-tools "Open Infrastructure" +.SH NAME +container-shell \- Manage systemd-nspawn containers (shell) +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer\-shell\fP [\(aqOPTIONS\(aq] +\fBcntsh\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +compute\-tools provides the system integration for managing containers using +systemd\-nspawn. +.SS Usage +.sp +Although the \fBcontainer\-shell\fP can be started from a running system like any +other program, the main intend is to use the \fBcontainer\-shell\fP via SSH. That +way otherwise unprivileged users have possibility to manage containers without +needing a regular shell login on the container server. +.sp +For usage over SSH a unprivileged user should be created: +.nf + +.in +2 +sudo adduser \-\-gecos "compute\-tools,,," \e +.in +2 +\-\-home /var/lib/open\-infrastructure/container\-shell \e +\-\-shell /usr/bin/container\-shell +.in -2 +.in -2 +.fi +.sp +.sp +The container\-shell can then be allowed for specific SSH keys via +/var/lib/compute\-tools/container\-shell/.ssh/authorized_keys like so: +.nf + +.in +2 +command="/usr/bin/container\-shell",no\-port\-forwarding,no\-X11\-forwarding,\e +.in +2 +no\-agent\-forwarding,no\-pty ssh\-ed25519 [...] +.in -2 +.in -2 +.fi +.sp +.SS Restricted shell +.sp +The container\-shell by default grants any user that has access to it to use all available container commands. +.sp +Through two corresponding environment variables users can be allowed or disallowed to use specific container commands. +In connection with SSH this makes it possible to grant certain SSH keys (and by that, users) privileges to operate container +servers without having to give them root access, a login shell at all and prevents them from doing things they are not trusted to do. +.SS Example (blacklisting) +.sp +In order to allow all commands except for removing and stopping containers, the +following variable can be used: +.nf + +.in +2 +command="CONTAINER_COMMANDS_DISABLE=\(aqremove stop\(aq \e +.in +2 +/usr/bin/container\-shell",no\-port\-forwarding,no\-X11\-forwarding,\e +no\-agent\-forwarding,no\-pty ssh\-ed25519 [...] +.in -2 +.in -2 +.fi +.sp +.SS Example (whitelisting) +.sp +The other way around works too. To disallow all commands except for listing +containers and showing the compute\-tools version, the following variable can be +used: +.nf + +.in +2 +command="CONTAINER_COMMANDS_ENABLE=\(aqlist version\(aq \e +.in +2 +/usr/bin/container\-shell",no\-port\-forwarding,no\-X11\-forwarding,\e +no\-agent\-forwarding,no\-pty ssh\-ed25519 [...] +.in -2 +.in -2 +.fi +.sp +.SH COMMANDS +.sp +All container commands are available, see container(1). Additionally, the +following commands are specific to container\-shell: +.INDENT 0.0 +.TP +.B about: +Shows introduction (manpage). +.TP +.B help: +Shows available commands within the container\-shell. +.TP +.B help COMMAND: +Shows help (manpage) for a specific container command. +.TP +.B logout, exit: +Exits container\-shell. +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-start.1 b/share/man/container-start.1 new file mode 100644 index 0000000..95ffae3 --- /dev/null +++ b/share/man/container-start.1 @@ -0,0 +1,111 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-START 1 compute-tools "Open Infrastructure" +.SH NAME +container-start \- Start a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer start\fP [\(aqOPTIONS\(aq] +\fBcnt s\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer start\fP command starts a container. +.SH OPTIONS +.sp +The following \fBcontainer start\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will start all stopped container. +.TP +.B \-f, \-\-force\(aq: +Removing stray lock file if existing. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.UNINDENT +.SH EXAMPLES +.sp +Start example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container start \-n example.net +.UNINDENT +.UNINDENT +.sp +Start all container: +.INDENT 0.0 +.INDENT 3.5 +sudo container start \-n ALL +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-status.1 b/share/man/container-status.1 new file mode 100644 index 0000000..8a24bb0 --- /dev/null +++ b/share/man/container-status.1 @@ -0,0 +1,98 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-STATUS 1 compute-tools "Open Infrastructure" +.SH NAME +container-status \- Show container status +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer status\fP [\(aqOPTIONS\(aq] +\fBcnt st\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer status\fP command displays the status of a container. +.SH OPTIONS +.sp +The following \fBcontainer status\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.UNINDENT +.SH EXAMPLES +.sp +show status of example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container status \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-stop.1 b/share/man/container-stop.1 new file mode 100644 index 0000000..60554ab --- /dev/null +++ b/share/man/container-stop.1 @@ -0,0 +1,119 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-STOP 1 compute-tools "Open Infrastructure" +.SH NAME +container-stop \- Stop a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer stop\fP [\(aqOPTIONS\(aq] +\fBcnt t\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer stop\fP command stops a container by running the proper shutdown +sequence. +.SH OPTIONS +.sp +The following \fBcontainer stop\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will stop all started container. +.TP +.B \-f, \-\-force: +Instead of running the proper shutdown sequence, terminate all processes of the container imediatly. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.UNINDENT +.SH EXAMPLES +.sp +Shutdown example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container stop \-n example.net +.UNINDENT +.UNINDENT +.sp +Immediately stop example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container stop \-n example.net \-f +.UNINDENT +.UNINDENT +.sp +Stop all container: +.INDENT 0.0 +.INDENT 3.5 +sudo container stop \-n ALL +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-top.1 b/share/man/container-top.1 new file mode 100644 index 0000000..6ddcea8 --- /dev/null +++ b/share/man/container-top.1 @@ -0,0 +1,95 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-TOP 1 compute-tools "Open Infrastructure" +.SH NAME +container-top \- Dynamic list container on the system +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer top\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer top\fP command dynamically lists container on the system. +.SH OPTIONS +.sp +The following \fBcontainer top\fP options are available, defaults to \(aq\-\-delay 1\(aq: +.INDENT 0.0 +.TP +.B \-d, \-\-delay=\(aqSECONDS[.TENTHS]\(aq: +Specifies the delay between screen updates, defaults to \(aq1\(aq. +.UNINDENT +.SH EXAMPLES +.INDENT 0.0 +.TP +.B Dynamically list containers of the local system: +sudo container top +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-update.1 b/share/man/container-update.1 new file mode 100644 index 0000000..9934cc3 --- /dev/null +++ b/share/man/container-update.1 @@ -0,0 +1,138 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-UPDATE 1 compute-tools "Open Infrastructure" +.SH NAME +container-update \- Update the packages installed in a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer update\fP [\(aqOPTIONS\(aq] +\fBcnt u\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer update\fP command updates packages installed in a container. +.SH OPTIONS +.sp +The following \fBcontainer update\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will start all stopped container. +.TP +.B \-f, \-\-full\-upgrade: +Runs an additional \(aqapt full\-upgrade\(aq after \(aqapt upgrade\(aq. +.TP +.B \-i, \-\-interactive: +Prompt before every container update. +.TP +.B \-r, \-\-autoremove: +Runs an additional \(aqapt autoremove\(aq after \(aqapt upgrade\(aq. +.TP +.B \-p, \-\-purge: +Passing \(aq\-\-purge\(aq to \(aqapt autoremove\(aq. +.TP +.B \-y|\-\-yes: +Passing \(aqyes\(aq to all questions asked by the package manager. +.UNINDENT +.SH EXAMPLES +.sp +Update example.net container (apt update && apt upgrade): +.INDENT 0.0 +.INDENT 3.5 +sudo container update \-n example.net +.UNINDENT +.UNINDENT +.sp +Update example.net container without asking questions (apt update && apt \-\-yes +upgrade): +.INDENT 0.0 +.INDENT 3.5 +sudo container update \-n example.net \-y +.UNINDENT +.UNINDENT +.sp +Full update of example.net container without asking questions (apt update && +apt \-\-yes upgrade && apt \-\-yes full\-upgrade): +.INDENT 0.0 +.INDENT 3.5 +sudo container update \-n example.net \-f \-y +.UNINDENT +.UNINDENT +.sp +Full update of all container on the host, with asking questions and +purging unused packages (apt update && apt upgrade && apt full\-upgrade && apt +autoremove): +.INDENT 0.0 +.INDENT 3.5 +sudo container update \-n ALL \-f \-r \-p \-y +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-version.1 b/share/man/container-version.1 new file mode 100644 index 0000000..13e9e31 --- /dev/null +++ b/share/man/container-version.1 @@ -0,0 +1,92 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER-VERSION 1 compute-tools "Open Infrastructure" +.SH NAME +container-version \- Show container version +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer version\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer version\fP command shows the container version number. +.SH OPTIONS +.sp +The \fBcontainer version\fP command has no options. +.SH EXAMPLES +.sp +Show container version: +.INDENT 0.0 +.INDENT 3.5 +container version +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container.1 b/share/man/container.1 new file mode 100644 index 0000000..671f4d4 --- /dev/null +++ b/share/man/container.1 @@ -0,0 +1,185 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2022 Daniel Baumann +.\" +.\" SPDX-License-Identifier: GPL-3.0+ +.\" +.\" This program is free software: you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation, either version 3 of the License, or +.\" (at your option) any later version. +.\" +.\" This program is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this program. If not, see . +.\" +. +.TH CONTAINER 1 compute-tools "Open Infrastructure" +.SH NAME +container \- Manage systemd-nspawn containers +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer\fP \(aqCOMMAND\(aq [\(aqOPTIONS\(aq] +\fBcontainer\fP \(aqCOMMAND1\(aq,\(aqCOMMAND2\(aq,... \(aqCOMMANDn\(aq +.fi +.sp +.SH DESCRIPTION +.sp +compute\-tools provides the system integration for managing containers using +systemd\-nspawn. +.SH OPTIONS +.sp +The following \fBcontainer\fP common options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.UNINDENT +.SH COMMANDS +.sp +The following \fBcontainer\fP commands are available: +.INDENT 0.0 +.TP +.B build: +Build a new container, see container\-build(1). +.TP +.B start: +Start a container, see container\-start(1). +.TP +.B rebuild: +Rebuild a container, see container\-rebuild(1). +.TP +.B restart: +Restart a container, see container\-restart(1). +.TP +.B stop: +Stop a container, see container\-stop(1). +.TP +.B remove: +Remove a container, see container\-remove(1). +.TP +.B move: +Rename a container, see container\-move(1). +.TP +.B console: +Attach console to a container, see container\-console(1). +.TP +.B enter: +Enter a container namespace, see container\-enter(1). +.TP +.B run: +Execute commands in a container namespace, see container\-run(1). +.TP +.B info: +Show specific information of a container, see container\-info(1). +.TP +.B key: +Manage GnuPG keyring for container operations, see container\-key(1). +.TP +.B limit: +Limit resources of a container, see container\-limit(1). +.TP +.B list: +List container on the system, see container\-list(1). +.TP +.B log: +Show container log, see container\-log(1). +.TP +.B status: +Show container status, see container\-status(1). +.TP +.B top: +Dynamic list of container on the system, see container\-top(1). +.TP +.B update: +Update the packages installed in a container. +.TP +.B version: +Show container version, see container\-version(1). +.UNINDENT +.SH FILES +.sp +The following files are used: +.INDENT 0.0 +.TP +.B /etc/compute\-tools/container.conf, /etc/compute\-tools/container.conf.d/*.conf: +Container configuration files. +.TP +.B /usr/bin/container, /usr/bin/cnt: +Container program. +.TP +.B /usr/bin/container\-shell, /usr/bin/cntsh: +Container shell program. +.TP +.B /usr/libexec/container: +Container commands. +.TP +.B /usr/share/compute\-tools/: +Container shared data. +.TP +.B /usr/share/doc/compute\-tools: +Container documentation files. +.TP +.B /var/cache/container: +Container cache directory. +.TP +.B /var/lib/machines: +Container root directory. +.TP +.B /var/log/compute\-tools: +Container log files. +.UNINDENT +.SH SEE ALSO +.nf +machinectl(1), +systemd\-nspawn(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. -- cgit v1.2.3