Re: /etc/os-release but for images

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

First of all, thanks for your answers.

It wasn't really clear to me that the /etc/os-release file was editable from a 3rd party other than the distribution maintainers, so thanks for the clarifications. Are the distributions required to leave IMAGE_ID and IMAGE_VERSION empty? Can I safely just append those fields at the end of the copy of the /etc/os-release file?

Speaking of BUILD_ID, according to the spec sounds like a field reserved to distributions: "BUILD_ID may be used in distributions where the original installation image version is important", from my side what I need is to identify the git revision + build date of the recipe I'm using to cook the image installed on the system, also my plan is to change that ID every time I cook a new image, furthermore I plan to replace the whole operating system image (that I keep read-only) in order to update it, so BUILD_ID would change at every update (so it sounds slightly different from the original described semantic).
Last but not least, I was looking for a machine parsable unique id, so I plan to use BUILD_UUID if it is not kept reserved for other usages, that will be an UUID that is freshly generated every time I cook a new image.

Regards,
Davide Bettio.


Il giorno mar 22 mar 2022 alle ore 18:09 Lennart Poettering <lennart@xxxxxxxxxxxxxx> ha scritto:
On Di, 22.03.22 17:10, Davide Bettio (davide.bettio@xxxxxxxxxxxx) wrote:

> Hello,
>
> I would like to figure out if anyone has proposed any kind of standard for
> storing metadata about a system image.

The IMAGE_ID= and IMAGE_VERSION= fields from /etc/os-release are
supposed to be used for that.

i.e. the idea was that you can take a generic distro (fedora, debian,
…) build an image off it, and it will put its own os info in
/usr/lib/os-release, and make /etc/os-release a symlink to it. Your
image build would then replace /etc/os-release with a file, that
incorporates /usr/lib/os-release and adds in IMAGE_ID=/IMAGE_VERSION=.

Each time you rebuild the image your image building tool would repeat
that step. i.e. it would be the image builder tool's job to extend the
generic OS data from /usr/lib/ with info about the image and place the
result in /etc/.

Lennart

--
Lennart Poettering, Berlin

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux