Last active
May 2, 2026 23:43
-
-
Save awdemos/2afc60416a62eae2b92ef7eb145dd0f7 to your computer and use it in GitHub Desktop.
Disable Fedora Age Verification
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Fedora Atomic (e.g., Silverblue, Kinoite) uses rpm-ostree for immutable /usr, so traditional `systemctl mask` on host services like systemd-userdbd requires layering or overrides, while user-level masking persists across rebase. These steps target age verification via systemd-userdb birthDate field and AccountsService integration. Reboot and `rpm-ostree status` after; test in toolbox for safety. [discussion.fedoraproject](https://discussion.fedoraproject.org/t/a-practical-architectural-solution-to-os-level-age-verification-laws/183387) | |
| ## Core Removal | |
| Layer tools to override packages or drop-ins for persistence post-rebase. | |
| - **User-level mask (quickest, survives updates)**: `systemctl --user mask --now systemd-userdbd.service systemd-userdbd.socket xdg-desktop-portal.service`—blocks per-user D-Bus queries. [github](https://github.com/systemd/systemd/issues/15175) | |
| - **Host mask systemd-userdbd**: `rpm-ostree override remove systemd-userdbd` then `rpm-ostree install systemd` (or layer `systemd-libs`); rebase with `rpm-ostree rebase --uninstall systemd-userdbd` if available. [github](https://github.com/coreos/rpm-ostree/issues/4938) | |
| - **Pin pre-feature systemd**: Download RPM (e.g., systemd-256.x pre-PR#40954), `rpm-ostree override replace ./systemd-*.rpm`; avoids upstream changes. [discussion.fedoraproject](https://discussion.fedoraproject.org/t/a-practical-architectural-solution-to-os-level-age-verification-laws/183387?page=2) | |
| ## Metadata Edit | |
| AccountsService files are in /var/lib (writable). | |
| - Edit `/var/lib/AccountsService/users/$USER`: Add `BirthDate=1980-01-01` or `AgeBracket=18+`; `sudo systemctl restart accounts-daemon`. [facebook](https://www.facebook.com/groups/GNUAndLinux/posts/10174734331440019/) | |
| - Persist via rpm-ostree: `rpm-ostree layer --allow-inactive accounts-service` if needed for daemon. [docs.fedoraproject](https://docs.fedoraproject.org/en-US/quick-docs/displaying_user_prompt_on_gnome_login_screen/) | |
| ## Decision Matrix | |
| | Method | Pros | Cons | Atomic Fit | | |
| |--------|------|------|------------| | |
| | User mask | No rebase disruption; app-level block [github](https://github.com/systemd/systemd/issues/15175) | User-session only | Best starter | | |
| | rpm-ostree override | Removes package files [github](https://github.com/coreos/rpm-ostree/issues/4938) | Breaks on conflicts | For host services | | |
| | Custom OSTree | Full rebuild sans feature [news.ycombinator](https://news.ycombinator.com/item?id=39315880) | High effort | Expert | | |
| | Forked systemd | Clean upstream sync [youtube](https://www.youtube.com/watch?v=J7ErSdJLa3w) | Compile Rust-like | Long-term | | |
| ## Expert Commentary | |
| Atomic's design favors overrides for compliance opt-out, akin to open-source patching ethos—use `rpm-ostree status --json` for verification. Socratic: Prioritizing AI dev stability in Abilene, does CA law apply, or preempt via Texas stance? Fork "Liberated systemd" for immutable purity if overrides insufficient. [news.ycombinator](https://news.ycombinator.com/item?id=39315880) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment