Disclaimer: this is a bit of a hack, you should maybe not use the template for VMs with an unrestricted internet connection. But enables you to run legacy software like EDA tools, AlmaLinux is on LTS security only till 2029
How to updated the in qubes 4.2 (community-templates) provided centos-stream-8 template to almalinux 8.10:
adapted from the steps above.
first remove/disable some repos, to avoid upgrade conflicts:
sudo mv /etc/yum.repos.d/CentOS-Stream-Extras-common.repo /etc/yum.repos.d/CentOS-Stream-Extras-common.repo.disabled
sudo mv /etc/yum.repos.d/_copr:copr.fedorainfracloud.org:fepitre:epel-8-qubes.repo /etc/yum.repos.d/_copr:copr.fedorainfracloud.org:fepitre:epel-8-qubes.repo.disabled
then point the repos to the archived centos repos
# Fix BaseOS repository
sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$stream&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$stream\// s/^#*/#/' -e '/^\[baseos\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/BaseOS/$basearch/os' /etc/yum.repos.d/CentOS-Stream-BaseOS.repo
# Fix AppStream repository
sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$stream&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$stream\// s/^#*/#/' -e '/^\[appstream\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/AppStream/$basearch/os' /etc/yum.repos.d/CentOS-Stream-AppStream.repo
# Fix ContinuousRelease repository
sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$stream&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$stream\// s/^#*/#/' -e '/^\[cr\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/ContinuousRelease/$basearch/os' /etc/yum.repos.d/CentOS-Stream-ContinuousRelease.repo
# Fix Extras repository
sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$stream&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$stream\// s/^#*/#/' -e '/^\[extras\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/extras/$basearch/os' /etc/yum.repos.d/CentOS-Stream-Extras.repo
# Fix HighAvailability repository
sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$stream&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$stream\// s/^#*/#/' -e '/^\[ha\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/HighAvailability/$basearch/os' /etc/yum.repos.d/CentOS-Stream-HighAvailability.repo
# Fix PowerTools repository
sudo sed -i -e '/mirrorlist=http:\/\/mirrorlist.centos.org\/?release=$stream&arch=$basearch&repo=/ s/^#*/#/' -e '/baseurl=http:\/\/mirror.centos.org\/$contentdir\/$stream\// s/^#*/#/' -e '/^\[powertools\]/a baseurl=https://mirror.rackspace.com/centos-vault/8.5.2111/PowerTools/$basearch/os' /etc/yum.repos.d/CentOS-Stream-PowerTools.repo
then update
sudo dnf update -y --allowerasing --nobest
next you need to build some shim packages yourself for this
install
sudo dnf install -y rpm-build redhat-rpm-config make gcc --skip-broken
then use the 3 shell scripts to build dummy or name shims:
shim_packages.tar.gz (1.3 KB)
(download them in a disposible wm, extract, read them, then transfer them to the centos-stream template)
read the scripts first (common sense),
build-shadow-compat creates a package that provides “shadow” and depends on shadow-utils
build-pulseaudio-compat creates a package that provides “pulseaudio-daemon” amd depends on pulseaudio
build-fwupdqubes-dummy creates a empty package that provides “fwupd-qubes-vm” because the original has dependencies requiring EL9
after you run them with bash <build-script.sh>
install them with
sudo dnf install \
/home/user/rpmbuild/RPMS/noarch/fwupd-qubes-vm-dummy-3-1.el8.noarch.rpm \
/home/user/rpmbuild/RPMS/noarch/pulseaudio-compat-2-2.el8.noarch.rpm \
/home/user/rpmbuild/RPMS/noarch/shadow-compat-1-1.el8.noarch.rpm
now download the almalinux-deploy.sh from GitHub - AlmaLinux/almalinux-deploy: EL to AlmaLinux migration tool. · GitHub in a disposible VM and transfer it to your template
give the template internet access to download the new repokeys
run the update and conversion with
sudo bash almalinux-deploy.sh --downgrade
disable internet access to your template
run
sudo dnf update
to notify qubes updater the tmplate is uptodate
and voila you are on almalinux-8.10 with “OS security updates” till 2029