Thursday, October 30, 2025

Fedora 43 KVM Hypervisor && bring CachyOS KDE Plasma 6.5.1 along with kernel to Arch Linux VM

UPDATE as of 04/26/2026

Per Google "The standard order" for CachyOS or any Arch-based system is:

    Initialize: sudo pacman-key --init
    (This sets up the GPG environment if it's broken or missing.)
    Populate: sudo pacman-key --populate archlinux cachyos
    (This imports the trusted keys into your system.)
    Update Keyrings: sudo pacman -Sy archlinux-keyring cachyos-keyring
    (This ensures you actually have the newest versions of those keys.)
    Final Sync: sudo pacman -Syu
    (This applies the updates to the rest of your system now that the signatures are verified.)

=====================================    
"Why the order sometimes swaps"
=====================================
    The "Chicken and Egg" Problem:
        If your system's local archlinux-keyring is too old, it won't recognize the signatures on any new packages you try to download.
        If you try to populate (Command 2) using an old keyring, it may not have the new master keys needed for current packages.
        In this case, you must force-update the keyring package first (Command 3) so that the local database has the new keys to "populate" from.

    Cosmic vs. KDE: Cosmic is a newer, more "experimental" DE in the CachyOS ecosystem. If you were pulling Cosmic packages  from a very recent repository update, your system was more likely to demand the absolute latest keys immediately to verify those specific files.
    Mirror Sync: Sometimes a mirror is slightly out of sync. Updating the keyring package first (3) manually pulls the latest security certificates from the server, which can "unstick" a populate command (2) that was failing because it was looking for keys that didn't exist in your old local files yet. 

UPDATE as of 12/14/2025

To avoid failure when running  `sudo ./cachy-repo.sh` on fresh installation following below update  is required

$ diff ./NEW/cachyos-repo.sh ./OLD/cachyos-repo.sh
165c165
<               "${mirror_url}/pacman-7.1.0.r7.gb9f7d4a-3-x86_64.pkg.tar.zst"
---
>               "${mirror_url}/pacman-7.0.0.r7.g1f38429-2-x86_64.pkg.tar.zst"

END UPDATE 

 UPDATE as of 11/27/2025

Would you experience any issues with  cachyos-rate-mirrors, just remind that cachyos-rate-mirrors is a wrapper script for the rate-mirrors tool, specifically configured to rank and update both Arch Linux and CachyOS  mirrors for the user's mirror list file. It automatically tests available mirrors based on speed and synchronization status to ensure pacman downloads are optimized. It's a wrapper: It is not a replacement for rate-mirrors but rather a specific version or a script that uses rate-mirrors's underlying functionality. See man pages for rate-mirrors.

END UPDATE 

Following below is procedure which allows to install on Arch Linux CachyOS v3 repositories along with pacman fork belongs to CachyOS. Proceed as advised in post on Arch Linux KVM Guest deployed via F43/42 KVM Hypervisor .  Upgraded Arch Instances have successfully passed  via `sudo pacman -Syyu` multiple times during several recent days. Re-sync of v3 repos and core && extra works pretty stable ( u,u^interrupted,sudo pacman -Syyu ) - the same commands as described in post after first reboot Arch VM into CachyOS kernel. I also have to confirm that Re-sync might be randomly required.  The hack step below is scp cachyos-rate-mirrors script from remote native CachyOS Instance to the target one.

$ sudo pacman-key --init

$ sudo pacman-key --populate

$ sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.com

$ sudo pacman-key --lsign-key F3B607488DB35A47

Either run as script

$ cat reSignCachyos1.sh
sudo rm -rf /etc/pacman.d/gnupg/
sudo pacman-key --init
sudo pacman-key --populate
sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.com
sudo pacman-key --lsign-key F3B607488DB35A47
sudo rm -R /var/lib/pacman/sync  

Next Step
 $ curl https://mirror.cachyos.org/cachyos-repo.tar.xz -o cachyos-repo.tar.xz

$ tar xvf cachyos-repo.tar.xz && cd cachyos-repo

The step in particular installs pacman's fork belongs to CachyOS

$ sudo ./cachyos-repo.sh

$ cd

Scp binary cachyos-rate-mirrors  from native CachyOS box to target one

$ vim .bashrc

Add at bottom of .bashrc function u() :-

u() {
    # Check if pacman is locked by another process
    if [ -f /var/lib/pacman/db.lck ]; then
        echo "Pacman is locked. Attempting to remove stale lock file..."
        sudo rm /var/lib/pacman/db.lck
    fi
    # 1. Refresh mirrors and update system via yay
    sudo cachyos-rate-mirrors && yay --noconfirm
    # 2. Clear pacman cache (keep only the last 3 versions of each package)
    # Using 'yes' to automate the prompt safely
    yes | sudo paccache -rk3
    # 3. Remove orphaned packages (unused dependencies)
    # The 'if' check prevents errors if no orphans are found
    ORPHANS=$(pacman -Qtdq)
    if [ -n "$ORPHANS" ]; then
        sudo pacman -Rns $ORPHANS --noconfirm
    else
        echo "No orphaned packages to remove."
    fi

:wq

$ u

Failure to succeed with u() completion might force you to run

❯ cat reSyncLatest.sh
# See the most recent Update related with transfer             Cosmic from CachyOS repos to ArchLinux

sudo rm -rf /etc/pacman.d/gnupg/
sudo pacman-key --init

# start with populate
sudo pacman-key --populate archlinux cachyos                  

sudo pacman -Sy archlinux-keyring cachyos-keyring

Final draft proposed :-

#!/bin/bash
# A script to fix PGP signature errors on Arch/CachyOS
echo "--- Syncing system clock (Required for GPG) ---"
sudo timedatectl set-ntp true
echo "--- Clearing old keyring data ---"
sudo rm -rf /etc/pacman.d/gnupg
echo "--- Initializing new keyring ---"
sudo pacman-key --init
echo "--- Populating Arch and CachyOS keys ---"
sudo pacman-key --populate archlinux cachyos
echo "--- Force-updating keyring packages ---"
sudo pacman -Sy archlinux-keyring cachyos-keyring --noconfirm
echo "--- Success! You can now run 'sudo pacman -Syu' ---"
 

If you still cannot to fix the problem, then attempt to run :

$ rate-mirrors cachyos && yay

$ u  # which is supposed to invoke cachyos-rate-mirrors 

Right after successful u() completion install Cachyos kernel and reboot Arch Linux VM into CachyOS kernel

$ sudo pacman -S linux-cachyos linux-cachyos-headers

$ sudo grub-mkconfig -o /boot/grub/grub.cfg

$ sudo reboot

 On Arch VM rebooted into Cachyos kernel

$ u 

Attempt to run `sudo pacman -Syyu` is supposed to perform final repositories synchronization .

Next step is running `yay -S pamac-aur` and perform another one preferences/refresh sync v3 repos, extra, core and AUR using Add/Remove programs interface.

Now make sure that pacman been installed on Arch Linux instance was a CachyOS pacman fork.

ssh boris@192.168.0.16
boris@192.168.0.16's password:  
Permission denied, please try again.
boris@192.168.0.16's password:  
                 ╭───────────╮  
     /\          │  user       boris
    /  \         │ 󰇅 hname   ArchTestify
   /    \        │ 󰅐 uptime   53 mins
  /      \       │  distro     Arch Linux x86_64
 /   ,,   \      │  kernel    Linux 6.17.5-2-cachyos
/   |  |   \      |  wm         │ KWin (Wayland)
/_-''    ''-_\ | 󰇄 desktop │ KDE Plasma 6.5.1
                 │  term      /dev/pts/2
                 │  shell       bash 5.3.3
                 │ 󰍛 cpu        8 x Intel(R) Xeon(R) E5-2690 v3 (8) @ 2.59 GHz
                 │ 󰉉 disk      13.47 GiB / 56.91 GiB (24%) - ext4
                 │  memory  │ 3.23 GiB / 15.24 GiB (21%)
                 ├───────────┤  
                 │  colors   ● ● ● ● ● ● ● 
                 ╰───────────╯  
~
 sudo pacman -Syyu
[sudo] password for boris:  
:: Synchronizing package databases...
cachyos-v3                                                 136.4 KiB   300 KiB/s 00:00 [##################################################] 100%
cachyos-core-v3                                            101.1 KiB  88.2 KiB/s 00:01 [##################################################] 100%
cachyos-extra-v3                                             4.2 MiB  3.96 MiB/s 00:01 [##################################################] 100%
cachyos                                                    506.8 KiB   810 KiB/s 00:01 [##################################################] 100%
core                                                       117.4 KiB   284 KiB/s 00:00 [##################################################] 100%
extra                                                        8.0 MiB  5.67 MiB/s 00:01 [##################################################] 100%
:: Starting full system upgrade...
warning: archlinux-keyring: local (20251027-3) is newer than cachyos (20251027-2)
there is nothing to do

~
 pacman -Qi pacman
Installed From  : None
Name            : pacman
Version         : 7.0.0.r7.g1f38429-2
Description     : A library-based package manager with dependency support. CachyOS fork.
Architecture    : x86_64
URL             : https://www.archlinux.org/pacman/
Licenses        : GPL-2.0-or-later
Groups          : None
Provides        : libalpm.so=15-64
Depends On      : bash  coreutils  curl  libcurl.so=4-64  gawk  gettext  glibc  gnupg  gpgme  libgpgme.so=45-64  grep  libarchive
                 libarchive.so=13-64  openssl  libcrypto.so=3-64  pacman-mirrorlist  systemd
Optional Deps   : base-devel: required to use makepkg [installed]
                 perl-locale-gettext: translation support in makepkg-template
Required By     : appstream-glib  archlinux-keyring  base  base-devel  libpamac-aur  pacman-contrib
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 10.04 MiB
Packager        : CachyOS <admin@cachyos.org>
Build Date      : Sun 19 Oct 2025 12:10:57 PM UTC
Install Date    : Fri 31 Oct 2025 11:13:32 AM UTC
Install Reason  : Installed as a dependency for another package
Install Script  : No
Validated By    : Signature

Thus KVM Hypervisor's packages would be installed from CachyOS *_v3 repositories as well as Hyprland with ML4W Dotfiles 2.9.9.3 packages installed via Dotfiles Installer 0.10.0.  Both procedures were verified on Arch Linux upgraded virtual instances






















At this point you may also perform a complete upgrade system to CachyOS
$ sudo pacman -S ananicy-cpp
$ sudo pacman -S cachyos-kernel-manager
$ pacman -Qqn | sudo pacman -S -


Verification step

$ pacman -Qs cachyos
local/cachyos-kernel-manager 1.16.1-1 (cachyos)
   Simple kernel manager
local/cachyos-keyring 20240331-1 (cachyos)
   CachyOS keyring
local/cachyos-mirrorlist 22-1 (cachyos)
   CachyOS repository mirrorlist
local/cachyos-v3-mirrorlist 22-1 (cachyos)
   CachyOS repository mirrorlist
local/cachyos-v4-mirrorlist 22-1 (cachyos)
   CachyOS repository mirrorlist
local/chwd 1.16.1-1 (cachyos)
   CachyOS Hardware Detection Tool
local/linux-cachyos 6.17.8-2
   The Linux BORE + LTO + AutoFDO + Propeller Cachy Sauce Kernel by CachyOS with other patches and improvements. kernel and modules
local/linux-cachyos-headers 6.17.8-2
   Headers and scripts for building modules for the Linux BORE + LTO + AutoFDO + Propeller Cachy Sauce Kernel by CachyOS with other patches and
   improvements. kernel
local/pacman 7.0.0.r7.g1f38429-2
   A library-based package manager with dependency support. CachyOS fork.
local/scx-manager 1.15.7-1 (cachyos)
   Simple GUI for managing sched-ext schedulers via scx_loader

References


No comments:

Post a Comment