~alpine/users

7 6

Multiple machine management

Martin Kjær Jørgensen <me@lagy.org>
Details
Message ID
<87a4ukrjzf.fsf@lagy.org>
DKIM signature
missing
Download raw message
Hey users,

How do you maintain multiple Alpine Linux installations in your daily lives? I
assume you have desktops, laptops, work stations, etc. you run Alpine on, and
wish to maintain them by using rules/lists across machines that dictate what
to do on then.

I'm thinking about problems like:

- updates/patches
- config (/etc files)
- upgrades
- automatically installing desired packages
- automatically removing obsolete or unneeded packages

I know there are tools like rsync, and comparing world files to help, but I
wonder if you or Alpine have made tools for these problems in particular.

-- 
/Martin
Christian Kujau <lists@nerdbynature.de>
Details
Message ID
<f7e636c5-e963-17c5-e1eb-dc9e76174ed7@nerdbynature.de>
In-Reply-To
<87a4ukrjzf.fsf@lagy.org> (view parent)
DKIM signature
missing
Download raw message
On Thu, 30 Apr 2026, Martin Kjær Jørgensen wrote:
> - updates/patches
> - upgrades
> - automatically installing desired packages

There's apk-autoupdate tool:

  https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper#Autoupdate_tool_for_apk

Never used it though, I'm using a cron job with "apk upgrade" and this 
works quite well.

> - automatically removing obsolete or unneeded packages

Automatic package removals...I'd be careful with that :-) Can you give an 
example on why you want to do that? Like, "remove the 10 least used 
packages" or something? Do other distributions have something like this?

> - config (/etc files)

What about this, what do you intend to manage here?

C.
-- 
BOFH excuse #188:

..disk or the processor is on fire.
Details
Message ID
<e2451a86bf9f181d482dbece7434ea8e3c923ab3.camel@riseup.net>
In-Reply-To
<f7e636c5-e963-17c5-e1eb-dc9e76174ed7@nerdbynature.de> (view parent)
DKIM signature
missing
Download raw message
On Sun, 2026-05-03 at 14:34 +0200, Christian Kujau wrote:
> Automatic package removals...I'd be careful with that :-) Can you give
> an example on why you want to do that? Like, "remove the 10 least used
> packages" or something? Do other distributions have something like
> this?

I think in this context, the OP is referring to synchronization between
different Alpine installations.

So if the Foo package was removed in Alpine installation 1, it should
also be removed in Alpine installation 2.
Martin Kjær Jørgensen <me@lagy.org>
Details
Message ID
<22d4836a.AV0AAJZruo0AAAAAAAAABGE_03AAAYKKTDEAAAAAADUqzQBp-H7M@mailjet.com>
In-Reply-To
<f7e636c5-e963-17c5-e1eb-dc9e76174ed7@nerdbynature.de> (view parent)
DKIM signature
missing
Download raw message
On 05/03/26 14:34 PM, Christian Kujau wrote:
> On Thu, 30 Apr 2026, Martin Kjær Jørgensen wrote:
>> - updates/patches
>> - upgrades
>> - automatically installing desired packages
>
> There's apk-autoupdate tool:
>
>   https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper#Autoupdate_tool_for_apk
>
> Never used it though, I'm using a cron job with "apk upgrade" and this 
> works quite well.
>

Thanks for the hint. I'll look into it.

>> - automatically removing obsolete or unneeded packages
>
> Automatic package removals...I'd be careful with that :-) Can you give an 
> example on why you want to do that? Like, "remove the 10 least used 
> packages" or something? Do other distributions have something like this?
>

I do not know if other distributions have such a tool. I thought about keeping
one or more text files, like the world file, that lists desired packages for
groups of machines. So machine checks if its in a particular group and
install/removes packages accordingly.

A simple use case; imagine you have a desktop and a laptop. You wish to make
sure needed packages are installed on both systems but also removes packages
not needed or wanted anymore. You also want to maintain lists of packages only
wanted on desktop and another for the laptop. For instance, the desktop might
not need wireless tools and firmware, but the laptop does.

