Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

bootc-fetch-apply-updates.timer/service never run on the composefs backend (`/run/ostree-booted` condition)

未关闭
#2,578 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
72/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
linux, rust

调研方向

Start by inspecting bootc-fetch-apply-updates.timer and bootc-fetch-apply-updates.service, then trace the boot flow that creates /run/ostree-booted and the existing composefs marker. Verify the update units activate on both backends while retaining the intended bootc-managed-host safeguards, and add regression coverage for each backend.

由索引模型根据 Issue 内容生成。

描述

Describe the bug

On a composefs-backend (sealed / UKI) install, the automatic update units never run:

$ systemctl status bootc-fetch-apply-updates.timer
○ bootc-fetch-apply-updates.timer - Apply bootc updates
     Loaded: loaded (/usr/lib/systemd/system/bootc-fetch-apply-updates.timer; enabled; preset: enabled)
     Active: inactive (dead)
    Trigger: n/a
   Triggers: ● bootc-fetch-apply-updates.service
  Condition: start condition unmet at ...; 8min ago
             └─ ConditionPathExists=/run/ostree-booted was not met

/run/ostree-booted is only created by the ostree backend (ostree-prepare-root). On the composefs backend that service is skipped (ConditionKernelCommandLine=ostree) and no equivalent marker is created, so both bootc-fetch-apply-updates.timer and bootc-fetch-apply-updates.service carry an unmet ConditionPathExists=/run/ostree-booted and stay inactive forever.

Impact

Hosts installed with the composefs backend (e.g. sealed images booting a signed UKI) never fetch or apply updates automatically; they need an explicit bootc upgrade. The units are shipped enabled and there is no composefs-specific equivalent, so this is silent.

Environment
  • bootc 1.16.13 (quay.io/fedora/fedora-bootc:44, systemd 259.9)
  • Installed with bootc install to-disk from a sealed (UKI + composefs + fs-verity) image with systemd-boot + Secure Boot
  • Running as a VM on Proxmox VE 9.2; reproduced on a plain composefs install too
Workaround
# /etc/systemd/system/bootc-fetch-apply-updates.timer.d/10-composefs.conf
[Unit]
ConditionPathExists=

and the same drop-in for bootc-fetch-apply-updates.service. Verified: the timer then becomes active and schedules normally.

Suggested fix

Either drop the condition and let bootc itself decide whether the host is bootc-managed, or use a marker both backends provide (the composefs backend already creates /ostree/bootc; a /run/bootc-booted-style marker or a bootc status check would work).

主要语言
Rust
星标
2.3k
派生
230
平均合并
2 天 4 小时
30 天内合并 PR
45

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

bootc-dev/bootc 的其他 Issue

查看 bootc-dev/bootc 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。