Offline updates using systemd and pamac-cli

pamac-cli has a systemd service for offline updates, similar to other systemd distributions

github.com/manjaro/pamac-cli/data/offline-upgrade/pamac-offline-upgrade.service

[Unit]
Description=Offline System Upgrade using Pamac
ConditionACPower=true
ConditionPathExists=/system-update
Documentation=http://www.freedesktop.org/wiki/Software/systemd/SystemUpdates

freedesktop.org – systemd.offline-updates

This man page describes how to implement “offline” system updates with systemd.
By “offline” OS updates we mean package installations and updates that are run with the system booted into a special system update mode, in order to avoid problems related to conflicts of libraries and services that are currently running with those on disk

Features/OfflineSystemUpdates - Fedora Project Wiki

Offline Updates using systemd and PackageKit

By “offline” OS updates we mean package installations and updates that are run with the system booted into a special system update mode, in order to avoid problems related to conflicts of libraries and services that are currently running with those on disk.

The safest way to update is to watch the process, so that you can make a note of any special instructions or notices displayed when a specific package updates. For example, these (which were recently posted in another topic):

[2026-09-07T07:39:16+0100] [ALPM-SCRIPTLET] ==> NOTICE: tar backup/restore scripts have been moved
[2026-09-07T07:39:16+0100] [ALPM-SCRIPTLET] ==>
[2026-09-07T07:39:16+0100] [ALPM-SCRIPTLET] ==>   The 'tar' package no longer ships the helper scripts
[2026-09-07T07:39:16+0100] [ALPM-SCRIPTLET] ==>   /usr/bin/backup and /usr/bin/restore.
[2026-09-07T07:39:16+0100] [ALPM-SCRIPTLET] ==>
[2026-09-07T07:39:16+0100] [ALPM-SCRIPTLET] ==>   If you rely on these tools, install them separately with:
[2026-09-07T07:39:16+0100] [ALPM-SCRIPTLET] ==>
[2026-09-07T07:39:16+0100] [ALPM-SCRIPTLET] ==>       $ pacman -S tar-scripts
[2026-09-07T07:39:16+0100] [ALPM-SCRIPTLET] ==>
[2026-09-07T07:39:16+0100] [ALPM-SCRIPTLET] ==>   The core 'tar' archiving utility itself is unaffected.

[2026-09-07T07:39:43+0100] [ALPM-SCRIPTLET] >>> NOTE, 7.1.13 is the last maintenance release of the 7.1 kernel series.
[2026-09-07T07:39:43+0100] [ALPM-SCRIPTLET]     This kernel is now marked 'End Of Life' (EOL).
[2026-09-07T07:39:43+0100] [ALPM-SCRIPTLET]     
[2026-09-07T07:39:43+0100] [ALPM-SCRIPTLET]     It is recommend to switch to the newer linux72 series:
[2026-09-07T07:39:43+0100] [ALPM-SCRIPTLET]     'sudo mhwd-kernel -i linux72'
[2026-09-07T07:39:43+0100] [ALPM-SCRIPTLET]

Also, watching the update process means that any .pacnew or .pacsave files created will probably be noticed by the user of the device.

I’m not sure how willing those who choose to do offline updates would be to inspect the update log at a later time.

I always do it this way on Manjaro, but on a clean Arch system, when updating the kernel from version 7.1.7 to 7.1.8, pacman didn’t report any errors, and after rebooting, the system stopped during startup after displaying the message “loading kernel image” :grinning_face_with_smiling_eyes:

So, all I have to do is start this service, and running the update via pamac-cli will perform an offline update? If so, I’ll go with that :wink:

Judging by the condition in the service file there will be some more work to do.