>> - config (/etc files)
>
> What about this, what do you intend to manage here?

I intent to keep a repository or file system with /etc files so that machines
can easily share/sync their /etc. I realize, most files in /etc would not be
synced between machines, but a few might. Like setting files for daemons
needed on all systems, bash/profile files, and similar.

>
> C.
> -- 
> BOFH excuse #188:
>
> ..disk or the processor is on fire.

-- 
/Martin
Details
Message ID
<DI9UZ210W2CF.3DNLRX07WODLS@posteo.net>
In-Reply-To
<87a4ukrjzf.fsf@lagy.org> (view parent)
DKIM signature
missing
Download raw message
> - config (/etc files)
> - automatically installing desired packages
> - automatically removing obsolete or unneeded packages

For that I use custom (meta)packages with dependencies and config files:
https://codeberg.org/sertonix/aports/src/branch/main/custom

I build the packages on a specific device and have them automatically
copied to other devices through syncthing. Then on the next upgrade the
changes are applied.
Martin Kjær Jørgensen <me@lagy.org>
Details
Message ID
<c0ffa9ab.AWMAAJcSfiAAAAAAAAAABGE_03AAAYKKTDEAAAAAADUqzQBp-Zfk@mailjet.com>
In-Reply-To
<DI9UZ210W2CF.3DNLRX07WODLS@posteo.net> (view parent)
DKIM signature
missing
Download raw message
On 05/04/26 11:33 AM, Sertonix wrote:
>> - config (/etc files)
>> - automatically installing desired packages
>> - automatically removing obsolete or unneeded packages
>
> For that I use custom (meta)packages with dependencies and config files:
> https://codeberg.org/sertonix/aports/src/branch/main/custom

I like that approach, but I was wondering why do you prefix packages with
"0+"?

>
> I build the packages on a specific device and have them automatically
> copied to other devices through syncthing.

Why use syncthing for distribution, instead of uploading to a remote web
server for clients to pull from?

>Then on the next upgrade the changes are applied.

Once the packages are distributes, does your machines automatically update
unattended, or do you manually trigger upgrade?

-- 
/Martin
Details
Message ID
<afn-_JEUJ8hYFE4B@hope>
In-Reply-To
<22d4836a.AV0AAJZruo0AAAAAAAAABGE_03AAAYKKTDEAAAAAADUqzQBp-H7M@mailjet.com> (view parent)
DKIM signature
missing
Download raw message
On Mon, May 04, 2026 at 01:11:02PM +0200, Martin Kjær Jørgensen wrote:
>A simple use case; imagine you have a desktop and a laptop. You wish to make
>sure needed packages are installed on both systems but also removes packages
>not needed or wanted anymore. You also want to maintain lists of packages only
>wanted on desktop and another for the laptop. For instance, the desktop might
>not need wireless tools and firmware, but the laptop does.
>
>>> - config (/etc files)
>>
>> What about this, what do you intend to manage here?

Why not using a a Infrastructure as Code such as Ansible (or other) to 
automatize your machines configuration? This is exactly how I manage my 
many Unix machines (different Linux distributions and BSD as well).
Details
Message ID
<Orx9Eqz--J-9@keemail.me>
In-Reply-To
<87a4ukrjzf.fsf@lagy.org> (view parent)
DKIM signature
missing
Download raw message
you can try pyinfra


Apr 30, 2026, 12:53 by me@lagy.org:

> Hey users,
>
> How do you maintain multiple Alpine Linux installations in your daily lives? I
> assume you have desktops, laptops, work stations, etc. you run Alpine on, and
> wish to maintain them by using rules/lists across machines that dictate what
> to do on then.
>
> I'm thinking about problems like:
>
> - updates/patches
> - config (/etc files)
> - upgrades
> - automatically installing desired packages
> - automatically removing obsolete or unneeded packages
>
> I know there are tools like rsync, and comparing world files to help, but I
> wonder if you or Alpine have made tools for these problems in particular.
>
> -- 
> /Martin
>
Reply to thread Export thread (mbox)