transactional-update, transactional-update.service, transactional-update.timer - Apply updates to the system in an atomic way via transactional updates.transactional-update.service
transactional-updateupdates the system in a transactional way, which means: it is atomic, so either the patches are fully applied or nothing is changed. The update does not influence your running system and it can be rolled back. To activate the changes, the system needs to be rebooted.
This is archived by creating at first a snapshot of the system. Afterwards, this snapshot is updated with zypper. Only if there were updates and they could be applied without error, the snapshot will be the default with the next reboot.
Changes made to the running root filesystem aftertransactional-updatewas started are lost after the next reboot. For this reason, after an successfull update, the system should be rebooted as fast as possible.
For easier maintenance of big clusters,transactional-updateis regular run bysystemd.timer(5). The time, at which the command is run, can be modified by a configuration file/etc/systemd/system/transactional-update.timer.d/local.conf. Seesystemd.unit(5)for more informations.
General commands can be used together in any combination; additionally they can be extended with onePackage Command.
- If the current root filesystem is identical to the active root filesystem (means after a reboot, beforetransactional-updatecreates a new snapshot with updates), all old snapshots without a cleanup algorithm get a cleanup algorithm set. This is to make sure, that old snapshots will be deleted by snapper. See the section about cleanup algorithms insnapper(8).
- grub2-mkconfig(8)is called to create a new/boot/grub2/grub.cfgconfiguration file for the bootloader.
- A new snapshot is created, the bootloader configuration updated and the boorloader newly written.
- A new initrd is created in a snapshot.
- A new initrd for kdump is created in a snapshot.
- If a new snapshot with updates was created, the system should be rebooted. This option will trigger the necessary reboot. If therebootmgrd(8)is running,transactional-updatewill tell the daemon to reboot the system according to the configured policies. Elsesystemctl rebootis called.
- After all actions are done, before the snapshot with the changes is unmounted and switched to read-only, a shell is started in the new snapshot as chroot environment for testing and debugging.
Only one package command can be used at the same time. Note that when combining non-interactive package commands withGeneral Commandsthose will only be executed if the package command updated any packages.
Non-interactive Package Commands
Non-interactive Package Commands will require no user interaction.
- If new updates are available, a new snapshot is created andzypper dup --no-allow-vendor-changeis used to update the snapshot. Afterwards, the snapshot is activated and will be used as the new root filesystem during next boot.
- If new updates are available, a new snapshot is created andzypper upis used to update the snapshot. Afterwards, the snapshot is activated and will be used as the new root filesystem during next boot.
- If new updates are available, a new snapshot is created andzypper patchis used to update the snapshot. Afterwards, the snapshot is activated and will be used as the new root filesystem during next boot.
Interactive Package Commands
Interactive Package Commands may require user interaction to solve conflicts or make decisions.
- On systems which are registered against the SUSE Customer Center (SCC) or SMT, a migration to a new version of the installed products can be made with this option. This is done in an interactive mode.
pkg install <RPM> ... <RPM>
- A PTF or other packages in RPM format can be installed in the system.
pkg remove <RPM> ... <RPM>
- A PTF or other installed packages in RPM format can be removed from the system.
pkg update <RPM> ... <RPM>
- Packages installed as RPMs can be updated.
- Sets the default subvolume. On systems with read-write filesystem,snapper(8) rollbackis called. On a read-only filesystem, without argument, the current system is made the new default root filesystem. Else the snapshot withnumberis made the new default root filesystem. On a read-only filesystem, no additional snapshots are created.
- Skip checking for newer transactional-update versions.
- Don't print warnings and informational messages to stdout.
- Display help and exit
- Output version information and exit
Only RPMs, which are fully part of the snapshot of the root filesystem, can be updated. If RPMs contains files outside of the snapshot, the update itself can break or can break the system.
Since all changes to the root filesystem will go lost after creating the snapshot for the update, the system should be rebooted as fast as possible after the update finished.
RPMs, where a license needs accepted for, cannot be updated.
If PTFs get installed or removed, andtransactional-updateis called again before the next reboot and updates packages, the changes to the PTFs are lost and need to be redone with the next reboot. After installing or removing PTFs, the system should be immeaditly rebooted.
If/etc/default/grubwas modified by an administrator, the modified version is copied into the new snapshot.
If during the update process/etc/passwd,/etc/groupor/etc/shadoware modified and/usr/etcexists, the modified files are copied into/usr/etcand can be accessed by tools likelibnss_usrfiles. This prevents that the new accounts are hidden by local modifications by the system administrator.
Thorsten Kukuk <kukukAATTsuse.com>
- General Commands
- Package Commands
- Individual Commands
- SEE ALSO
This document was created byman2html,using the manual pages.