Skip to content

Instantly share code, notes, and snippets.

@StarterX4
Last active November 14, 2023 10:14
Show Gist options
  • Save StarterX4/6a23439ea0aa1e8373ae9e1e172f57ef to your computer and use it in GitHub Desktop.
Save StarterX4/6a23439ea0aa1e8373ae9e1e172f57ef to your computer and use it in GitHub Desktop.
OpenSUSe MicroOS
# For more information on this configuration file, see containers-registries.conf(5).
#
# NOTE: RISK OF USING UNQUALIFIED IMAGE NAMES
# We recommend always using fully qualified image names including the registry
# server (full dns name), namespace, image name, and tag
# (e.g., registry.opensuse.org/opensuse/tumbleweed:latest). Pulling by digest (i.e.,
# registry.opensuse.org/project/name@digest) further eliminates the ambiguity of tags.
# When using short names, there is always an inherent risk that the image being
# pulled could be spoofed. For example, a user wants to pull an image named
# `foobar` from a registry and expects it to come from myregistry.com. If
# myregistry.com is not first in the search list, an attacker could place a
# different `foobar` image at a registry earlier in the search list. The user
# would accidentally pull and run the attacker's image and code rather than the
# intended content. We recommend only adding registries which are completely
# trusted (i.e., registries which don't allow unknown or anonymous users to
# create accounts with arbitrary names). This will prevent an image from being
# spoofed, squatted or otherwise made insecure. If it is necessary to use one
# of these registries, it should be added at the end of the list.
#
# # An array of host[:port] registries to try when pulling an unqualified image, in order.
unqualified-search-registries = ["registry.opensuse.org", "registry.suse.com", "docker.io"]
#
# [[registry]]
# # The "prefix" field is used to choose the relevant [[registry]] TOML table;
# # (only) the TOML table with the longest match for the input image name
# # (taking into account namespace/repo/tag/digest separators) is used.
# #
# # The prefix can also be of the form: *.example.com for wildcard subdomain
# # matching.
# #
# # If the prefix field is missing, it defaults to be the same as the "location" field.
# prefix = "example.com/foo"
#
# # If true, unencrypted HTTP as well as TLS connections with untrusted
# # certificates are allowed.
# insecure = false
#
# # If true, pulling images with matching names is forbidden.
# blocked = false
#
# # The physical location of the "prefix"-rooted namespace.
# #
# # By default, this is equal to "prefix" (in which case "prefix" can be omitted
# # and the [[registry]] TOML table can only specify "location").
# #
# # Example: Given
# # prefix = "example.com/foo"
# # location = "internal-registry-for-example.net/bar"
# # requests for the image example.com/foo/myimage:latest will actually work with the
# # internal-registry-for-example.net/bar/myimage:latest image.
#
# # The location can be empty iff prefix is in a
# # wildcarded format: "*.example.com". In this case, the input reference will
# # be used as-is without any rewrite.
# location = internal-registry-for-example.com/bar"
#
# # (Possibly-partial) mirrors for the "prefix"-rooted namespace.
# #
# # The mirrors are attempted in the specified order; the first one that can be
# # contacted and contains the image will be used (and if none of the mirrors contains the image,
# # the primary location specified by the "registry.location" field, or using the unmodified
# # user-specified reference, is tried last).
# #
# # Each TOML table in the "mirror" array can contain the following fields, with the same semantics
# # as if specified in the [[registry]] TOML table directly:
# # - location
# # - insecure
# [[registry.mirror]]
# location = "example-mirror-0.local/mirror-for-foo"
# [[registry.mirror]]
# location = "example-mirror-1.local/mirrors/foo"
# insecure = true
# # Given the above, a pull of example.com/foo/image:latest will try:
# # 1. example-mirror-0.local/mirror-for-foo/image:latest
# # 2. example-mirror-1.local/mirrors/foo/image:latest
# # 3. internal-registry-for-example.net/bar/image:latest
# # in order, and use the first one that exists.
[aliases]
# almalinux
"almalinux" = "docker.io/library/almalinux"
"almalinux-minimal" = "docker.io/library/almalinux-minimal"
# Arch Linux
"archlinux" = "docker.io/library/archlinux"
# centos
"centos" = "quay.io/centos/centos"
# containers
"skopeo" = "quay.io/skopeo/stable"
"buildah" = "quay.io/buildah/stable"
"podman" = "quay.io/podman/stable"
"hello" = "quay.io/podman/hello"
"hello-world" = "quay.io/podman/hello"
# docker
"alpine" = "docker.io/library/alpine"
"docker" = "docker.io/library/docker"
"registry" = "docker.io/library/registry"
"swarm" = "docker.io/library/swarm"
# Fedora
"fedora-minimal" = "registry.fedoraproject.org/fedora-minimal"
"fedora" = "registry.fedoraproject.org/fedora"
# openSUSE
"opensuse/tumbleweed" = "registry.opensuse.org/opensuse/tumbleweed"
"opensuse/tumbleweed-dnf" = "registry.opensuse.org/opensuse/tumbleweed-dnf"
"opensuse/tumbleweed-microdnf" = "registry.opensuse.org/opensuse/tumbleweed-microdnf"
"opensuse/leap" = "registry.opensuse.org/opensuse/leap"
"opensuse/busybox" = "registry.opensuse.org/opensuse/busybox"
"tumbleweed" = "registry.opensuse.org/opensuse/tumbleweed"
"tumbleweed-dnf" = "registry.opensuse.org/opensuse/tumbleweed-dnf"
"tumbleweed-microdnf" = "registry.opensuse.org/opensuse/tumbleweed-microdnf"
"leap" = "registry.opensuse.org/opensuse/leap"
"leap-dnf" = "registry.opensuse.org/opensuse/leap-dnf"
"leap-microdnf" = "registry.opensuse.org/opensuse/leap-microdnf"
"tw-busybox" = "registry.opensuse.org/opensuse/busybox"
# SUSE
"suse/sle15" = "registry.suse.com/suse/sle15"
"suse/sles12sp5" = "registry.suse.com/suse/sles12sp5"
"suse/sles12sp4" = "registry.suse.com/suse/sles12sp4"
"suse/sles12sp3" = "registry.suse.com/suse/sles12sp3"
"sle15" = "registry.suse.com/suse/sle15"
"sles12sp5" = "registry.suse.com/suse/sles12sp5"
"sles12sp4" = "registry.suse.com/suse/sles12sp4"
"sles12sp3" = "registry.suse.com/suse/sles12sp3"
"bci/bci-base" = "registry.suse.com/bci/bci-base"
"bci/bci-micro" = "registry.suse.com/bci/bci-micro"
"bci/bci-minimal" = "registry.suse.com/bci/bci-minimal"
"bci/bci-busybox" = "registry.suse.com/bci/bci-busybox"
# Red Hat Enterprise Linux
"rhel" = "registry.access.redhat.com/rhel"
"rhel6" = "registry.access.redhat.com/rhel6"
"rhel7" = "registry.access.redhat.com/rhel7"
"rhel7.9" = "registry.access.redhat.com/rhel7.9"
"rhel-atomic" = "registry.access.redhat.com/rhel-atomic"
"rhel-minimal" = "registry.access.redhat.com/rhel-minimum"
"rhel-init" = "registry.access.redhat.com/rhel-init"
"rhel7-atomic" = "registry.access.redhat.com/rhel7-atomic"
"rhel7-minimal" = "registry.access.redhat.com/rhel7-minimum"
"rhel7-init" = "registry.access.redhat.com/rhel7-init"
"rhel7/rhel" = "registry.access.redhat.com/rhel7/rhel"
"rhel7/rhel-atomic" = "registry.access.redhat.com/rhel7/rhel7/rhel-atomic"
"ubi7/ubi" = "registry.access.redhat.com/ubi7/ubi"
"ubi7/ubi-minimal" = "registry.access.redhat.com/ubi7-minimal"
"ubi7/ubi-init" = "registry.access.redhat.com/ubi7-init"
"ubi7" = "registry.access.redhat.com/ubi7"
"ubi7-init" = "registry.access.redhat.com/ubi7-init"
"ubi7-minimal" = "registry.access.redhat.com/ubi7-minimal"
"rhel8" = "registry.access.redhat.com/ubi8"
"rhel8-init" = "registry.access.redhat.com/ubi8-init"
"rhel8-minimal" = "registry.access.redhat.com/ubi8-minimal"
"rhel8-micro" = "registry.access.redhat.com/ubi8-micro"
"ubi8" = "registry.access.redhat.com/ubi8"
"ubi8-minimal" = "registry.access.redhat.com/ubi8-minimal"
"ubi8-init" = "registry.access.redhat.com/ubi8-init"
"ubi8-micro" = "registry.access.redhat.com/ubi8-micro"
"ubi8/ubi" = "registry.access.redhat.com/ubi8/ubi"
"ubi8/ubi-minimal" = "registry.access.redhat.com/ubi8-minimal"
"ubi8/ubi-init" = "registry.access.redhat.com/ubi8-init"
"ubi8/ubi-micro" = "registry.access.redhat.com/ubi8-micro"
"ubi8/podman" = "registry.access.redhat.com/ubi8/podman"
"ubi8/buildah" = "registry.access.redhat.com/ubi8/buildah"
"ubi8/skopeo" = "registry.access.redhat.com/ubi8/skopeo"
"rhel9" = "registry.access.redhat.com/ubi9"
"rhel9-init" = "registry.access.redhat.com/ubi9-init"
"rhel9-minimal" = "registry.access.redhat.com/ubi9-minimal"
"rhel9-micro" = "registry.access.redhat.com/ubi9-micro"
"ubi9" = "registry.access.redhat.com/ubi9"
"ubi9-minimal" = "registry.access.redhat.com/ubi9-minimal"
"ubi9-init" = "registry.access.redhat.com/ubi9-init"
"ubi9-micro" = "registry.access.redhat.com/ubi9-micro"
"ubi9/ubi" = "registry.access.redhat.com/ubi9/ubi"
"ubi9/ubi-minimal" = "registry.access.redhat.com/ubi9-minimal"
"ubi9/ubi-init" = "registry.access.redhat.com/ubi9-init"
"ubi9/ubi-micro" = "registry.access.redhat.com/ubi9-micro"
"ubi9/podman" = "registry.access.redhat.com/ubi9/podman"
"ubi9/buildah" = "registry.access.redhat.com/ubi9/buildah"
"ubi9/skopeo" = "registry.access.redhat.com/ubi9/skopeo"
# Rocky Linux
"rockylinux" = "docker.io/library/rockylinux"
# Debian
"debian" = "docker.io/library/debian"
# Kali Linux
"kali-bleeding-edge" = "docker.io/kalilinux/kali-bleeding-edge"
"kali-dev" = "docker.io/kalilinux/kali-dev"
"kali-experimental" = "docker.io/kalilinux/kali-experimental"
"kali-last-release" = "docker.io/kalilinux/kali-last-release"
"kali-rolling" = "docker.io/kalilinux/kali-rolling"
# Ubuntu
"ubuntu" = "docker.io/library/ubuntu"
# Oracle Linux
"oraclelinux" = "container-registry.oracle.com/os/oraclelinux"
# busybox
"busybox" = "docker.io/library/busybox"
# php
"php" = "docker.io/library/php"
# python
"python" = "docker.io/library/python"
# rust
"rust" = "docker.io/library/rust"
# node
"node" = "docker.io/library/node"
# This is a default registries.d configuration file. You may
# add to this file or create additional files in registries.d/.
#
# sigstore: indicates a location that is read and write
# sigstore-staging: indicates a location that is only for write
#
# sigstore and sigstore-staging take a value of the following:
# sigstore: {schema}://location
#
# For reading signatures, schema may be http, https, or file.
# For writing signatures, schema may only be file.
# This is the default signature write location for docker registries.
default-docker:
# sigstore: file:///var/lib/containers/sigstore
sigstore-staging: file:///var/lib/containers/sigstore
# The 'docker' indicator here is the start of the configuration
# for docker registries.
#
# docker:
#
# privateregistry.com:
# sigstore: http://privateregistry.com/sigstore/
# sigstore-staging: /mnt/nfs/privateregistry/sigstore
docker:
registry.suse.com:
use-sigstore-attachments: true
registry.suse.de:
use-sigstore-attachments: true
# This file is the configuration file for all tools
# that use the containers/storage library. The storage.conf file
# overrides all other storage.conf files. Container engines using the
# container/storage library do not inherit fields from other storage.conf
# files.
#
# Note: The storage.conf file overrides other storage.conf files based on this precedence:
# /usr/containers/storage.conf
# /etc/containers/storage.conf
# $HOME/.config/containers/storage.conf
# $XDG_CONFIG_HOME/containers/storage.conf (If XDG_CONFIG_HOME is set)
# See man 5 containers-storage.conf for more information
# The "container storage" table contains all of the server options.
[storage]
# Default Storage Driver, Must be set for proper operation.
driver = "overlay"
# Temporary storage location
runroot = "/run/containers/storage"
# Priority list for the storage drivers that will be tested one
# after the other to pick the storage driver if it is not defined.
# driver_priority = ["btrfs", "overlay"]
# Primary Read/Write location of container storage
# When changing the graphroot location on an SELINUX system, you must
# ensure the labeling matches the default locations labels with the
# following commands:
# semanage fcontext -a -e /var/lib/containers/storage /NEWSTORAGEPATH
# restorecon -R -v /NEWSTORAGEPATH
graphroot = "/var/lib/containers/storage"
# Storage path for rootless users
#
# rootless_storage_path = "$HOME/.local/share/containers/storage"
# Transient store mode makes all container metadata be saved in temporary storage
# (i.e. runroot above). This is faster, but doesn't persist across reboots.
# transient_store = true
[storage.options]
# Storage options to be passed to underlying storage drivers
# AdditionalImageStores is used to pass paths to additional Read/Only image stores
# Must be comma separated list.
additionalimagestores = [
]
# Allows specification of how storage is populated when pulling images. This
# option can speed the pulling process of images compressed with format
# zstd:chunked. Containers/storage looks for files within images that are being
# pulled from a container registry that were previously pulled to the host. It
# can copy or create a hard link to the existing file when it finds them,
# eliminating the need to pull them from the container registry. These options
# can deduplicate pulling of content, disk storage of content and can allow the
# kernel to use less memory when running containers.
# containers/storage supports four keys
# * enable_partial_images="true" | "false"
# Tells containers/storage to look for files previously pulled in storage
# rather then always pulling them from the container registry.
# * use_hard_links = "false" | "true"
# Tells containers/storage to use hard links rather then create new files in
# the image, if an identical file already existed in storage.
# * ostree_repos = ""
# Tells containers/storage where an ostree repository exists that might have
# previously pulled content which can be used when attempting to avoid
# pulling content from the container registry
pull_options = {enable_partial_images = "false", use_hard_links = "false", ostree_repos=""}
# Remap-UIDs/GIDs is the mapping from UIDs/GIDs as they should appear inside of
# a container, to the UIDs/GIDs as they should appear outside of the container,
# and the length of the range of UIDs/GIDs. Additional mapped sets can be
# listed and will be heeded by libraries, but there are limits to the number of
# mappings which the kernel will allow when you later attempt to run a
# container.
#
# remap-uids = 0:1668442479:65536
# remap-gids = 0:1668442479:65536
# Remap-User/Group is a user name which can be used to look up one or more UID/GID
# ranges in the /etc/subuid or /etc/subgid file. Mappings are set up starting
# with an in-container ID of 0 and then a host-level ID taken from the lowest
# range that matches the specified name, and using the length of that range.
# Additional ranges are then assigned, using the ranges which specify the
# lowest host-level IDs first, to the lowest not-yet-mapped in-container ID,
# until all of the entries have been used for maps.
#
# remap-user = "containers"
# remap-group = "containers"
# Root-auto-userns-user is a user name which can be used to look up one or more UID/GID
# ranges in the /etc/subuid and /etc/subgid file. These ranges will be partitioned
# to containers configured to create automatically a user namespace. Containers
# configured to automatically create a user namespace can still overlap with containers
# having an explicit mapping set.
# This setting is ignored when running as rootless.
# root-auto-userns-user = "storage"
#
# Auto-userns-min-size is the minimum size for a user namespace created automatically.
# auto-userns-min-size=1024
#
# Auto-userns-max-size is the minimum size for a user namespace created automatically.
# auto-userns-max-size=65536
[storage.options.overlay]
# ignore_chown_errors can be set to allow a non privileged user running with
# a single UID within a user namespace to run containers. The user can pull
# and use any image even those with multiple uids. Note multiple UIDs will be
# squashed down to the default uid in the container. These images will have no
# separation between the users in the container. Only supported for the overlay
# and vfs drivers.
#ignore_chown_errors = "false"
# Inodes is used to set a maximum inodes of the container image.
# inodes = ""
# Path to an helper program to use for mounting the file system instead of mounting it
# directly.
#mount_program = "/usr/bin/fuse-overlayfs"
# mountopt specifies comma separated list of extra mount options
mountopt = "nodev,metacopy=on"
# Set to skip a PRIVATE bind mount on the storage home directory.
# skip_mount_home = "false"
# Size is used to set a maximum size of the container image.
# size = ""
# ForceMask specifies the permissions mask that is used for new files and
# directories.
#
# The values "shared" and "private" are accepted.
# Octal permission masks are also accepted.
#
# "": No value specified.
# All files/directories, get set with the permissions identified within the
# image.
# "private": it is equivalent to 0700.
# All files/directories get set with 0700 permissions. The owner has rwx
# access to the files. No other users on the system can access the files.
# This setting could be used with networked based homedirs.
# "shared": it is equivalent to 0755.
# The owner has rwx access to the files and everyone else can read, access
# and execute them. This setting is useful for sharing containers storage
# with other users. For instance have a storage owned by root but shared
# to rootless users as an additional store.
# NOTE: All files within the image are made readable and executable by any
# user on the system. Even /etc/shadow within your image is now readable by
# any user.
#
# OCTAL: Users can experiment with other OCTAL Permissions.
#
# Note: The force_mask Flag is an experimental feature, it could change in the
# future. When "force_mask" is set the original permission mask is stored in
# the "user.containers.override_stat" xattr and the "mount_program" option must
# be specified. Mount programs like "/usr/bin/fuse-overlayfs" present the
# extended attribute permissions to processes within containers rather then the
# "force_mask" permissions.
#
# force_mask = ""
[storage.options.thinpool]
# Storage Options for thinpool
# autoextend_percent determines the amount by which pool needs to be
# grown. This is specified in terms of % of pool size. So a value of 20 means
# that when threshold is hit, pool will be grown by 20% of existing
# pool size.
# autoextend_percent = "20"
# autoextend_threshold determines the pool extension threshold in terms
# of percentage of pool size. For example, if threshold is 60, that means when
# pool is 60% full, threshold has been hit.
# autoextend_threshold = "80"
# basesize specifies the size to use when creating the base device, which
# limits the size of images and containers.
# basesize = "10G"
# blocksize specifies a custom blocksize to use for the thin pool.
# blocksize="64k"
# directlvm_device specifies a custom block storage device to use for the
# thin pool. Required if you setup devicemapper.
# directlvm_device = ""
# directlvm_device_force wipes device even if device already has a filesystem.
# directlvm_device_force = "True"
# fs specifies the filesystem type to use for the base device.
# fs="xfs"
# log_level sets the log level of devicemapper.
# 0: LogLevelSuppress 0 (Default)
# 2: LogLevelFatal
# 3: LogLevelErr
# 4: LogLevelWarn
# 5: LogLevelNotice
# 6: LogLevelInfo
# 7: LogLevelDebug
# log_level = "7"
# min_free_space specifies the min free space percent in a thin pool require for
# new device creation to succeed. Valid values are from 0% - 99%.
# Value 0% disables
# min_free_space = "10%"
# mkfsarg specifies extra mkfs arguments to be used when creating the base
# device.
# mkfsarg = ""
# metadata_size is used to set the `pvcreate --metadatasize` options when
# creating thin devices. Default is 128k
# metadata_size = ""
# Size is used to set a maximum size of the container image.
# size = ""
# use_deferred_removal marks devicemapper block device for deferred removal.
# If the thinpool is in use when the driver attempts to remove it, the driver
# tells the kernel to remove it as soon as possible. Note this does not free
# up the disk space, use deferred deletion to fully remove the thinpool.
# use_deferred_removal = "True"
# use_deferred_deletion marks thinpool device for deferred deletion.
# If the device is busy when the driver attempts to delete it, the driver
# will attempt to delete device every 30 seconds until successful.
# If the program using the driver exits, the driver will continue attempting
# to cleanup the next time the driver is used. Deferred deletion permanently
# deletes the device and all data stored in device will be lost.
# use_deferred_deletion = "True"
# xfs_nospace_max_retries specifies the maximum number of retries XFS should
# attempt to complete IO when ENOSPC (no space) error is returned by
# underlying storage device.
# xfs_nospace_max_retries = "0"
UUID=fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e / btrfs ro 0 0
UUID=fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e /var btrfs subvol=/@/var,x-initrd.mount 0 0
UUID=fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e /usr/local btrfs subvol=/@/usr/local 0 0
UUID=fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e /srv btrfs subvol=/@/srv 0 0
UUID=fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e /root btrfs subvol=/@/root,x-initrd.mount 0 0
UUID=fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e /opt btrfs subvol=/@/opt 0 0
UUID=fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e /home btrfs subvol=/@/home 0 0
UUID=fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e /boot/writable btrfs subvol=/@/boot/writable 0 0
UUID=fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e /boot/grub2/x86_64-efi btrfs subvol=/@/boot/grub2/x86_64-efi 0 0
UUID=fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e /boot/grub2/i386-pc btrfs subvol=/@/boot/grub2/i386-pc 0 0
UUID=fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e /.snapshots btrfs subvol=/@/.snapshots 0 0
UUID=0AB7-599D /boot/efi vfat utf8 0 2
overlay /etc overlay defaults,lowerdir=/sysroot/etc,upperdir=/sysroot/var/lib/overlay/1/etc,workdir=/sysroot/var/lib/overlay/work-etc,x-systemd.requires-mounts-for=/var,x-systemd.requires-mounts-for=/sysroot/var,x-initrd.mount 0 0
# /etc/profile for SUSE Linux
#
# PLEASE DO NOT CHANGE /etc/profile. There are chances that your changes
# will be lost during system upgrades. Instead use /etc/profile.local for
# your local settings, favourite global aliases, VISUAL and EDITOR
# variables, etc ...
#
# Check which shell is reading this file
#
norc=false
restricted=false
if test -f /proc/mounts ; then
if ! is=$(readlink /proc/$$/exe 2>/dev/null) ; then
case "$0" in
*pcksh) is=ksh ;;
*bash) is=bash ;;
*) is=sh ;;
esac
fi
case "$is" in
*/bash) is=bash
while read -r -d $'\0' a ; do
case "$a" in
--norc)
readonly norc=true ;;
--restricted)
readonly restricted=true ;;
esac
done < /proc/$$/cmdline
case "$0" in
sh|-sh|*/sh)
is=sh ;;
esac ;;
*/ash) is=ash ;;
*/dash) is=ash ;;
*/ksh) is=ksh ;;
*/ksh93) is=ksh ;;
*/pdksh) is=ksh ;;
*/mksh) is=ksh ;;
*/lksh) is=ksh ;;
*/*pcksh) is=ksh ;;
*/zsh) is=zsh ;;
*/*) is=sh ;;
esac
#
# `r' in $- occurs *after* system files are parsed
#
for a in $SHELL ; do
case "$a" in
*/rootsh) ;;
*/r*sh)
readonly restricted=true ;;
-r*|-[!-]r*|-[!-][!-]r*)
readonly restricted=true ;;
--restricted)
readonly restricted=true ;;
esac
done
unset a
else
is=sh
fi
#
# Call common progams from /bin or /usr/bin only
#
_path ()
{
command -p ${1+"$@"}
}
#
# Initialize terminal
#
tty=`_path tty 2> /dev/null`
test $? -ne 0 && tty=""
if test -O "$tty" -a -n "$PS1"; then
test -z "${TERM}" && { TERM=linux; export TERM; }
test "${TERM}" = "unknown" && { TERM=linux; export TERM; }
test "${TERM}" = "ibm327x" && { TERM=dumb; export TERM; }
if test "$(uname -m)" = "s390x" ; then
if test "$tty" = "/dev/sclp_line0" -o "$tty" = "/dev/ttyS0" ; then
test "${TERM}" = "vt220" && { TERM=dumb; export TERM; }
fi
fi
case "$TERM" in
screen.*)
test -e /usr/share/terminfo/s/${TERM} || { TERM=screen; export TERM; } ;;
esac
# Do not change settings on local line if connected to remote
if test -z "$SSH_TTY" -a "${TERM}" != "dumb" ; then
_path stty sane cr0 pass8 dec
_path tset -I -Q
fi
fi
unset TERMCAP
#
# Time until a complete key sequence must have arrived
#
#ESCDELAY=2000
#export ESCDELAY
#
# The user file-creation mask
#
# The global umask value is stored in /etc/login.defs and
# will be set by pam_umask.so (see "man pam_umask").
#umask 022
#
# Setup for gzip and (t)csh users
#
if test -z "$PROFILEREAD" ; then
# GZIP=-9
# export GZIP
CSHEDIT=emacs
export CSHEDIT
fi
#
# ksh/ash sometimes do not know
#
test -z "$UID" && readonly UID=`_path id -ur 2> /dev/null`
test -z "$EUID" && readonly EUID=`_path id -u 2> /dev/null`
test -z "$USER" && USER=`_path id -un 2> /dev/null`
test -z "$MAIL" && MAIL=/var/mail/$USER
if test -x /usr/bin/uname ; then
test -z "$HOST" && HOST=`/usr/bin/uname -n`
test "$HOST" = "localhost" && HOST=`/usr/bin/uname -n`
test -z "$CPU" && CPU=`/usr/bin/uname -p`
fi
# Remark: /proc/sys/kernel/domainname and the program domainname
# its self will provide the NIS/YP domainname, see domainname(8).
if test -s /etc/HOSTNAME ; then
test -z "$HOSTNAME" && HOSTNAME=`cat /etc/HOSTNAME`
fi
test -z "$LOGNAME" && LOGNAME=$USER
: ${HOSTNAME:=${HOST}}
: ${HOSTTYPE:=${CPU}}
: ${OSTYPE:=linux}
: ${VENDOR:=suse}
: ${MACHTYPE:=${HOSTTYPE}-${VENDOR}-${OSTYPE}}
# Do NOT export UID, EUID, USER, and LOGNAME
export MAIL HOST CPU HOSTNAME HOSTTYPE OSTYPE VENDOR MACHTYPE
#
# You may use /etc/initscript, /etc/profile.local or the
# ulimit package instead to set up ulimits and your PATH.
#
# if test "$is" != "ash" -a ! -r /etc/initscript; then
# ulimit -Sc 0 # don't create core files
# ulimit -Sd $(ulimit -Hd)
# ulimit -Ss $(ulimit -Hs)
# ulimit -Sm $(ulimit -Hm)
# fi
#
# Make path more comfortable
#
# save current path setting, we might want to restore it
ORIG_PATH=$PATH
#
if test -z "$PROFILEREAD" ; then
PATH=/usr/local/bin:/usr/bin:/bin
if test "$HOME" != "/" ; then
for dir in $HOME/bin/$CPU $HOME/bin $HOME/.local/bin/$CPU $HOME/.local/bin ; do
test -d $dir && PATH=$dir:$PATH
done
fi
if test "$UID" = 0 ; then
test -d /opt/kde3/sbin && PATH=/opt/kde3/sbin:$PATH
PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH
fi
for dir in /usr/X11/bin \
/usr/X11R6/bin \
/var/lib/dosemu \
/usr/games \
/opt/bin \
/opt/kde3/bin \
/opt/kde2/bin \
/opt/kde/bin \
/usr/openwin/bin \
/opt/cross/bin
do
test -d $dir && PATH=$PATH:$dir
done
unset dir
export PATH
fi
#
# Most bourn shell clones knows about this
#
if test -z "$PROFILEREAD" ; then
HISTSIZE=1000
export HISTSIZE
fi
#
# Set some environment variables for TeX/LaTeX (Not used due luatex)
#
#if test -n "$TEXINPUTS" ; then
# TEXINPUTS=":$TEXINPUTS:$HOME/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX"
#else
# TEXINPUTS=":$HOME/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX"
#fi
#export TEXINPUTS
#
# Configure the default pager on SUSE Linux
#
if test -z "$LESS" -a -x /usr/bin/less ; then
LESS="-M -I -R"
LESSOPEN="lessopen.sh %s"
LESSCLOSE="lessclose.sh %s %s"
LESS_ADVANCED_PREPROCESSOR="no"
if test -s /etc/lesskey.bin ; then
LESSKEY=/etc/lesskey.bin
elif test -s /usr/etc/lesskey.bin ; then
LESSKEY=/usr/etc/lesskey.bin
fi
PAGER=less
MORE=-sl
export LESSOPEN LESSCLOSE LESS LESSKEY PAGER LESS_ADVANCED_PREPROCESSOR MORE
fi
#
# Minicom
#
if test -z "$PROFILEREAD" ; then
MINICOM="-c on"
export MINICOM
fi
#
# Some applications do not handle the XAPPLRESDIR environment properly,
# when it contains more than one directory. More than one directory only
# makes sense if you have a client with /usr mounted via nfs and you want
# to configure applications machine dependent. Uncomment the lines below
# if you want this.
#
#XAPPLRESDIR="$XAPPLRESDIR:/var/X11R6/app-defaults:/usr/X11R6/lib/X11/app-defaults"
#export XAPPLRESDIR
#
# These settings are recommended for old motif applications
#
if test -z "$PROFILEREAD" ; then
if [ -r /usr/share/X11/XKeysymDB ]; then
export XKEYSYMDB=/usr/share/X11/XKeysymDB
else
export XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB
fi
if [ -d /usr/share/X11/nls ]; then
export XNLSPATH=/usr/share/X11/nls
else
export XNLSPATH=/usr/X11R6/lib/X11/nls
fi
fi
#
# For RCS
#
#VERSION_CONTROL=numbered
#export VERSION_CONTROL
#
# Source profile extensions for certain packages, the super
# may disable some of them by setting the sticky bit.
#
if test \( -d /etc/profile.d -o -d /usr/etc/profile.d \) -a -z "$PROFILEREAD" ; then
for s in /usr/etc/profile.d/*.sh ; do
test -e "/etc/profile.d/${s##*/}" && continue
test -r "$s" -a ! -k "$s" && . "$s"
done
for s in /etc/profile.d/*.sh ; do
test -r "$s" -a ! -k "$s" && . "$s"
done
unset s
fi
if test "$is" != "ash" ; then
#
# And now let's see if there is a local profile
# (for options defined by your sysadmin, not SUSE Linux)
#
test -s /etc/profile.local && . /etc/profile.local
fi
#
# Avoid overwriting user settings if called twice
#
if test -z "$PROFILEREAD" ; then
readonly PROFILEREAD=true
export PROFILEREAD
fi
#
# Standard ssh command does not do an login, therefore
# /etc/profile will be sourced by /etc/bash.bashrc
#
if test -z "$_SOURCED_FOR_SSH" -a "$norc" != true ; then
#
# System BASH specials, maybe also good for other shells
# Note that ksh always reads /etc/ksh.kshrc
#
if test "$is" != ksh -a "$is" != zsh ; then
_is_save=$is
test -r /etc/bash.bashrc && . /etc/bash.bashrc
is=$_is_save
unset _is_save
fi
if test "$restricted" = true ; then
readonly _HOMEBASHRC=true
fi
if test "$is" = "bash" -a -z "$_HOMEBASHRC" ; then
# loop detection
readonly _HOMEBASHRC=true
test -r $HOME/.bashrc && . $HOME/.bashrc
fi
#
# KSH specials
#
if test "$is" = "ksh" -a -r /etc/ksh.kshrc ; then
if test "$restricted" = true ; then
readonly _HOMEKSHRC=true
fi
if test ! /etc/bash.bashrc -ef /etc/ksh.kshrc ; then
test -r /etc/bash.bashrc && . /etc/bash.bashrc
fi
if test -n "$ENV" -a "$ENV" != "\$HOME/.kshrc" -a "$ENV" != "$HOME/.kshrc" -a -z "$_HOMEKSHRC" ; then
# loop detection
readonly _HOMEKSHRC=true
test -r $HOME/.kshrc && . $HOME/.kshrc
fi
fi
fi
if test "$restricted" = true ; then
PATH=/usr/lib/restricted/bin
export PATH
fi
#
# An X session
#
case "$-" in
*i*)
if test "$TERM" = "xterm" -a -O "$tty" -a -z "${SSH_TTY}" ; then
echo "Directory: $PWD"
# Last but not least
date
fi ;;
esac
unset ORIG_PATH
unset is
#
# End of /etc/profile
#
<?xml version="1.0"?>
<productDefines xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
<!--
Work around for the text domain
textdomain="control"
-->
<textdomain>control</textdomain>
<globals>
<additional_kernel_parameters>swapaccount=1</additional_kernel_parameters>
<enable_autologin config:type="boolean">false</enable_autologin>
<enable_firewall config:type="boolean">false</enable_firewall>
<firewall_enable_ssh config:type="boolean">false</firewall_enable_ssh>
<enable_sshd config:type="boolean">true</enable_sshd>
<timezone>UTC</timezone>
<readonly_timezone config:type="boolean">false</readonly_timezone>
<readonly_language config:type="boolean">true</readonly_language>
<!-- FATE #303875, see /etc/sysconfig/network/dhcp:WRITE_HOSTNAME_TO_HOSTS -->
<write_hostname_to_hosts config:type="boolean">false</write_hostname_to_hosts>
<!-- bnc#870896, see /etc/sysconfig/network/dhcp:DHCLIENT_SET_HOSTNAME -->
<dhclient_set_hostname config:type="boolean">true</dhclient_set_hostname>
<!-- FATE #307555, see /etc/sysconfig/boot:RUN_PARALLEL -->
<run_init_scripts_in_parallel config:type="boolean">false</run_init_scripts_in_parallel>
<incomplete_translation_treshold>95</incomplete_translation_treshold>
<inform_about_suboptimal_distribution config:type="boolean">true</inform_about_suboptimal_distribution>
<skip_language_dialog config:type="boolean">true</skip_language_dialog>
<ui_mode>expert</ui_mode>
<displaymanager_shutdown>root</displaymanager_shutdown>
<enable_clone config:type="boolean">false</enable_clone>
<enable_register_hwdata config:type="boolean">true</enable_register_hwdata>
<enable_register_optional config:type="boolean">true</enable_register_optional>
<enable_systemd_boot config:type="boolean">true</enable_systemd_boot>
<display_register_forcereg config:type="boolean">true</display_register_forcereg>
<disable_register_w3m config:type="boolean">false</disable_register_w3m>
<disable_os_prober config:type="boolean">true</disable_os_prober>
<register_monthly config:type="boolean">true</register_monthly>
<manual_online_update config:type="boolean">true</manual_online_update>
<root_password_ca_check config:type="boolean">true</root_password_ca_check>
<!-- Guide user to drivers.suse.com if HW was not found (FATE#312875)-->
<show_drivers_info config:type="boolean">true</show_drivers_info>
<!-- Offer add-ons in the installation -->
<show_addons config:type="boolean">true</show_addons>
<addons_default config:type="boolean">false</addons_default>
<!-- #1180699: Use openSUSE default NTP servers instead of SUSE ones -->
<default_ntp_servers config:type="list">
<ntp_server>0.opensuse.pool.ntp.org</ntp_server>
<ntp_server>1.opensuse.pool.ntp.org</ntp_server>
<ntp_server>2.opensuse.pool.ntp.org</ntp_server>
<ntp_server>3.opensuse.pool.ntp.org</ntp_server>
</default_ntp_servers>
<!-- FATE #301937, Save /root content from the installation system to the installed system -->
<save_instsys_content config:type="list">
<save_instsys_item>
<instsys_directory>/root/</instsys_directory>
<system_directory>/root/inst-sys/</system_directory>
</save_instsys_item>
</save_instsys_content>
<!-- FATE: #304865: Enhance YaST Modules to cooperate better handling the product licenses -->
<base_product_license_directory>/usr/share/licenses/product/base/</base_product_license_directory>
<!-- #303798: YaST2 runlevel editor: offer easy enablement and configuration of runlevel 4 -->
<rle_offer_rulevel_4 config:type="boolean">true</rle_offer_rulevel_4>
<!-- FATE: #303893: Default to enabled kdump -->
<enable_kdump config:type="boolean">true</enable_kdump>
<!-- use *.opensuse.pool.ntp.org fallback when an NTP server is not set in the DHCP response -->
<default_ntp_setup config:type="boolean">true</default_ntp_setup>
<!-- bnc #431158: Adjusts /etc/sysconfig/security/POLKIT_DEFAULT_PRIVS if set -->
<polkit_default_privs>restrictive</polkit_default_privs>
<!-- Use SELinux in enforcing mode by default -->
<lsm>
<select>selinux</select>
<apparmor>
<selectable config:type="boolean">false</selectable>
</apparmor>
<selinux>
<!-- Set SELinux enforcing mode by default -->
<mode>enforcing</mode>
<configurable config:type="boolean">true</configurable>
<selectable config:type="boolean">true</selectable>
<patterns>microos_selinux</patterns>
</selinux>
<configurable config:type="boolean">true</configurable>
</lsm>
</globals>
<software>
<!-- By default, unmaintained (old) packages are removed -->
<delete_old_packages config:type="boolean">true</delete_old_packages>
<selection_type config:type="symbol">auto</selection_type>
<default_patterns>microos_base microos_base_zypper microos_defaults microos_hardware</default_patterns>
<!-- bnc#876760: Explicitly selecting these (optional) patterns by default if they exist -->
<optional_default_patterns>32bit</optional_default_patterns>
<!-- BNC #435479: Show support status in package details -->
<display_support_status config:type="boolean">true</display_support_status>
<!-- AutoYaST clone will be called in the installed system. Unfortunately there is no information about handling recommended
packages while first installation. This setting will be taken for install_recommended in the software section
of AY configuration file (Fate#321764). Default is "true" -->
<clone_install_recommended_default config:type="boolean">false</clone_install_recommended_default>
<!-- Try to install as few packages as possible: only required ones, no
documentation and no multiversion (FATE#321764) -->
<minimalistic_libzypp_config config:type="boolean">true</minimalistic_libzypp_config>
<!-- boo#1124590 - Ensure correct product is selected -->
<select_product>openSUSE-MicroOS</select_product>
<extra_urls config:type="list">
<!-- Default update repository, bnc #381360 -->
<extra_url>
<baseurl>http://download.opensuse.org/update/tumbleweed/</baseurl>
<alias>repo-update</alias>
<name>openSUSE-Tumbleweed-Update</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- Replacement for EXTRAURLS and OPTIONALURLS -->
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/oss/</baseurl>
<alias>repo-oss</alias>
<name>openSUSE-Tumbleweed-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/non-oss/</baseurl>
<alias>repo-non-oss</alias>
<name>openSUSE-Tumbleweed-Non-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/debug/tumbleweed/repo/oss/</baseurl>
<alias>repo-debug</alias>
<name>openSUSE-Tumbleweed-Debug</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/source/tumbleweed/repo/oss/</baseurl>
<alias>repo-source</alias>
<name>openSUSE-Tumbleweed-Source</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- https://en.opensuse.org/OpenH264 -->
<extra_url>
<baseurl>http://codecs.opensuse.org/openh264/openSUSE_Tumbleweed</baseurl>
<alias>repo-openh264</alias>
<name>Open H.264 Codec (openSUSE Tumbleweed)</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
</extra_urls></software>
<partitioning>
<expert_partitioner_warning config:type="boolean">true</expert_partitioner_warning>
<proposal>
<lvm config:type="boolean">false</lvm>
<windows_delete_mode config:type="symbol">all</windows_delete_mode>
<linux_delete_mode config:type="symbol">all</linux_delete_mode>
<other_delete_mode config:type="symbol">all</other_delete_mode>
</proposal>
<volumes config:type="list">
<!-- The / filesystem -->
<volume>
<mount_point>/</mount_point>
<!-- Default == final, since the user can't change it -->
<fs_type>btrfs</fs_type>
<desired_size config:type="disksize">20 GiB</desired_size>
<min_size config:type="disksize">5 GiB</min_size>
<max_size config:type="disksize">20 GiB</max_size>
<weight config:type="integer">20</weight>
<!-- Always use snapshots, no matter what -->
<snapshots config:type="boolean">true</snapshots>
<snapshots_configurable config:type="boolean">false</snapshots_configurable>
<!-- You don't want to miss the / volume -->
<proposed_configurable config:type="boolean">false</proposed_configurable>
<!-- the default subvolume "@" was requested by product management -->
<btrfs_default_subvolume>@</btrfs_default_subvolume>
<!-- root filesystem should be read-only -->
<btrfs_read_only config:type="boolean">true</btrfs_read_only>
<!-- Subvolumes to be created for a Btrfs root file system -->
<!-- copy_on_write is true by default -->
<!-- The XML parser is very simplistic, thus not using attributes, but sub-elements -->
<subvolumes config:type="list">
<subvolume>
<path>root</path>
</subvolume>
<subvolume>
<path>home</path>
</subvolume>
<subvolume>
<path>opt</path>
</subvolume>
<subvolume>
<path>srv</path>
</subvolume>
<subvolume>
<path>boot/writable</path>
</subvolume>
<subvolume>
<path>usr/local</path>
</subvolume>
<!-- architecture specific subvolumes -->
<subvolume>
<path>boot/grub2/arm64-efi</path>
<archs>aarch64</archs>
</subvolume>
<subvolume>
<path>boot/grub2/i386-pc</path>
<archs>x86_64</archs>
</subvolume>
<subvolume>
<path>boot/grub2/powerpc-ieee1275</path>
<archs>ppc,!board_powernv</archs>
</subvolume>
<subvolume>
<path>boot/grub2/s390x-emu</path>
<archs>s390</archs>
</subvolume>
<subvolume>
<path>boot/grub2/x86_64-efi</path>
<archs>x86_64</archs>
</subvolume>
</subvolumes>
</volume>
<volume>
<!-- unified var partition - https://lists.opensuse.org/opensuse-packaging/2017-11/msg00017.html -->
<mount_point>/var</mount_point>
<!-- Default == final, since the user can't change it -->
<fs_type>btrfs</fs_type>
<snapshots config:type="boolean">false</snapshots>
<snapshots_configurable config:type="boolean">false</snapshots_configurable>
<desired_size config:type="disksize">19 GiB</desired_size>
<min_size config:type="disksize">5 GiB</min_size>
<max_size config:type="disksize">unlimited</max_size>
<weight config:type="integer">40</weight>
<!-- Give up in a separate partition if the min size doesn't fit -->
<disable_order config:type="integer">1</disable_order>
<!-- If this volume is disabled, we want "/" to increase -->
<fallback_for_desired_size>/</fallback_for_desired_size>
<fallback_for_max_size>/</fallback_for_max_size>
<fallback_for_weight>/</fallback_for_weight>
</volume>
<!-- No swap partition is defined, so it's never created -->
</volumes>
</partitioning>
<network>
<network_manager>always</network_manager>
<ipv4_forward config:type="boolean">true</ipv4_forward>
<ipv6_forward config:type="boolean">true</ipv6_forward>
</network>
<!-- FATE#317481 -->
<system_roles config:type="list">
<system_role>
<id>micro_os_role</id>
<order config:type="integer">100</order>
<additional_dialogs>inst_microos_role</additional_dialogs>
</system_role>
<system_role>
<id>container_host_role</id>
<software>
<default_patterns>microos_base microos_base_zypper microos_defaults microos_hardware container_runtime</default_patterns>
<extra_urls config:type="list">
<!-- Default update repository, bnc #381360 -->
<extra_url>
<baseurl>http://download.opensuse.org/update/tumbleweed/</baseurl>
<alias>repo-update</alias>
<name>openSUSE-Tumbleweed-Update</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- Replacement for EXTRAURLS and OPTIONALURLS -->
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/oss/</baseurl>
<alias>repo-oss</alias>
<name>openSUSE-Tumbleweed-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/non-oss/</baseurl>
<alias>repo-non-oss</alias>
<name>openSUSE-Tumbleweed-Non-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/debug/tumbleweed/repo/oss/</baseurl>
<alias>repo-debug</alias>
<name>openSUSE-Tumbleweed-Debug</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/source/tumbleweed/repo/oss/</baseurl>
<alias>repo-source</alias>
<name>openSUSE-Tumbleweed-Source</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- https://en.opensuse.org/OpenH264 -->
<extra_url>
<baseurl>http://codecs.opensuse.org/openh264/openSUSE_Tumbleweed</baseurl>
<alias>repo-openh264</alias>
<name>Open H.264 Codec (openSUSE Tumbleweed)</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
</extra_urls></software>
<order config:type="integer">200</order>
<additional_dialogs>inst_microos_role</additional_dialogs>
</system_role>
<system_role>
<id>micro_os_gnome_desktop_role</id>
<globals>
<enable_kdump config:type="boolean">false</enable_kdump>
<polkit_default_privs>easy</polkit_default_privs>
<readonly_language config:type="boolean">false</readonly_language>
</globals>
<software>
<default_patterns>microos_base microos_base_zypper microos_defaults microos_hardware microos_gnome_desktop container_runtime</default_patterns>
<extra_urls config:type="list">
<!-- Default update repository, bnc #381360 -->
<extra_url>
<baseurl>http://download.opensuse.org/update/tumbleweed/</baseurl>
<alias>repo-update</alias>
<name>openSUSE-Tumbleweed-Update</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- Replacement for EXTRAURLS and OPTIONALURLS -->
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/oss/</baseurl>
<alias>repo-oss</alias>
<name>openSUSE-Tumbleweed-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/non-oss/</baseurl>
<alias>repo-non-oss</alias>
<name>openSUSE-Tumbleweed-Non-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/debug/tumbleweed/repo/oss/</baseurl>
<alias>repo-debug</alias>
<name>openSUSE-Tumbleweed-Debug</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/source/tumbleweed/repo/oss/</baseurl>
<alias>repo-source</alias>
<name>openSUSE-Tumbleweed-Source</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- https://en.opensuse.org/OpenH264 -->
<extra_url>
<baseurl>http://codecs.opensuse.org/openh264/openSUSE_Tumbleweed</baseurl>
<alias>repo-openh264</alias>
<name>Open H.264 Codec (openSUSE Tumbleweed)</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
</extra_urls></software>
<partitioning>
<expert_partitioner_warning config:type="boolean">true</expert_partitioner_warning>
<proposal>
<lvm config:type="boolean">false</lvm>
<windows_delete_mode config:type="symbol">all</windows_delete_mode>
<linux_delete_mode config:type="symbol">all</linux_delete_mode>
<other_delete_mode config:type="symbol">all</other_delete_mode>
</proposal>
<volumes config:type="list">
<!-- The / filesystem -->
<volume>
<mount_point>/</mount_point>
<!-- Default == final, since the user can't change it -->
<fs_type>btrfs</fs_type>
<desired_size config:type="disksize">20 GiB</desired_size>
<min_size config:type="disksize">5 GiB</min_size>
<max_size config:type="disksize">unlimited</max_size>
<weight config:type="integer">20</weight>
<!-- Always use snapshots, no matter what -->
<snapshots config:type="boolean">true</snapshots>
<snapshots_configurable config:type="boolean">false</snapshots_configurable>
<!-- You don't want to miss the / volume -->
<proposed_configurable config:type="boolean">false</proposed_configurable>
<!-- the default subvolume "@" was requested by product management -->
<btrfs_default_subvolume>@</btrfs_default_subvolume>
<!-- root filesystem should be read-only -->
<btrfs_read_only config:type="boolean">true</btrfs_read_only>
<!-- Subvolumes to be created for a Btrfs root file system -->
<!-- copy_on_write is true by default -->
<!-- The XML parser is very simplistic, thus not using attributes, but sub-elements -->
<subvolumes config:type="list">
<subvolume>
<path>root</path>
</subvolume>
<subvolume>
<path>home</path>
</subvolume>
<subvolume>
<path>opt</path>
</subvolume>
<subvolume>
<path>srv</path>
</subvolume>
<subvolume>
<path>boot/writable</path>
</subvolume>
<subvolume>
<path>usr/local</path>
</subvolume>
<!-- unified var subvolume - https://lists.opensuse.org/opensuse-packaging/2017-11/msg00017.html -->
<subvolume>
<path>var</path>
<copy_on_write config:type="boolean">false</copy_on_write>
</subvolume>
<!-- architecture specific subvolumes -->
<subvolume>
<path>boot/grub2/arm64-efi</path>
<archs>aarch64</archs>
</subvolume>
<subvolume>
<path>boot/grub2/i386-pc</path>
<archs>x86_64</archs>
</subvolume>
<subvolume>
<path>boot/grub2/powerpc-ieee1275</path>
<archs>ppc,!board_powernv</archs>
</subvolume>
<subvolume>
<path>boot/grub2/s390x-emu</path>
<archs>s390</archs>
</subvolume>
<subvolume>
<path>boot/grub2/x86_64-efi</path>
<archs>x86_64</archs>
</subvolume>
</subvolumes>
</volume>
<!-- No swap partition is defined, so it's never created -->
</volumes>
</partitioning>
<order config:type="integer">300</order>
<additional_dialogs>inst_microos_role</additional_dialogs>
</system_role>
<system_role>
<id>micro_os_kde_desktop_role</id>
<globals>
<enable_kdump config:type="boolean">false</enable_kdump>
<polkit_default_privs>easy</polkit_default_privs>
<readonly_language config:type="boolean">false</readonly_language>
</globals>
<software>
<default_patterns>microos_base microos_base_zypper microos_defaults microos_hardware microos_kde_desktop container_runtime</default_patterns>
<extra_urls config:type="list">
<!-- Default update repository, bnc #381360 -->
<extra_url>
<baseurl>http://download.opensuse.org/update/tumbleweed/</baseurl>
<alias>repo-update</alias>
<name>openSUSE-Tumbleweed-Update</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- Replacement for EXTRAURLS and OPTIONALURLS -->
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/oss/</baseurl>
<alias>repo-oss</alias>
<name>openSUSE-Tumbleweed-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/non-oss/</baseurl>
<alias>repo-non-oss</alias>
<name>openSUSE-Tumbleweed-Non-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/debug/tumbleweed/repo/oss/</baseurl>
<alias>repo-debug</alias>
<name>openSUSE-Tumbleweed-Debug</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/source/tumbleweed/repo/oss/</baseurl>
<alias>repo-source</alias>
<name>openSUSE-Tumbleweed-Source</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- https://en.opensuse.org/OpenH264 -->
<extra_url>
<baseurl>http://codecs.opensuse.org/openh264/openSUSE_Tumbleweed</baseurl>
<alias>repo-openh264</alias>
<name>Open H.264 Codec (openSUSE Tumbleweed)</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
</extra_urls></software>
<partitioning>
<expert_partitioner_warning config:type="boolean">true</expert_partitioner_warning>
<proposal>
<lvm config:type="boolean">false</lvm>
<windows_delete_mode config:type="symbol">all</windows_delete_mode>
<linux_delete_mode config:type="symbol">all</linux_delete_mode>
<other_delete_mode config:type="symbol">all</other_delete_mode>
</proposal>
<volumes config:type="list">
<!-- The / filesystem -->
<volume>
<mount_point>/</mount_point>
<!-- Default == final, since the user can't change it -->
<fs_type>btrfs</fs_type>
<desired_size config:type="disksize">20 GiB</desired_size>
<min_size config:type="disksize">5 GiB</min_size>
<max_size config:type="disksize">unlimited</max_size>
<weight config:type="integer">20</weight>
<!-- Always use snapshots, no matter what -->
<snapshots config:type="boolean">true</snapshots>
<snapshots_configurable config:type="boolean">false</snapshots_configurable>
<!-- You don't want to miss the / volume -->
<proposed_configurable config:type="boolean">false</proposed_configurable>
<!-- the default subvolume "@" was requested by product management -->
<btrfs_default_subvolume>@</btrfs_default_subvolume>
<!-- root filesystem should be read-only -->
<btrfs_read_only config:type="boolean">true</btrfs_read_only>
<!-- Subvolumes to be created for a Btrfs root file system -->
<!-- copy_on_write is true by default -->
<!-- The XML parser is very simplistic, thus not using attributes, but sub-elements -->
<subvolumes config:type="list">
<subvolume>
<path>root</path>
</subvolume>
<subvolume>
<path>home</path>
</subvolume>
<subvolume>
<path>opt</path>
</subvolume>
<subvolume>
<path>srv</path>
</subvolume>
<subvolume>
<path>boot/writable</path>
</subvolume>
<subvolume>
<path>usr/local</path>
</subvolume>
<!-- unified var subvolume - https://lists.opensuse.org/opensuse-packaging/2017-11/msg00017.html -->
<subvolume>
<path>var</path>
<copy_on_write config:type="boolean">false</copy_on_write>
</subvolume>
<!-- architecture specific subvolumes -->
<subvolume>
<path>boot/grub2/arm64-efi</path>
<archs>aarch64</archs>
</subvolume>
<subvolume>
<path>boot/grub2/i386-pc</path>
<archs>x86_64</archs>
</subvolume>
<subvolume>
<path>boot/grub2/powerpc-ieee1275</path>
<archs>ppc,!board_powernv</archs>
</subvolume>
<subvolume>
<path>boot/grub2/s390x-emu</path>
<archs>s390</archs>
</subvolume>
<subvolume>
<path>boot/grub2/x86_64-efi</path>
<archs>x86_64</archs>
</subvolume>
</subvolumes>
</volume>
<!-- No swap partition is defined, so it's never created -->
</volumes>
</partitioning>
<order config:type="integer">400</order>
<additional_dialogs>inst_microos_role,inst_user_first</additional_dialogs>
</system_role>
<system_role>
<id>micro_os_role_ra_agent</id>
<software>
<default_patterns>microos_base microos_base_zypper microos_defaults microos_hardware microos_ra_agent</default_patterns>
<extra_urls config:type="list">
<!-- Default update repository, bnc #381360 -->
<extra_url>
<baseurl>http://download.opensuse.org/update/tumbleweed/</baseurl>
<alias>repo-update</alias>
<name>openSUSE-Tumbleweed-Update</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- Replacement for EXTRAURLS and OPTIONALURLS -->
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/oss/</baseurl>
<alias>repo-oss</alias>
<name>openSUSE-Tumbleweed-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/non-oss/</baseurl>
<alias>repo-non-oss</alias>
<name>openSUSE-Tumbleweed-Non-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/debug/tumbleweed/repo/oss/</baseurl>
<alias>repo-debug</alias>
<name>openSUSE-Tumbleweed-Debug</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/source/tumbleweed/repo/oss/</baseurl>
<alias>repo-source</alias>
<name>openSUSE-Tumbleweed-Source</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- https://en.opensuse.org/OpenH264 -->
<extra_url>
<baseurl>http://codecs.opensuse.org/openh264/openSUSE_Tumbleweed</baseurl>
<alias>repo-openh264</alias>
<name>Open H.264 Codec (openSUSE Tumbleweed)</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
</extra_urls></software>
<order config:type="integer">500</order>
<additional_dialogs>inst_microos_role</additional_dialogs>
</system_role>
<system_role>
<id>micro_os_role_ra_verifier</id>
<software>
<default_patterns>microos_base microos_base_zypper microos_defaults microos_hardware microos_ra_verifier</default_patterns>
<extra_urls config:type="list">
<!-- Default update repository, bnc #381360 -->
<extra_url>
<baseurl>http://download.opensuse.org/update/tumbleweed/</baseurl>
<alias>repo-update</alias>
<name>openSUSE-Tumbleweed-Update</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- Replacement for EXTRAURLS and OPTIONALURLS -->
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/oss/</baseurl>
<alias>repo-oss</alias>
<name>openSUSE-Tumbleweed-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/tumbleweed/repo/non-oss/</baseurl>
<alias>repo-non-oss</alias>
<name>openSUSE-Tumbleweed-Non-Oss</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/debug/tumbleweed/repo/oss/</baseurl>
<alias>repo-debug</alias>
<name>openSUSE-Tumbleweed-Debug</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<extra_url>
<baseurl>http://download.opensuse.org/source/tumbleweed/repo/oss/</baseurl>
<alias>repo-source</alias>
<name>openSUSE-Tumbleweed-Source</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">false</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
<!-- https://en.opensuse.org/OpenH264 -->
<extra_url>
<baseurl>http://codecs.opensuse.org/openh264/openSUSE_Tumbleweed</baseurl>
<alias>repo-openh264</alias>
<name>Open H.264 Codec (openSUSE Tumbleweed)</name>
<prod_dir>/</prod_dir>
<enabled config:type="boolean">true</enabled>
<autorefresh config:type="boolean">true</autorefresh>
<priority config:type="integer">99</priority>
</extra_url>
</extra_urls></software>
<order config:type="integer">600</order>
<additional_dialogs>inst_microos_role</additional_dialogs>
</system_role>
</system_roles>
<clone_modules config:type="list">
<clone_module>language</clone_module>
<clone_module>keyboard</clone_module>
<clone_module>timezone</clone_module>
<clone_module>users</clone_module>
<clone_module>networking</clone_module>
<clone_module>firewall</clone_module>
<clone_module>host</clone_module>
<clone_module>routing</clone_module>
<clone_module>proxy</clone_module>
<clone_module>services-manager</clone_module>
<clone_module>nis</clone_module>
<clone_module>ldap</clone_module>
<clone_module>printer</clone_module>
<clone_module>dasd</clone_module>
<clone_module>zfcp</clone_module>
<clone_module>ldap-server</clone_module>
<clone_module>ca_mgm</clone_module>
<clone_module>add-on</clone_module>
<clone_module>iscsi-client</clone_module>
<clone_module>software</clone_module>
<clone_module>partitioning</clone_module>
<clone_module>bootloader</clone_module>
<clone_module>kdump</clone_module>
<clone_module>ntp-client</clone_module>
<clone_module>ssh_import</clone_module>
</clone_modules>
<texts>
<congratulate>
<label>
&lt;p&gt;
The installation has completed successfully.
Your system is ready for use.
Click Finish to log in to the system.
&lt;/p&gt;
&lt;p&gt;
Please visit us at http://www.suse.com/.
&lt;/p&gt;
</label>
</congratulate>
<!-- Empty string is intentional, bnc #431251, bnc #431336 -->
<dummy_desktop><label/></dummy_desktop>
<!-- FATE #305583: Start CIMOM by default -->
<service_sfcb><label>CIM Server</label></service_sfcb>
<roles_caption>
<!-- TRANSLATORS: dialog caption -->
<label>System Role</label>
</roles_caption>
<roles_text>
<!-- TRANSLATORS: label in a dialog -->
<label>System Roles are predefined use cases which tailor the system
for the selected scenario.</label>
</roles_text>
<roles_help>
<!-- TRANSLATORS: dialog help -->
<label>&lt;p&gt;The system roles adjustments are in the range from package selection up
to disk partitioning. By choosing a system role, the system is
configured accordingly to match the use case of the role. &lt;/p&gt;</label>
</roles_help>
<micro_os_role>
<!-- TRANSLATORS: a label for a system role -->
<label>MicroOS</label>
</micro_os_role>
<micro_os_role_description>
<label>• OS designed for single-purpose systems and optimised for large deployments
• Minimal installation, provides no services by default
• Install software with `transactional-update pkg in`</label>
</micro_os_role_description>
<container_host_role>
<!-- TRANSLATORS: a label for a system role -->
<label>MicroOS Container Host</label>
</container_host_role>
<container_host_role_description>
<label>• MicroOS optimised for hosting container workloads
• Includes Podman Container Runtime by default</label>
</container_host_role_description>
<micro_os_gnome_desktop_role>
<!-- TRANSLATORS: a label for a system role -->
<label>MicroOS Desktop (GNOME) [RC]</label>
</micro_os_gnome_desktop_role>
<micro_os_gnome_desktop_role_description>
<label>• MicroOS Desktop with automatic updates and rollback
• Install Apps using `Software`
• Includes Podman Container Runtime by default</label>
</micro_os_gnome_desktop_role_description>
<micro_os_role_ra_agent>
<!-- TRANSLATORS: a label for a system role -->
<label>MicroOS with Remote Attestation (Agent)</label>
</micro_os_role_ra_agent>
<micro_os_role_ra_agent_description>
<label>• Same installation as MicroOS role
• Remote attestation agent based on Keylime and TPM2.0 (required hardware)
• Create /etc/keylime/agent.conf.d/agent.conf based on /etc/usr/keylime/agent.conf
• Start keylime_agent service</label>
</micro_os_role_ra_agent_description>
<micro_os_role_ra_verifier>
<!-- TRANSLATORS: a label for a system role -->
<label>MicroOS with Remote Attestation (Verifier)</label>
</micro_os_role_ra_verifier>
<micro_os_role_ra_verifier_description>
<label>• Same installation as MicroOS role
• Remote attestation verifier based on Keylime and TPM2.0 (required hardware)
• Start keylime_verifier and keylime_registrar services</label>
</micro_os_role_ra_verifier_description>
<micro_os_kde_desktop_role>
<!-- TRANSLATORS: a label for a system role -->
<label>MicroOS Desktop (KDE Plasma) [ALPHA]</label>
</micro_os_kde_desktop_role>
<micro_os_kde_desktop_role_description>
<label>• MicroOS Desktop with automatic updates and rollback
• Install Apps using `Discover`
• Includes Podman Container Runtime by default</label>
</micro_os_kde_desktop_role_description>
</texts>
<proposals config:type="list">
<proposal>
<label>Installation Settings</label>
<mode>installation</mode>
<stage>initial</stage>
<name>initial</name>
<unique_id>inst_initial</unique_id>
<enable_skip>no</enable_skip>
<proposal_modules config:type="list">
<proposal_module>
<name>partitions</name>
<presentation_order>10</presentation_order>
</proposal_module>
<proposal_module>
<name>bootloader</name>
<presentation_order>40</presentation_order>
</proposal_module>
<proposal_module>
<name>hwinfo</name>
<presentation_order>80</presentation_order>
</proposal_module>
<proposal_module>
<name>timezone</name>
<presentation_order>25</presentation_order>
</proposal_module>
<proposal_module>
<name>network</name>
<presentation_order>30</presentation_order>
</proposal_module>
<proposal_module>
<name>kdump</name>
<presentation_order>50</presentation_order>
</proposal_module>
<proposal_module>
<name>ssh_import</name>
<presentation_order>97</presentation_order>
</proposal_module>
<proposal_module>
<name>clone</name>
<presentation_order>99</presentation_order>
</proposal_module>
<proposal_module>
<name>default_target</name>
<presentation_order>60</presentation_order>
</proposal_module>
<!-- Security proposal including firewall, CPU mitigation, SELinux and PolicyKit -->
<proposal_module>
<name>security</name>
<presentation_order>50</presentation_order>
</proposal_module>
<!-- software proposal should be computed almost at the end -->
<proposal_module>
<name>software</name>
<presentation_order>20</presentation_order>
</proposal_module>
</proposal_modules>
</proposal>
<proposal>
<archs>s390</archs>
<label>Installation Settings</label>
<mode>installation</mode>
<stage>initial</stage>
<name>initial</name>
<unique_id>inst_initial_s390</unique_id>
<enable_skip>no</enable_skip>
<proposal_modules config:type="list">
<proposal_module>
<name>clone</name>
<presentation_order>95</presentation_order>
</proposal_module>
<proposal_module>
<name>cio_ignore</name>
<presentation_order>70</presentation_order>
</proposal_module>
<proposal_module>
<name>hwinfo</name>
<presentation_order>90</presentation_order>
</proposal_module>
<proposal_module>
<name>bootloader</name>
<presentation_order>40</presentation_order>
</proposal_module>
<proposal_module>
<name>kdump</name>
<presentation_order>60</presentation_order>
</proposal_module>
<!-- software proposal should be computed almost at the end -->
<proposal_module>
<name>software</name>
<presentation_order>35</presentation_order>
</proposal_module>
<!-- propose the default runlevel after software is selected, bnc #380141 -->
<proposal_module>
<name>default_target</name>
<presentation_order>75</presentation_order>
</proposal_module>
<!-- Security proposal including firewall, CPU mitigation, SELinux and PolicyKit -->
<proposal_module>
<name>security</name>
<presentation_order>50</presentation_order>
</proposal_module>
</proposal_modules>
</proposal>
<proposal>
<label>Installation Settings</label>
<mode>autoinstallation</mode>
<stage>initial</stage>
<name>initial</name>
<unique_id>inst_initial</unique_id>
<enable_skip>no</enable_skip>
<proposal_modules config:type="list">
<proposal_module>
<name>partitions</name>
<presentation_order>10</presentation_order>
</proposal_module>
<proposal_module>
<name>bootloader</name>
<presentation_order>20</presentation_order>
</proposal_module>
<proposal_module>
<name>country_simple</name>
<presentation_order>40</presentation_order>
</proposal_module>
<proposal_module>
<name>timezone</name>
<presentation_order>50</presentation_order>
</proposal_module>
<!-- FATE #302980 -->
<proposal_module>
<name>users</name>
<presentation_order>60</presentation_order>
</proposal_module>
<proposal_module>
<name>hwinfo</name>
<presentation_order>80</presentation_order>
</proposal_module>
<!-- software proposal should be computed almost at the end -->
<proposal_module>
<name>software</name>
<presentation_order>30</presentation_order>
</proposal_module>
<!-- propose the default runlevel after software is selected, bnc #380141 -->
<proposal_module>
<name>default_target</name>
<presentation_order>70</presentation_order>
</proposal_module>
<!-- Security proposal including firewall, CPU mitigation, SELinux and PolicyKit -->
<proposal_module>
<name>security</name>
<presentation_order>99</presentation_order>
</proposal_module>
<!-- Fate #319624 - proposal and dialog for existing SSH host keys -->
<proposal_module>
<name>ssh_import</name>
<presentation_order>90</presentation_order>
</proposal_module>
</proposal_modules>
</proposal>
<proposal>
<label>Update Settings</label>
<mode>update</mode>
<name>initial</name>
<stage>normal</stage>
<unique_id>update_settings_initial</unique_id>
<enable_skip>no</enable_skip>
<proposal_modules config:type="list">
<proposal_module>update</proposal_module>
<proposal_module>packages</proposal_module>
<proposal_module>backup</proposal_module>
<proposal_module>language</proposal_module>
</proposal_modules>
</proposal>
<proposal>
<label>Installation Settings</label>
<mode>update,autoupgrade</mode>
<stage>initial</stage>
<name>initial</name>
<unique_id>update_initial</unique_id>
<enable_skip>no</enable_skip>
<proposal_modules config:type="list">
<proposal_module>hwinfo</proposal_module>
<proposal_module>update</proposal_module>
<proposal_module>packages</proposal_module>
<proposal_module>backup</proposal_module>
<proposal_module>language</proposal_module>
<proposal_module>keyboard</proposal_module>
<proposal_module>bootloader</proposal_module>
</proposal_modules>
</proposal>
<proposal>
<archs>s390</archs>
<label>Installation Settings</label>
<mode>update,autoupgrade</mode>
<stage>initial</stage>
<name>initial</name>
<unique_id>update_S390_initial</unique_id>
<enable_skip>no</enable_skip>
<proposal_modules config:type="list">
<proposal_module>hwinfo</proposal_module>
<proposal_module>update</proposal_module>
<proposal_module>add-on</proposal_module>
<proposal_module>dasd</proposal_module>
<proposal_module>zfcp</proposal_module>
<proposal_module>packages</proposal_module>
<proposal_module>backup</proposal_module>
<proposal_module>language</proposal_module>
<proposal_module>cio_ignore</proposal_module>
<proposal_module>bootloader</proposal_module>
</proposal_modules>
</proposal>
</proposals>
<workflows config:type="list">
<workflow>
<defaults>
<archs>all</archs>
</defaults>
<label>Preparation</label>
<mode>installation</mode>
<stage>initial</stage>
<modules config:type="list">
<module>
<label>Load Linuxrc Network Configuration</label>
<name>install_inf</name>
</module>
<module>
<label>Network Autosetup</label>
<name>setup_dhcp</name>
</module>
<!-- We need to initialize libzypp in order to read product's license -->
<module>
<label>Repositories Initialization</label>
<name>repositories_initialization</name>
</module>
<module>
<label>Welcome</label>
<name>complex_welcome</name>
<enable_back>no</enable_back>
<enable_next>yes</enable_next>
<arguments>
<first_run>yes</first_run>
</arguments>
<retranslate config:type="boolean">true</retranslate>
</module>
<module>
<label>Network Activation</label>
<name>lan</name>
<enable_back>yes</enable_back>
<enable_next>yes</enable_next>
</module>
<module>
<label>Disk Activation</label>
<name>disks_activate</name>
<enable_back>yes</enable_back>
<enable_next>yes</enable_next>
</module>
<module>
<label>System Analysis</label>
<name>system_analysis</name>
<enable_back>yes</enable_back>
<enable_next>yes</enable_next>
</module>
<module>
<name>download_release_notes</name>
</module>
<module>
<name>system_role</name>
</module>
<module>
<label>Add-On Products</label>
<name>add-on</name>
</module>
<module>
<label>User Settings</label>
<name>root_first</name>
</module>
<module>
<heading>yes</heading>
<label>Installation</label>
</module>
<module>
<label>Installation Overview</label>
<name>initial_installation_proposal</name>
<execute>inst_proposal</execute>
<proposal>initial</proposal>
</module>
<!-- FATE #303860: Provide consistent progress during installation -->
<module>
<label>Perform Installation</label>
<name>prepareprogress</name>
</module>
<module>
<label>Perform Installation</label>
<name>prepdisk</name>
</module>
<!-- Clean up the inst-sys to have more free RAM on low memory systems -->
<!-- Note: Needs to be call *after* the partitioning step as it might delete
the file system or storage kernel modules from inst-sys. They need to be already
loaded and active. -->
<module>
<label>Installer Cleanup</label>
<name>instsys_cleanup</name>
</module>
<module>
<label>Perform Installation</label>
<name>kickoff</name>
</module>
<module>
<label>Perform Installation</label>
<name>rpmcopy</name>
</module>
<module>
<label>Perform Installation</label>
<name>extrasources</name>
</module>
<module>
<label>Perform Installation</label>
<name>save_hardware_status</name>
</module>
<module>
<label>Perform Installation</label>
<name>finish</name>
</module>
</modules>
</workflow>
<workflow>
<stage>initial</stage>
<label>Base Installation</label>
<mode>autoinstallation</mode>
<defaults>
<archs>all</archs>
<enable_back>no</enable_back>
<enable_next>no</enable_next>
</defaults>
<modules config:type="list">
<module>
<label>AutoYaST Settings</label>
<name>autoinit</name>
<archs>all</archs>
<retranslate config:type="boolean">true</retranslate>
</module>
<module>
<label>AutoYaST Settings</label>
<name>autosetup</name>
</module>
<module>
<label>AutoYaST Settings</label>
<name>initial_autoinstallation_proposal</name>
<execute>inst_proposal</execute>
<proposal>initial</proposal>
<enable_back>no</enable_back>
<enable_next>yes</enable_next>
</module>
<!-- FATE #303860: Provide consistent progress during installation -->
<module>
<label>Perform Installation</label>
<name>prepareprogress</name>
</module>
<module>
<label>Perform Installation</label>
<name>prepdisk</name>
</module>
<!-- Clean up the inst-sys to have more free RAM on low memory systems -->
<!-- Note: Needs to be call *after* the partitioning step as it might delete
the file system or storage kernel modules from inst-sys. They need to be already
loaded and active. -->
<module>
<label>Installer Cleanup</label>
<name>instsys_cleanup</name>
</module>
<module>
<label>Perform Installation</label>
<name>kickoff</name>
</module>
<module>
<label>Perform Installation</label>
<name>rpmcopy</name>
</module>
<module>
<label>Perform Installation</label>
<name>finish</name>
</module>
</modules>
</workflow>
</workflows>
</productDefines>
[globals]
additional_kernel_parameters = "swapaccount=1"
addons_default = "no"
base_product_license_directory = "/usr/share/licenses/product/base/"
boot_timeout = "8"
default_ntp_setup = "yes"
default_target = ""
dhclient_set_hostname = "yes"
disable_os_prober = "yes"
disable_register_w3m = "no"
display_register_forcereg = "yes"
displaymanager_shutdown = "root"
enable_autologin = "no"
enable_clone = "no"
enable_firewall = "no"
enable_kdump = "no"
enable_local_users = "yes"
enable_register_hwdata = "yes"
enable_register_optional = "yes"
enable_sshd = "yes"
enable_systemd_boot = "yes"
fam_local_only = "never"
firewall_enable_ssh = "no"
full_system_download_url = ""
full_system_media_name = ""
incomplete_translation_treshold = "95"
inform_about_suboptimal_distribution = "yes"
keyboard = ""
language = ""
manual_online_update = "yes"
polkit_default_privs = "easy"
propose_hibernation = "yes"
readonly_language = "no"
readonly_timezone = "no"
register_monthly = "yes"
relnotesurl = ""
rle_offer_rulevel_4 = "yes"
root_password_ca_check = "yes"
run_init_scripts_in_parallel = "no"
run_you = "yes"
save_y2logs = "yes"
show_addons = "yes"
show_drivers_info = "yes"
skip_language_dialog = "yes"
timezone = "UTC"
ui_mode = "expert"
vendor_url = ""
write_hostname_to_hosts = "no"
[network]
force_static_ip = "no"
ipv4_forward = "yes"
ipv6_forward = "yes"
network_manager = "always"
[partitioning]
expert_partitioner_warning = "yes"
use_flexible_partitioning = "no"
vm_keep_unpartitioned_region = "no"
[software]
base_selection = ""
clone_install_recommended_default = "no"
default_patterns = "microos_base microos_base_zypper microos_defaults microos_hardware microos_kde_desktop container_runtime"
delete_old_packages = "yes"
display_support_status = "yes"
inform_about_suboptimal_distribution = "no"
minimalistic_libzypp_config = "yes"
only_update_installed = "no"
optional_default_patterns = "32bit"
packages_transmogrify = ""
select_product = "openSUSE-MicroOS"
software_proposal = "selection"
/dev/sda2 / btrfs ro,relatime,space_cache=v2,subvolid=267,subvol=/@/.snapshots/1/snapshot 0 0
/dev/sda2 /root btrfs rw,relatime,space_cache=v2,subvolid=260,subvol=/@/root 0 0
/dev/sda2 /var btrfs rw,relatime,space_cache=v2,subvolid=257,subvol=/@/var 0 0
overlay /etc overlay rw,relatime,lowerdir=/sysroot/etc,upperdir=/sysroot/var/lib/overlay/1/etc,workdir=/sysroot/var/lib/overlay/work-etc 0 0
devtmpfs /dev devtmpfs rw,nosuid,size=4096k,nr_inodes=1531291,mode=755,inode64 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,inode64 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0
bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /run tmpfs rw,nosuid,nodev,size=2456444k,nr_inodes=819200,mode=755,inode64 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=36,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=16657 0 0
mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,nosuid,nodev,relatime,pagesize=2M 0 0
debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0
tracefs /sys/kernel/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /tmp tmpfs rw,nosuid,nodev,size=6141112k,nr_inodes=1048576,inode64 0 0
fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0
configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
/dev/sda2 /.snapshots btrfs rw,relatime,space_cache=v2,subvolid=266,subvol=/@/.snapshots 0 0
/dev/sda2 /boot/grub2/i386-pc btrfs rw,relatime,space_cache=v2,subvolid=265,subvol=/@/boot/grub2/i386-pc 0 0
/dev/sda2 /boot/writable btrfs rw,relatime,space_cache=v2,subvolid=263,subvol=/@/boot/writable 0 0
/dev/sda2 /boot/grub2/x86_64-efi btrfs rw,relatime,space_cache=v2,subvolid=264,subvol=/@/boot/grub2/x86_64-efi 0 0
/dev/sda2 /opt btrfs rw,relatime,space_cache=v2,subvolid=261,subvol=/@/opt 0 0
/dev/sda2 /srv btrfs rw,relatime,space_cache=v2,subvolid=259,subvol=/@/srv 0 0
/dev/sda2 /home btrfs rw,relatime,space_cache=v2,subvolid=262,subvol=/@/home 0 0
/dev/sda2 /usr/local btrfs rw,relatime,space_cache=v2,subvolid=258,subvol=/@/usr/local 0 0
/dev/sda1 /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=1228220k,nr_inodes=307055,mode=700,uid=1000,gid=1000,inode64 0 0
portal /run/user/1000/doc fuse.portal rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
container_image_default="registry.opensuse.org/opensuse/distrobox:latest"
container_name="tumbleweed"
container_manager="autodetect"
non_interactive="true"
# Configuration file for transactional-update
# See transactional-update.conf(5) for details
# Reboot method
# Valid values: auto rebootmgr notify systemd kexec kured none
#REBOOT_METHOD=auto
# zypper update method
# Valid values: dup up
UPDATE_METHOD=dup
# Import new repository GPG keys automatically
# Valid values: 0 1
#ZYPPER_AUTO_IMPORT_KEYS=0
localhost:~ # btrfs subvolume list /
ID 256 gen 32 top level 5 path @
ID 257 gen 217 top level 256 path @/var
ID 258 gen 217 top level 256 path @/usr/local
ID 259 gen 140 top level 256 path @/srv
ID 260 gen 217 top level 256 path @/root
ID 261 gen 140 top level 256 path @/opt
ID 262 gen 217 top level 256 path @/home
ID 263 gen 25 top level 256 path @/boot/writable
ID 264 gen 50 top level 256 path @/boot/grub2/x86_64-efi
ID 265 gen 29 top level 256 path @/boot/grub2/i386-pc
ID 266 gen 123 top level 256 path @/.snapshots
ID 267 gen 53 top level 266 path @/.snapshots/1/snapshot
localhost:~ # fdisk --list /dev/sda
Disk /dev/sda: 8 GiB, 8589934592 bytes, 16777216 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B4336E02-108A-4677-87A3-A0528D090B74
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 16777182 15726559 7.5G Linux filesystem
localhost:~ # blkid
/dev/sda2: UUID="fd4a1f64-1bc1-4001-a123-6e3cd5c33b9e" UUID_SUB="314d15a3-9b5a-4876-a985-0cdd947a262f" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="caa8564a-3462-474d-b148-eb204fb68f34"
/dev/sda1: UUID="0AB7-599D" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="12bef2e7-fd4b-49ca-95d1-e3244ba8bae2"
localhost:~ # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
└─sda2 8:2 0 7.5G 0 part /usr/local
/home
/srv
/opt
/boot/grub2/x86_64-efi
/boot/writable
/boot/grub2/i386-pc
/.snapshots
/var
/root
/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment