Rockylinux 8.7 local repo error

I am building a local repo and the command I have tried for example 3 below I have tested below and it downloads the packages but when the installation summary open I get a yellow exclamation mark with Error setting up base repository. In my centos7 and test alma linux i did the same and it worked before. What could be wrong?

dnf reposync --gpgcheck --config=/etc/yum.repos.d/Rocky-BaseOS.repo --repoid=base --newest-only --delete --download-path /home/www/html/repos/rockylinux/8.7/ --downloadcomps --download-metadata

dnf reposync -g --delete -p /home/www/html/repos/rockylinux/8.7/ --repoid=base --newest-only --download-metadata --downloadcomps

reposync --repo base --download-path=/home/www/html/repos/rockylinux/8.7/ --downloadcomps --download-metadata

just too add
in my kickstart file I have this line to call the repo:

nfs --dir=/home/www/html/repos/rockylinux/8.7/

repo --name=base --baseurl=nfs://pkgrepo:/home/www/html/repos/rockylinux/8.7/base/

There’s no repository “base” - You might want to use “baseos” instead.

Thanks for that. Reason I had it as base is because in the yum file i had changed the repoid to base so it downloads to a folder called base and this works. But kickstart just has issues seeing it. Now this has worked in the past with centos 7 and with almalinux.

The command I am now using is:
dnf reposync -g --delete -p /home/www/html/repos/rockylinux/8.7/ --repoid=baseos --newest-only --downloadcomps --download-metadata

The error i get is
error setting up base repository
failed to set up installation source

The path in my kickstart is
repo --name=baseos --baseurl=nfs://servername:/home/www/html/repos/rocklinux/8.7/baseos/

the repo im using for yum is:

name=Rocky Linux $releasever - BaseOS

Unfortunately we don’t have enough information to go off of. Without knowing the anaconda errors, it’s hard to tell what exactly the issue is, we can only guess. You can get the logs by going into the tty and viewing them. They are hard to read, but it’s a starting point.

Unfortunately my guess is going to be that url or nfs expect a variant tree to exist at where you’re pointing it. If you have a .treeinfo there (which can contain a variant tree), do you have it properly configured? What exactly is in /home/www/html/repos/rockylinux/8.7/?

I know that this works for me in 9.1:

url --url=""
repo --name="AppStream" --baseurl=

Where my url endpoint has a .treeinfo with proper data (it all came from the DVD).

images/efiboot.img = sha256:99f9e66751429296e1e672a8dec1eff8613ad1256b4d297cc44f2ba5610dfe4c
images/install.img = sha256:5ecfafbe38f846733b5acbe4f9d90edd65f755e031f4b31b444a449b667db408
images/pxeboot/initrd.img = sha256:606787bc66fd3d35e2bf86da732f1ba4ce928299cf6c0fc640dbc3259a9cc550
images/pxeboot/vmlinuz = sha256:30f5c6b831c57b6940f165ae620e232d74549155507fbf134b77484c720acf9b

; WARNING.0 = This section provides compatibility with pre-productmd treeinfos.
; WARNING.1 = Read productmd documentation for details about new format.
arch = x86_64
family = Rocky Linux
name = Rocky Linux 9.1
packagedir = AppStream/Packages
platforms = x86_64,xen
repository = AppStream
timestamp = 1668828693
variant = AppStream
variants = AppStream,BaseOS
version = 9.1

type = productmd.treeinfo
version = 1.2

efiboot.img = images/efiboot.img
initrd = images/pxeboot/initrd.img
kernel = images/pxeboot/vmlinuz

initrd = images/pxeboot/initrd.img
kernel = images/pxeboot/vmlinuz

discnum = 1
totaldiscs = 1

name = Rocky Linux
short = Rocky
version = 9.1

mainimage = images/install.img

arch = x86_64
build_timestamp = 1668828693
platforms = x86_64,xen
variants = AppStream,BaseOS

id = AppStream
name = AppStream
packages = AppStream/Packages
repository = AppStream
type = variant
uid = AppStream

id = BaseOS
name = BaseOS
packages = BaseOS/Packages
repository = BaseOS
type = variant
uid = BaseOS

My URL endpoint contains this:

