Index — List of 19 | openSUSE Kubic 20 | helper application man pages
issue-add-ssh-keys.service(8) — Creates a volatile and temporary issue file
issue-generator(8) — Creates a volatile and temporary issue file
issue-generator.conf(8) — Creates a volatile and temporary issue file
issue-generator.service(8) — Creates a volatile and temporary issue file
issue.d(5) — Configuration for creating an issue file
rebootmgr.conf(5) — Reboot Manager configuration files
rebootmgr.service(8) — Reboot the machine during a maintenance window.
rebootmgrctl(1) — Tool to control and configure the reboot manager daemon.
rebootmgrd(8) — Reboot the machine during a maintenance window.
transactional-update(8) — Apply updates to the system in an atomic way via transactional updates.
transactional-update.conf(5) — transactional-update configuration files
transactional-update.service(8) — Apply updates to the system in an atomic way via transactional updates.
transactional-update.timer(8) — Apply updates to the system in an atomic way via transactional updates.
tukit.conf(5) — tukit configuration file
issue-generator, issue-add-ssh-keys.service, issue-generator.service, 90-issue-generator.rules, issue-generator.conf — Creates a volatile and temporary issue file
/usr/sbin/issue-generator
[--prefix path
] [--help]
/usr/sbin/issue-generator
network add | remove
19 | interface
/usr/sbin/issue-generator
ssh add | remove
/usr/sbin/issue-generator
--version
issue-add-ssh-keys.service
issue-generator.service
issue-generator 20 | creates a volatile and temporary 21 | issue(5) 22 | file based on the input files and location specified in 23 | issue.d(5). 24 |
If invoked with no arguments, it applies all valid input files and
25 | creates a temporary issue
file as
26 | /run/issue
.
27 | /etc/issue
should be symlink to this file.
Backup files ending on *.bak
,
28 | *~
or *.rpm*
will be ignored. Like
29 | files ending on *.issue
, as this are directly shown by
30 | agetty(8).
31 |
--prefix
path
¶Add the prefix path
to all used directories and files.
network add|remove
interface
¶Creates a deletes files of the format
32 | /run/issue.d/70-
. This
33 | files contains the name of the interface
.confinterface
and
34 | the escape codes for
35 | agetty(8)
36 | to insert the IPv4 and IPv6 addresses.
By default, only network interfaces where the name starts with 'b'
37 | or 'e' are added. Which interfaces are shown is configureable via a
38 | regex expression in in the variable
39 | NETWORK_INTERFACE_REGEX
in
40 | /etc/sysconfig/issue-generator
.
41 |
ssh add|remove
¶Creates or deletes the file
42 | /run/issue.d/60-ssh_host_keys.conf
which contains
43 | fingerprints of the public ssh keys of the host.
/etc/issue.d/*
/run/issue.d/*
/usr/lib/issue.d/*
19 | The file /etc/issue
is read from
20 | agetty(8)
21 | and similar tools and shown above the login prompt. While some of the
22 | informations can be adjusted with variables, the file itself is static. To
23 | display dynamic content,
24 | issue-generator(1)
25 | generates a /run/issue
file from different files.
26 |
27 | Files in /etc/issue.d
override files with the same
28 | name in /usr/lib/issue.d
and
29 | /run/issue.d
. Files in
30 | /run/issue.d
override files with the same name in
31 | /usr/lib/issue.d
. Packages should install their
32 | configuration files in /usr/lib/issue.d
. Files in
33 | /etc/issue.d
are reserved for the local
34 | administrator, who may use this logic to override the files installed by
35 | vendor packages. All configuration files are sorted by their filename
36 | in lexicographic order, regardless of which of the directories they reside in.
37 |
rebootmgr.conf — Reboot Manager configuration files
/etc/rebootmgr.conf
The following options are available in the "rebootmgr
"
20 | section:
window-start=
¶
21 | The format of window-start
is the same as
22 | described in systemd.time(7).
23 |
window-duration=
¶
24 | The format of window-duration
is
25 | "[XXh][YYm]
".
26 |
strategy=
¶27 | This entry specifies the reboot strategy. For a list of valid 28 | strategies and their meaning look at the 29 | rebootmgrd(8) 30 | manual page. 31 |
Example 1. Example configuration file
32 | In this example, the machine will reboot between 03:30 and 05:00 33 | o'clock in the morning. 34 |
/etc/rebootmgr.conf
:
35 | [rebootmgr] 36 | window-start=03:30 37 | window-duration=1h30m 38 | strategy=best-effort 39 |
rebootmgr.index — List all manpages from the rebootmgr project
rebootmgr.conf(5) — Reboot Manager configuration files
rebootmgr.service(8) — Reboot the machine during a maintenance window.
rebootmgrctl(1) — Tool to control and configure the reboot manager daemon.
rebootmgrd(8) — Reboot the machine during a maintenance window.
rebootmgrd, rebootmgr.service, org.opensuse.RebootMgr.conf — Reboot the machine during a maintenance window.
/usr/sbin/rebootmgrd
[ --debug | --help | --version ]
/usr/lib/systemd/system/rebootmgr.service
/etc/dbus-1/system.d/org.opensuse.RebootMgr.conf
To avoid that a whole cluster or a set of machines with the same task 19 | reboot at the same there, rebootmgrd reboots 20 | the machine following configured policies.
21 | rebootmgr supports different strategies, when a reboot should be done: 22 |
23 | When the signal arrives other services will be informed 24 | that we plan to reboot and do the reboot without waiting 25 | for a maintenance window. 26 |
27 | Reboot only during a specified maintenance window. If no window is 28 | specified, reboot immediately. 29 |
30 | This is the default. IF a maintenance window is specified, 31 | use maint-window. If no maintenance window is specified, 32 | reboot immediately (instantly). 33 |
34 | rebootmgr continues to run, but ignores all signals to 35 | reboot. Setting the strategy to off does not clear the maintenance 36 | window. If rebootmgr is enabled again, it will continue to use the 37 | old specified maintenance window. 38 |
39 | The reboot strategy can be configured via 40 | rebootmgr.conf(5) 41 | and adjusted at runtime via 42 | rebootmgrctl(1). 43 | These changes will be written to the configuration file and survive the 44 | next reboot. 45 |
transactional-update.index — List all manpages from the transactional-update project
transactional-update(8) — Apply updates to the system in an atomic way via transactional updates.
transactional-update.conf(5) — transactional-update configuration files
transactional-update.service(8) — Apply updates to the system in an atomic way via transactional updates.
transactional-update.timer(8) — Apply updates to the system in an atomic way via transactional updates.
tukit.conf(5) — tukit configuration file
tukit.conf — tukit configuration file
/etc/tukit.conf
This configuration file controls and defines the behaviour of 19 | tukit(8).
The tukit.conf file uses INI
20 | style assignments, e.g. PARAMETER=value
.
A reference file (also used for reading the default values) can be 21 | found in 22 | /usr/etc/tukit.conf.
The following options are available in the
23 | "tukit
" section:
24 |
DRACUT_SYSROOT
¶
25 | Directory where "dracut
" will mount the
26 | "sysroot
". The current default value is
27 | "/sysroot
".
28 |
LOCKFILE
¶
29 | Lock file path for tukit. By default it is
30 | "/var/run/tukit.lock
".
31 |
OVERLAY_DIR
¶
32 | Directory where the "/etc
" overlays are
33 | stored. By default it is "/var/lib/overlay
".
34 |
BINDDIRS
¶35 | Bind mount additional directories into the update 36 | environment; to add multiple directories add a separate 37 | entry with a different id between the brackets for each. 38 |
39 | Be aware that only the root file system is managed in a 40 | transactional way, i.e. any additional mounts added here 41 | will *not* get a seperate snapshot (so their contents 42 | cannot be rolled back) and the changes will be visible to 43 | the running system immediately (breaking the transactional 44 | concept and possibly resulting in a mix between old and 45 | new files if there are also changes to the root file 46 | system until the next reboot). 47 |
48 | By default only /opt will be bind-mounted, as this 49 | directory is often used by third-party packages, but the 50 | applications in there are usually self-contained. 51 |
52 | Example: To mount additional directories such as
53 | "/usr/local
" or
54 | "/var/lib/images
" into the update
55 | environment, add the following lines to the configuration
56 | file:
57 |
58 | BINDDIRS[0]="/opt" 59 | BINDDIRS[1]="/usr/local" 60 | BINDDIRS[2]="/var/lib/images" 61 |
62 | If a directory contains submounts, these have to be
63 | mounted separately. For example if for some reason
64 | "/usr/local
" should contain
65 | "/usr/local/extra
" that is located on a
66 | different partition, both mounts will have to be listed:
67 |
68 | BINDDIRS[0]="/opt" 69 | BINDDIRS[1]="/usr/local" 70 | BINDDIRS[2]="/usr/local/extra" 71 | BINDDIRS[3]="/var/lib/images" 72 |
73 |
74 | Note that in some situations one may be tempted to expose
75 | "/var/lib
" directly, but this can be
76 | dangerous.
77 |
78 | "/var/lib
" contains a lot of data,
79 | including databases, docker images or sssd data. That data
80 | is often bound to a specific version of the
81 | software. Exposing it during an upgrade can make that an
82 | RPM post-script will make changes in place that will touch
83 | the live system, that will be directly visible to the
84 | user, breaking the guarantees that transactional-update
85 | provides.
86 |
Version 0.4, 28. September 2021
Abstract
2 | This is the documentation for transactional-update and is intended for 3 | users, administrators and packagers. 4 |
It describes how transactional-update with Btrfs works by giving 5 | an overview of the design, what an administrator needs to know about 6 | setting up and operating such a system and what a packager needs to 7 | know for creating compatible packages. 8 |
9 | For specific usage see the 10 | transactional-update man page 11 | or the 12 | list of Kubic related commands. 13 |
Table of Contents
List of Examples
2 | This document was written by Thorsten Kukuk <kukuk@suse.com> 3 | with many contributions from Ignaz Forster <iforster@suse.com>. 4 |
2 | transactional-update is split into two parts: the (open)SUSE specific 3 | transactional-update shell script, and the 4 | generic tukit (including libtukit, the tukit 5 | command line application and the D-Bus bindings). 6 |
7 | libtukit is a C++ library implementing the core functionality of 8 | transactional-update. It is responsible 9 | for snapshot management, preparing the environment (including 10 | overlay handling, see Section 4.3, “/etc”) and executing 11 | the command to run within the update environment. 12 |
13 | The library is designed to be a general purpose library for handling 14 | transactional systems. It provides methods to create, modify and close 15 | transactions as well as execute commands within a transaction. 16 | Currently snapper is the only implemented snapshot 17 | management option. 18 |
19 | Applications such as package managers are expected to use this library 20 | for easily supporting transactional systems. DNF for example is 21 | supporting transactional systems via the 22 | libdnf-plugin-txnupd 23 | plugin. 24 |
25 | The library also provides C bindings with the same functionality as the 26 | C++ library. 27 |
28 | tukit is a utility application to call libtukit 29 | functionality from the command line. Applications which do not support 30 | libtukit directly may use this application as 31 | a wrapper. This command is not yet intended to be called by the user 32 | directly, as it does not perform maintenance tasks such as marking a 33 | snapshot for deletion for now. 34 |
35 | The libtukit functionality is also available via 36 | D-Bus interface org.opensuse.tukit. Commands are 37 | executed asynchronously, returning a signal when the command execution 38 | is finished. 39 |
40 | This shell script is an (open)SUSE specific wrapper for handling the 41 | tasks typical on a transactional system, e.g. installing packages, 42 | updating the system or updating the bootloader. To do so it is using 43 | the tukit wrapper to call applications such as 44 | zypper for package management. 45 |
/usr/etc/transactional-update.conf
2 | This is the reference configuration file for 3 | transactional-update, containing distribution 4 | default values. This file should not be changed by the 5 | administrator. 6 |
/etc/transactional-update.conf
7 | To change the default configuration for 8 | transactional-update copy or create this file 9 | and change the options accordingly. See 10 | transactional-update.conf(5) 11 | for a description of the configuration options. Values from this 12 | file will overwride the distribution default values. 13 |
/var/lib/overlay/
14 | See Section 4.3, “/etc” for an explanation of this 15 | directory's contents. 16 |
2 | Currently snapper is the only supported snapshot 3 | implementation, however the code base is prepared to support other 4 | (file) systems 5 | as long as they provide snapshot functionality and the ability to boot 6 | from specific snapshots. 7 |
{{ site.description }}
11 |