Silverblue
Revision as of 20:17, 10 November 2024 by Ekaanbj (talk | contribs) (→add repo via dnf copr enable)
Fedora Silverblue's immutable design.
ostree
Basic Commands
Update to latest
rpm-ostree upgrade
Get system status. Installed rpm:s are defined as LayeredPackages
rpm-ostree status
Find available updates
rpm-ostree upgrade --check
Find suitable repository.
ostree remote refs fedora | grep silverblue | grep x86_64
Set repository. Switch os. Upgrade/downgrade
rpm-ostree rebase fedora:fedora/rawhide/x86_64/silverblue rpm-ostree rebase fedora:fedora/41/x86_64/silverblue
Replace
rpm-ostree override remove nfs-utils-coreos --install nfs-utils
list installed rpm-ostree installed packages
rpm-ostree status --json | jq -r '.deployments[0].packages|flatten[]' | xargs
add repo
sudo curl https://copr.fedorainfracloud.org/coprs/ojab/openvpn3/repo/fedora-40/ojab-openvpn3-fedora-40.repo -o /etc/yum.repos.d/openvpn3.repo
add repo via dnf copr enable
toolbox create toolbox enter dnf copr enable -y dsommers/openvpn3-devsnapshots copy file under /etc/yum.repos.d/
Example
cat > /etc/yum.repos.d/_copr:copr.fedorainfracloud.org:dsommers:openvpn3-devsnapshots.repo << 'EOF' name=Copr repo for openvpn3-devsnapshots owned by dsommers baseurl=https://download.copr.fedorainfracloud.org/results/dsommers/openvpn3-devsnapshots/fedora-$releasever-$basearch/ type=rpm-md skip_if_unavailable=True gpgcheck=1 gpgkey=https://download.copr.fedorainfracloud.org/results/dsommers/openvpn3-devsnapshots/pubkey.gpg repo_gpgcheck=0 enabled=1 enabled_metadata=1 EOF
Remotes
Add a remote
ostree remote add <REMOTE> <URL>
Remove a remote
ostree remote delete <REMOTE>
List configured remotes
ostree remote list
List remote contents
ostree remote refs <REMOTE>
Layered Packages
Uninstall a layered package
rpm-ostree uninstall <PACKAGE>
Install a layered package
rpm-ostree install <PACKAGE>
Install without reboot
rpm-ostree install --apply-live <packages>
Debugging and Rollback
Remove the previous deployment
rpm-ostree cleanup --rollback
Download older commits
ostree pull --commit-metadata-only --depth=<n> <REMOTE> <BRANCH>
Make the previous deployment the default boot entry
rpm-ostree rollback
List downloaded commits
ostree log <REMOTE>:<BRANCH>
Replace rpm
rpm-ostree override replace <path to package>
pin a deployment so that you do not lose it
ostree admin pin 0
Unpin
ostree admin pin --unpin 0