[nazu@router x86_64]$ ll -a
total 72
drwxr-xr-x. 7 root root 4096 Nov 28 11:01 .
drwxr-xr-x. 4 root root   35 Nov 25 10:54 ..
drwxr-xr-x. 4 root root   38 Nov 23 18:48 AppStream
drwxrwxr-x. 4 root root   38 Nov 23 19:09 BaseOS
-rw-r--r--. 1 root root 5504 Nov 23 18:48 COMMUNITY-CHARTER
-rw-r--r--. 1 root root 1394 Nov 23 18:48 Contributors
-rw-r--r--. 1 root root   45 Nov 25 10:53 .discinfo
drwxrwxr-x. 3 root root   18 Nov 18 20:31 EFI
-rw-r--r--. 1 root root  372 Nov 23 18:48 EULA
drwxrwxr-x. 3 root root   59 Nov 18 20:31 images
drwxrwxr-x. 2 root root 4096 Nov 30 21:08 isolinux
-rw-r--r--. 1 root root 2204 Nov 23 18:48 LICENSE
-rw-r--r--. 1 root root  101 Nov 23 19:09 media.repo
-rw-r--r--. 1 root root 4203 Nov 28 11:01 rocky-9-efi.ks
-rw-r--r--. 1 root root 3420 Aug  3  2022 rocky-9-encrypt.ks
-rw-r--r--. 1 root root 3374 Nov 28 11:00 rocky-9-exam.ks
-rw-r--r--. 1 root root 4213 Nov 28 11:00 rocky-9.ks
-rw-r--r--. 1 root root 1750 Jul  5  2022 RPM-GPG-KEY-Rocky-9
-rw-r--r--. 1 root root 3159 Nov 23 18:48 RPM-GPG-KEY-Rocky-9-Testing
-rw-r--r--. 1 root root 1522 Nov 25 10:53 .treeinfo

so it was the .treeinfo. I do remember when I first copied it all with the .treeinfo it worked but then i chnaged the repo name from BaseOS to baseos and AppStream to appstream. The .treeinfo had no idea of its new name. I changed the info in the .treeinfo to the new folder names and now its picked it up. Do I need to add my other repo folders to the .treeinfo file? I never had this .treeinfo for centos7.9 or Almalinux and it just worked.

What exactly is in /home/www/html/repos/rockylinux/8.7/ ?

In my baseos I have comps.xml , Packages, repodata

I’ve never used anything smart for mirroring repos, like ‘dnf reposync’.
Initially I had ‘lftp mirror’ and now ‘rsync’ (from nearest official mirror).
Part of the reason is that my local copy is still sync’d/hosted with something that has no ‘dnf’.

The does have .treeinfo (and .discinfo).
The does not.
The content of .treeinfo looks like something that the Anaconda installer might care about – not dnf.
(The createrepo_c does not generate .treeinfo.)

Do anyone know if i can generate a new .treeinfo which shows all the folders in my tree?

I never needed .treeinfo in my kickstart repository for centos7.9 its just worked once i did a reposync and add the repos to my kickstart config.

  1. Does any know if i need to add rest of my repos to the .treeinfo file
  2. How do i generate a new .treeinfo from looking at my directory structure
  3. BaseOS and AppStream is detected fine but when i introduce the other repos in my kickstartfile that then breaks.

With adding BasOS and AppStream repo i get 1824 packages installing. It did complain about other packages it could not find that were listed in my ks.cfg file.

Do i need to include the Packages folder in a separate repo as its present in the root of the dvd?

You do not need to add the rest of your repositories to .treeinfo unless you want their group/comps information to show up in the installer (that assumes they have any). By default, BaseOS and AppStream are the primary ones you would need. Use repo for the rest.

so ive moved forward with my kickstart with your guys help. I have 2137 packages installing. I have a question regarding 3rdparty packages such as google-chrome-stable. Previously in centos7.9 in my kickstart i had a folder for a repo called 3rdparty and was able to add various packages into that folder with its own folder so i would for example have a folder for cuda, google, libraoffice,pureref etc.

Then i would run createrepo --update -v /var/www/html/repos/centos/7.9/3rdparty/ everytime i added a new package to that folder.

in rocky i tried to do the same and ran
createrepo --update -v /home/www/html/repos/rockylinux/8.7/3rdparty

In my folder for 3rdparty for rocky i have cuda,google,repodata but no metadata.

The repo seem to be accepted but then crashed when install was about to start. Do you know if this is supported in rocky linux?

Everything that you can do in RHEL can be done in Rocky Linux and other derivatives. You will need to review the errors you are getting in the installer to determine the cause of the issue.