Product Documentation

Once the internal repository is setup, configure each SAKA server to communicate with the internal repository for updates. On each SAKA server, follow these steps:

  1. Login to this SAKA as the root user through SSH or the console.

  2. Change directory to the yum repos folder:

    shell>cd /etc/yum.repos.d
  3. Modify the default repository configuration to disable the default repo. Edit rocky.repo and add the lines highlighted:

    # rocky.repo
    #
    # The mirrorlist system uses the connecting IP address of the client and the
    # update status of each mirror to pick current mirrors that are geographically
    # close to the client.  You should use this for Rocky updates unless you are
    # manually picking other mirrors.
    #
    # If the mirrorlist does not work for you, you can try the commented out
    # baseurl line instead.
    
    [baseos]
    name=Rocky Linux $releasever - BaseOS
    mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$releasever$rltype
    #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/
    gpgcheck=1
    enabled=0
    countme=1
    metadata_expire=6h
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
    [baseos-debug]
    name=Rocky Linux $releasever - BaseOS - Debug
    mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$releasever-debug$rltype
    #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/debug/tree/
    gpgcheck=1
    enabled=0
    metadata_expire=6h
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
    [baseos-source]
    name=Rocky Linux $releasever - BaseOS - Source
    mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=BaseOS-$releasever-source$rltype
    #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/source/tree/
    gpgcheck=1
    enabled=0
    metadata_expire=6h
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
    [appstream]
    name=Rocky Linux $releasever - AppStream
    mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=AppStream-$releasever$rltype
    #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/os/
    gpgcheck=1
    enabled=0
    countme=1
    metadata_expire=6h
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
    [appstream-debug]
    name=Rocky Linux $releasever - AppStream - Debug
    mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=AppStream-$releasever-debug$rltype
    #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/debug/tree/
    gpgcheck=1
    enabled=0
    metadata_expire=6h
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
  4. Modify the extra repository configuration to disable the default repo. Edit rocky-extras.repo and add the lines highlighted:
    # rocky-extras.repo
    #
    # The mirrorlist system uses the connecting IP address of the client and the
    # update status of each mirror to pick current mirrors that are geographically
    # close to the client.  You should use this for Rocky updates unless you are
    # manually picking other mirrors.
    #
    # If the mirrorlist does not work for you, you can try the commented out
    # baseurl line instead.
    
    [extras]
    name=Rocky Linux $releasever - Extras
    mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=extras-$releasever$rltype
    #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/extras/$basearch/os/
    gpgcheck=1
    enabled=0
    countme=1
    metadata_expire=6h
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
    [extras-debug]
    name=Rocky Linux $releasever - Extras Debug
    mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=extras-$releasever-debug$rltype
    #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/extras/$basearch/debug/tree/
    gpgcheck=1
    enabled=0
    metadata_expire=6h
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
  5. Create a new file called internal.repo. This file will host the configurations for the internal repository. Create the file as follows, replacing <internal-repo> with the FQDN of your internal repository:

    [internal-base]
    name=Internal Rocky-$releasever - Base
    baseurl=http://<internal-repo>/rocky/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
    [internal-appstream]
    name=Internal Rocky-$releasever - AppStream
    baseurl=http://<internal-repo>/rocky/$releasever/appstream/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
    
    [internal-extras]
    name=Internal Rocky-$releasever - Extras
    baseurl=http://<internal-repo>/rocky/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
  6. Clear the yum cache with the following command:

    shell> dnf clean all
  7. Check whether SAKA is configured properly and if it can connect to the internal repository by running the following command:

    shell> dnf repolist

    If everything is working correctly, the command returns output similar to the following:

    repo id                       repo name
    internal-base                 Internal Rocky-9 - Base                                                                            
    internal-updates              Internal Rocky-9 – AppStream
    internal-updates              Internal Rocky-9 – Extras
    
    A PYCURL ERROR indicates SAKA could not connect to the internal repository. Check that there are no routing issues or firewall issues and try again.

 

Now SAKA is configured to receive updates through the internal repository. Update this SAKA through the command dnf update.

Remember that before making any updates to production appliances, make updates to your development/test appliance first. As part of the regression process, try restarting the development/test appliance and run any regression tests to confirm sane operations after the restart. A regression on the development/test appliance is absolutely required before updating production appliances.