diff --git a/man/machinectl.xml b/man/machinectl.xml index 91bdb5e111..19531866c7 100644 --- a/man/machinectl.xml +++ b/man/machinectl.xml @@ -291,10 +291,10 @@ name. systemd-nspawn looks for a container image by the specified name in - /var/lib/container - and runs it. Use - list-images (see - below), for listing available + /var/lib/machines/ + (and other search paths, see below) and runs + it. Use list-images + (see below), for listing available container images to start. Note that @@ -488,7 +488,7 @@ images. This enumerates all raw disk images and container directories and subvolumes in - /var/lib/container/. Use + /var/lib/machines/ (and other search paths, see below). Use start (see above) to run a container off one of the listed images. Note that by default @@ -595,6 +595,51 @@ + + Files and Directories + + Machine images are preferably stored in + /var/lib/machines/, but are also + searched for in + /usr/local/lib/machines/ and + /usr/lib/machines/. For + compatibility reasons the directory + /var/lib/container/ is searched, + too. Note that images stored below + /usr are always considered + read-only. It is possible to symlink machines images + from other directories into + /var/lib/machines/ to make them + available for control with + machinectl. + + Disk images are understood in three formats: + + + A simple directory tree, + containing the files and directories of the + container to boot. + + A subvolume (on btrfs file + systems), which are similar to the simple + directories, described above. However, they + have additional benefits, such as efficient + cloning and quota reporting. + + "Raw" disk images, i.e. binary + images of disks with a GPT or MBR partition + table. Images of this type are regular + files with the suffix + .raw. + + + See + systemd-nspawn1 + for more information on image formats, in particular + it's and + options. + + Exit status diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml index e67aeecb1a..0c6fb00289 100644 --- a/man/systemd-nspawn.xml +++ b/man/systemd-nspawn.xml @@ -171,7 +171,7 @@ , nor is specified the directory is determined as - /var/lib/container/ + /var/lib/machines/ suffixed by the machine name as specified with . If @@ -247,10 +247,13 @@ the root directory for the container from. Takes a path to a regular file or to a block device node. The file or - block device must contain a GUID - Partition Table with a root partition - which is mounted as the root directory - of the container. Optionally, it may + block device must contain either an + MBR partition table with a single + partition of type 0x83 that is marked + bootable, or a GUID partition table + with a root partition which is mounted + as the root directory of the + container. Optionally, GPT images may contain a home and/or a server data partition which are mounted to the appropriate places in the @@ -842,7 +845,7 @@ Enable Arch Linux container on boot - # mv ~/arch-tree /var/lib/container/arch + # mv ~/arch-tree /var/lib/machines/arch # systemctl enable systemd-nspawn@arch.service # systemctl start systemd-nspawn@arch.service diff --git a/src/import/import.c b/src/import/import.c index 669d7c152c..b4d859df1f 100644 --- a/src/import/import.c +++ b/src/import/import.c @@ -29,7 +29,7 @@ #include "import-dkr.h" static bool arg_force = false; -static const char *arg_image_root = "/var/lib/container"; +static const char *arg_image_root = "/var/lib/machines"; static const char* arg_dkr_index_url = DEFAULT_DKR_INDEX_URL; diff --git a/src/shared/machine-image.c b/src/shared/machine-image.c index a2f49e6e93..5112d24a8f 100644 --- a/src/shared/machine-image.c +++ b/src/shared/machine-image.c @@ -110,7 +110,7 @@ static int image_make( assert(filename); /* We explicitly *do* follow symlinks here, since we want to - * allow symlinking trees into /var/lib/container/, and treat + * allow symlinking trees into /var/lib/machines/, and treat * them normally. */ if (fstatat(dfd, filename, &st, 0) < 0) @@ -486,13 +486,13 @@ int image_clone(Image *i, const char *new_name, bool read_only) { case IMAGE_SUBVOLUME: case IMAGE_DIRECTORY: - new_path = strappenda("/var/lib/container/", new_name); + new_path = strappenda("/var/lib/machines/", new_name); r = btrfs_subvol_snapshot(i->path, new_path, read_only, true); break; case IMAGE_RAW: - new_path = strappenda("/var/lib/container/", new_name, ".raw"); + new_path = strappenda("/var/lib/machines/", new_name, ".raw"); r = copy_file_atomic(i->path, new_path, read_only ? 0444 : 0644, false, FS_NOCOW_FL); break; diff --git a/tmpfiles.d/var.conf b/tmpfiles.d/var.conf index d0c759e0fc..9b7644476b 100644 --- a/tmpfiles.d/var.conf +++ b/tmpfiles.d/var.conf @@ -18,6 +18,6 @@ f /var/log/btmp 0600 root utmp - d /var/cache 0755 - - - d /var/lib 0755 - - - -v /var/lib/container 0700 - - - +v /var/lib/machines 0700 - - - d /var/spool 0755 - - -