The benefits this has over yast2-online-update-configuration
is the integration with systemd services/timers and email notifications similar to what's provided in dnf-automatic
or unattended-upgrades
.
Builds are available on OBS at https://build.opensuse.org/package/show/home:losuler/zypper-automatic.
This repo can be added on supported systems by:
# openSUSE Tumbleweed
zypper addrepo https://download.opensuse.org/repositories/home:losuler/openSUSE_Tumbleweed/home:losuler.repo
# openSUSE Leap 15.2
zypper addrepo https://download.opensuse.org/repositories/home:losuler/openSUSE_Leap_15.2/home:losuler.repo
zypper refresh
zypper install zypper-automatic
The configuration file located at /etc/zypper-automatic.conf
has three main sections. The already filled in values in the examples below are the defaults.
[zypper]
patch_categories =
with_interactive = false
list_only = false
patch_categories
is a list delimited by commas ,
of patches you'd like to install. Categories include security
, recommended
, optional
, feature
, document
and yast
.1
with_interactive
when set to true
will install "interactive patches, that is, those that need reboot, contain a message, or update a package whose license needs to be confirmed."2
list_only
when set to true
will only send a list of the patches waiting to be installed and will not install them.
[emitters]
emitter =
The emitter
refers to one of the message services listed in the subsections below.
[email]
email_to =
email_to
is the email in which to send the notification to. It requires a Sendmail compatible MTA (Mail Transfer Agent) to be setup.
[telegram]
token =
chat_id =
token
is the token for the Telegram bot, which is provided by creating a bot by following the steps provided in the Telegram bot API documentation.
chat_id
is the unique identifier for the target chat. It can be obtained by messaging the bot and executing the following command (replace $BOT_TOKEN
). The ID may be found at "chat": {"id": 12345678},
:
curl https://api.telegram.org/bot$BOT_TOKEN/getUpdates | python -m json.tool