I’m interested in using the proprietary tailscale VPN software on a Fedora Silverblue installation. Tailscale provides Fedora-compatible RPM repos, but I’m not sure as to whether I can include them in Silverblue.
Has anyone tried something similar to what I’m try to accomplish? If so, what’s the recommended path forward here?
Hi Jim! I toss the tailscale.repo file in /etc/yum.repos.d
and then rpm-ostree install tailscale
. I’ve been using it like this without issue, seems like the least offensive way to get it working.
I think this should be included in the documentation of Silverblue–as for now, there’s no clear explanation how to add foreign repos on Silverblue (or I couldn’t find it) and some time ago I had a similar doubt.
I use ProtonVPN on Silverblue but in this case, .rpm is provided by Proton–you just install the .rpm with rpm-ostree install
and the repo is added.
See also Simplifying updates for RPM Fusion packages (and other packages shipping their own RPM repos) - Fedora Discussion for RPM packages that include their own .repo
config files.
Hi @siosm
Having read Simplifying updates for RPM Fusion packages (and other packages shipping their own RPM repos) ; is there a way to add thoses repos:
- without the
rpm-ostree install <url>.rpm
which do require a reboot - but through
flatpak remote-add
or any other way ?
My use case: installing multiple software with a kickstart file in the post-install part of the file and I’m not sure it can handle reboot(s) .
At present installing several softwares not distributed in flatpak would require multiple reboots after installing a standard Fedora Silverblue/Kinoite image:
-
Reboot after
rpm-ostree install
for the repo , like rpmfusion
Eg:sudo rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
-
Reboot after rpm-ostree install .rpm .rpm etc…
-
Repeat steps 1 and 2 for each repo URL info embedded in a .rpm file
- rpm that may need an rpm install
You can copy the repo files to /etc/yum.repos.d/ since it is mutable, and that is all the install from rpm does.
Thanks @jakfrost
What are exactly the right files and how to extract them from the rpmfusion-(non)free-release-$(rpm -E %fedora).noarch.rpm
.rpm file so that I put them in /etc/yum.repos.d/
?
The files have a dot repo extension. Using the RPM via rpm-ostree does all of the manual steps you would have to do and avoids potential of missing one or continuing without correctly completing the installation. You can install them at the same time prior to reboot. I don’t know if a kickstart file will survive across a reboot, I am not as versed in them as I would like. Perhaps you could also make a first start file for finalizing the install, say for anything that needed the reboot before completing?
There is currently no easy way to do that in the kickstart as rpm-ostree is not available / running there so you have to do it afterwards.
You can chain multiple rpm-ostree operations one after the other and you don’t have to reboot every time. I have not fully tested it but you should be able to do:
$ rpm-ostree install ./packages-with-repo-files*.rpm
$ rpm-ostree update --uninstall ... --install ...
$ reboot
Careful not to mix Flatpak remotes, ostree remotes and RPM repos as they are different things.
Thank you @ siosm for you answer, could you please elaborate on what you have pointed out, because it is still bit confusing in my mind on the the differences:
- Flatpak remote: repository containing Flatpaks. It uses OSTree but does not install to system, generate images, need reboot etc
- OSTree remotes: the remote where the developers system image lies. The Silverblue/Kinoite/… they intended, how it should be. It is up-to-date and rpm-ostree, without any changes, copies that exact image to your local machine, so that you have exactly that system on your PC. Result: 1:1 reproducible packages.
- RPM repos: Repositories with RPM files in them, along with metadata, etc. RPM-Ostree can pull packages from there, recognize their dependencies and layer the package(s) to your rpm-ostree system.
Hi,
Do you know a way to install tailscale in silverblue ?
Thanks
I think you can follow this guide to install Tailscale: Tailscale installation guide for Fedora.
Instead of using dnf config-manager
, you need to manually copy and add https://pkgs.tailscale.com/stable/fedora/tailscale.repo
to /etc/yum.repos.d/
.
After that, you can use rpm-ostree to install Tailscale:
rpm-ostree install tailscale
The rest of the instructions should work on Fedora Silverblue.
curl https://pkgs.tailscale.com/stable/fedora/tailscale.repo | sudo tee > /etc/yum.repos.d/tailscale.repo
To avoid using root on the Internet.
Added atomic-desktops, rpm-ostree, tailscale
thanks, works like a charm!