Open orowith2os opened 1 year ago
Do you really want to be carrying these local overrides on top of the remote image? It would likely work to drop those overrides, then rebase like:
$ rpm-ostree reset -lo
$ rpm-ostree rebase ...
(Which, hm we should definitely add an rpm-ostree rebase --reset
too, though of course this gets into https://github.com/coreos/rpm-ostree/issues/2326 and https://github.com/coreos/rpm-ostree/issues/3403 too)
error: No such file or directory (os error 2)
Hmm. The dreaded unprefixed error; debugging this will be a bit of a pain without me trying to setup a full reproducer environment. Do you know how to use strace
? Basically from a privileged container (or installed/layered strace binary), do e.g. rpm-ostree status && strace -f -p $(systemctl show -p MainPID rpm-ostreed | cut -f 2 -d =) -o /tmp/strace.log &
and then run the rebase command, then something like 'grep ENOENT /tmp/strace.log` would be helpful.
Do you really want to be carrying these local overrides on top of the remote image? It would likely work to drop those overrides, then rebase like: ...
Shouldn't rpm-ostree automatically make those overrides inactive? IIRC it does that for some remove
overrides, and I want to keep the overrides active for whenever I use a GNOME-based image.
I also do not know how to use strace, but I can run the commands you listed. One moment.
Update: The commands you showed didn't quite work, it just put an empty file into /tmp.
OK https://github.com/coreos/rpm-ostree/pull/4246 gets me:
error: Preparing passwd content: Preparing pwgrp: Renaming original etc/passwd: No such file or directory (os error 2)
Which is far more helpful, and shows that this image is missing /etc/passwd
. In theory perhaps we could try to support this in some way, but for now...don't delete /etc/passwd
? Where's the source code that builds this?
The image I'm trying to rebase to is located at https://github.com/orowith2os/pitti-workstation-oci/blob/main/Containerfile
Right, so https://github.com/orowith2os/pitti-workstation-oci/blob/956f7fdd97d3cc0d4cecbd027b0dff55101fdb1a/setup.sh#L25 is introducing this problem right now.
Now...the thing is, ultimately having user/groups only in /usr/lib
does make some sense, but there's a conflict right now with trying to do that and local package layering.
I think the semantics you want are to rpm-ostree reset -ol
before doing the rebase anyways so that you're in "pure image" mode.
Host system details
Expected vs actual behavior
Expected: rpm-ostree would rebase successfully
Steps to reproduce it
Not sure, try
sudo rpm-ostree rebase --experimental ostree-unverified-registry:ghcr.io/orowith2os/pitti-workstation-oci:latest
Would you like to work on the issue?
I can try to help with bug testing and whatnot, but I don't know C/C++, and very little Rust.