diff --git a/DC-quickstart-smt b/DC-quickstart-smt index 246aa9a..eb239ed 100644 --- a/DC-quickstart-smt +++ b/DC-quickstart-smt @@ -4,6 +4,7 @@ MAIN="art-quickstart-smt.xml" ROOTID="art-quickstart-smt" +PROFAUDIENCE="sll" PROFCONDITION="suse-product" #PROFCONDITION="suse-product;beta" #PROFCONDITION="community-project" diff --git a/xml/app-temp-script.xml b/xml/app-temp-script.xml new file mode 100644 index 0000000..819eb8f --- /dev/null +++ b/xml/app-temp-script.xml @@ -0,0 +1,268 @@ + + + %entities; +]> + + + &rmt; registration script for &productname; + + + + + no + + + + + Sometimes a new registration script is available for &productname;, but is not yet available from + the &rmt; server because of different release cycles. In this case, the new registration script + is shown here. Save this script as rmt-client-setup-res. + + +#!/bin/sh + +SUSECONNECT=/usr/bin/SUSEConnect +RPM=/usr/bin/rpm +DNF=/usr/bin/dnf +CURL=/usr/bin/curl +YUM=/usr/bin/yum +YUM_CONFIG_MGR=/usr/bin/yum-config-manager + +TEMPFILE="/etc/pki/ca-trust/source/anchors/rmt.crt" +UPDATE_CA_TRUST=/usr/bin/update-ca-trust +RPM_GPG_KEY_LOCATION="/etc/pki/rpm-gpg" + +PARAMS=$@ +YES_PARAM="" + +import_rpm_signing_keys() { + $RPM --import ${RPM_GPG_KEY_LOCATION}/* +} + +usage() { + cat << EOT >&2 + + $1 + + $0 script installs SUSEConnect and its dependencies and calls rmt-client-setup script that registers to rmt + + Usage: $0 <registration URL> [--regcert <url>] [--regdata <filename>] [--de-register] [--yes] + Usage: $0 --host <hostname of the RMT server> [--regcert <url>] [--regdata <filename>] [--de-register] [--yes] + Usage: $0 --host <hostname of the RMT server> [--fingerprint <fingerprint of server cert>] [--regdata <filename>] [--de-register] [--yes] + configures a SLE client to register against a different registration server + + Example: $0 https://rmt.example.com/ + Example: $0 --host rmt.example.com --regcert http://rmt.example.com/certs/rmt.crt --yes + +EOT + + exit 1 +} + +# We need only REGURL and RMTNAME, all other parameters are just passed to rmt-client-setup script +REGURL="" +RMTNAME="" + +while true; do + case "$1" in + --fingerprint | --regcert | --regdata) + test -z "$2" && usage "Option $1 needs an argument" + shift + ;; + --host) + test -z "$2" && usage "Option $1 needs an argument" + RMTNAME="$2" + REGURL="http://${RMTNAME}" + shift + ;; + --de-register) + DE_REGISTER="Y" + ;; + --yes) + YES_PARAM="--yes" + ;; + "") + break + ;; + -h|--help) + usage + ;; + https://*) + RMTNAME="${1:8}" + REGURL="$1" + ;; + http://*) + REGURL="$1" + RMTNAME="${REGURL:7}" + ;; + *) + usage "Unknown option $1" + ;; + esac + shift +done + +if [ "$(id -u)" != "0" ]; then + echo "You must be root. Abort." + exit 1 +fi + +if [ -z "$REGURL" ]; then + echo "Missing registration URL. Abort." + exit 1 +fi + +if [ ! -x $RPM ]; then + echo "rpm command not found. Abort." + exit 1 +fi + +if [ ! -x $CURL ]; then + echo "curl command not found. Abort." + exit 1 +fi + +if [ ! -e /etc/os-release ]; then + echo "/etc/os-release file not found. Couldn't determine OS. Abort." + exit 1 +fi + +# Import Self-signed CERT as Trusted +if [ -z "$REGCERT" ]; then + CERTURL=$(echo "$REGURL" | awk -F/ '{print "https://" $3 "/rmt.crt"}') +else + CERTURL="$REGCERT" +fi + +$CURL --tlsv1.2 --silent --insecure --connect-timeout 10 --output $TEMPFILE $CERTURL +if [ $? -ne 0 ]; then + echo "Download failed. Abort." + exit 1 +fi + +if [ -x $UPDATE_CA_TRUST ]; then + $UPDATE_CA_TRUST enable + $UPDATE_CA_TRUST extract +fi + +SLL_version=$(grep "VERSION_ID" /etc/os-release | cut -d\" -f2 | cut -d\. -f1) +SLL_name=$(grep "^ID=" /etc/os-release | cut -d\" -f2 | cut -d\. -f1) +if [[ ${SLL_version} -gt 8 ]]; then + SLL_name="SLL" + SLL_release_package="sll-release" +elif [[ ${SLL_version} -eq 7 ]]; then + # if RES7 is present we always assume customer has bought LTSS, if he does not, script fails + # so no LTSS customers have to edit the script manually + if [ "${SLL_name}" = "ol" ]; then + SLL_name="RES-OL-LTSS" + SLL_version="7" + SLL_release_package="sles_es-release-server-ol" + else + SLL_name="RES-LTSS" + SLL_version="7" + SLL_release_package="sles_es-release-server" + fi + # stop when HA, because HA is not supported within LTSS for SLL7 + if [ -f /etc/product.d/RES-HA.prod ]; then + usage "HA product is not supported in RES7 LTSS, please remove the product" + fi +elif [[ ${SLL_version} -eq 8 ]]; then + SLL_name="RES" + SLL_release_package="sles_es-release" +else + echo "Unsupported or unknown base version. Abort" + exit 1 +fi + +echo "Detected ${SLL_name} version: ${SLL_version}" + +echo "Importing repomd.xml.key" +if [[ ${SLL_version} -eq 7 ]]; then + $CURL --silent --show-error --insecure ${REGURL}/repo/SUSE/Updates/${SLL_name%%-LTSS}/${SLL_version}-LTSS/x86_64/update/repodata/repomd.xml.key --output repomd.xml.key +else + $CURL --silent --show-error --insecure ${REGURL}/repo/SUSE/Updates/${SLL_name}/${SLL_version}/x86_64/update/repodata/repomd.xml.key --output repomd.xml.key +fi +$RPM --import repomd.xml.key + +if [ ! -x $SUSECONNECT ]; then + echo "Downloading SUSEConnect" +if [[ ${SLL_version} -gt 7 ]]; then + + if [ ! -x $DNF ]; then + echo "dnf command not found. Abort." + exit 1 + fi + + echo "Disabling all repositories" + $DNF config-manager --disable $(dnf repolist -q | awk '{ print $1 }' | grep -v repo) + # sed -i 's/^enabled=1/enabled=0/' /etc/yum.repos.d/* + # on RHEL9 (not RHEL8) redhat-release is protected and cannot be updated to sll-release + if [ -f /etc/dnf/protected.d/redhat-release.conf ]; then + rm -f /etc/dnf/protected.d/redhat-release.conf + fi + + $DNF config-manager --add-repo ${REGURL}/repo/SUSE/Updates/${SLL_name}/${SLL_version}/x86_64/update + $DNF config-manager --add-repo ${REGURL}/repo/SUSE/Updates/${SLL_name}-AS/${SLL_version}/x86_64/update + $DNF install -y --allowerasing ${SLL_release_package} + + # For RHEL8/CentOS8, remove all old signing keys and import SUSE keys installed with sles_es-release package + if [[ ${SLL_version} -eq 8 ]]; then + import_rpm_signing_keys + fi + + $DNF install SUSEConnect librepo + $DNF config-manager --set-disabled "${RMTNAME}_repo_SUSE_Updates_${SLL_name}_${SLL_version}_x86_64_update" + $DNF config-manager --set-disabled "${RMTNAME}_repo_SUSE_Updates_${SLL_name}-AS_${SLL_version}_x86_64_update" + +elif [[ ${SLL_version} -eq 7 ]]; then + # For SLL7 we need to have yum, yum_config_mgr, sles_os-release-server, etc.. + if [ ! -x "$YUM_CONFIG_MGR" ]; then + echo "YUM config manager is not installed. Please install yum-config-manager and retry. Abort." + exit 1 + fi + + echo "Disabling all repositories" + $YUM_CONFIG_MGR --disable \* > /dev/null + + # on Centos /usr/share/redhat-release is a file, on RHEL and RES it is a directory + # so this is CentOS only workaround (on some system it is a normal file, on some systems a symlink) + if [ -f /usr/share/redhat-release ] || [ -h /usr/share/redhat-release ]; then + rm -f /usr/share/redhat-release + fi + + $YUM_CONFIG_MGR --add-repo ${REGURL}/repo/SUSE/Updates/${SLL_name%%-LTSS}/${SLL_version}-LTSS/x86_64/update + if [ ${SLL_name} = "RES-OL-LTSS" ]; then + $YUM_CONFIG_MGR --add-repo ${REGURL}/repo/SUSE/Updates/RES-BASE/${SLL_version}/x86_64/update + fi + $YUM_CONFIG_MGR --enable *suse.* > /dev/null + + $YUM install -y ${SLL_release_package} suseconnect-ng librepo + $YUM update -y yum + $YUM_CONFIG_MGR --disable \* > /dev/null +fi +elif [[ ${SLL_version} -eq 8 ]]; then + # For SLL8, the release package is already installed, just import the keys + import_rpm_signing_keys +fi + +$CURL --silent --show-error --insecure $REGURL/tools/rmt-client-setup --output rmt-client-setup +echo "Running rmt-client-setup $PARAMS" +if [ -n "$YES_PARAM" ]; then + PARAMS=$(echo $PARAMS | sed 's/--yes//') + yes | sh rmt-client-setup $PARAMS +else + sh rmt-client-setup $PARAMS +fi + +if [[ ${SLL_version} -gt 8 ]]; then + systemctl start suseconnect-keepalive.timer + systemctl enable suseconnect-keepalive.timer +fi + + + diff --git a/xml/art-lite-quickstart.xml b/xml/art-lite-quickstart.xml index 3a49254..e1b4a8f 100644 --- a/xml/art-lite-quickstart.xml +++ b/xml/art-lite-quickstart.xml @@ -43,6 +43,14 @@ Administration + + 2024-07-01 + + + Updates for LTSS. + + + 2024-06-18 @@ -138,7 +146,7 @@ - Setup script cannot access the &reponame; repository + Setup script cannot access the &reponame; repositories The repodata directory on the &rmt; server is not @@ -185,5 +193,6 @@ + diff --git a/xml/art-quickstart-smt.xml b/xml/art-quickstart-smt.xml index 0b5d5f7..82af213 100644 --- a/xml/art-quickstart-smt.xml +++ b/xml/art-quickstart-smt.xml @@ -43,6 +43,14 @@ Administration + + 2024-07-01 + + + Retire guide for LTSS. + + + 2024-03-27 @@ -62,7 +70,90 @@ -
+
+ End of general support for &productname; &productnumber; + + ⪪ is not supported with &productname; LTSS &productnumber; + + &productname; &productnumber; has reached the end of general support and is now in LTSS + (Long Term Service Support). + + + Registering systems with ⪪ is not supported under &productname; LTSS &productnumber;. + You can register &rhla; &productnumber; or CentOS Linux &productnumber; with either + &suma; or the &rmtool; (&rmt;). + + + Before you register existing systems with &rmt;, de-register them from ⪪. + You can do this directly from the ⪪ server using the steps in + . + + + To migrate from ⪪ to &rmt;, see + + Migrate from SMT to RMT in &rmtguide;. + Alternatively, install a fresh &rmt; server using the steps in + + Registering &rhla; 7 or CentOS Linux 7 with RMT. + + + + + De-registering a client from ⪪ + + + List the existing clients and make a note of the client IDs: + +&prompt.root;smt-list-registrations + + + + De-register the clients using their client IDs: + +&prompt.root;smt-delete-registration -g CLIENT_ID + + To de-register multiple clients, you can use the option multiple times + in the same command. + + + + + + Related information + + + + &rmtguide; + + + + + + Registering &rhla; 7 or CentOS Linux 7 with RMT + + + + + + Registering &rhla; 8 or CentOS Linux 8 with RMT + + + + + + Registering &rhla; 9 with RMT + + + + + + &suma; Client Configuration Guide: Registering &sliberty; Clients + + + +
+ + <emphasis>&productname;</emphasis> and <emphasis>&sles; with Expanded Support</emphasis> @@ -268,6 +358,6 @@ -
+ diff --git a/xml/art-quickstart.xml b/xml/art-quickstart.xml index 1a7b23a..deb1107 100644 --- a/xml/art-quickstart.xml +++ b/xml/art-quickstart.xml @@ -43,6 +43,14 @@ Administration + + 2024-07-01 + + + Updates for LTSS. + + + 2024-06-27 @@ -80,10 +88,38 @@
Introduction + + End of general support for &productname; &productnumber; + + &productname; &productnumber; has reached the end of general support and is now in LTSS + (Long Term Service Support). + + + If you have a &productname; subscription but do not have an + LTSS subscription, you can continue to use your systems. However, + registering new &rhla; &productnumber; or CentOS Linux &productnumber; + systems with the general subscription is no longer supported. + + + To register new &rhla; &productnumber; or CentOS Linux &productnumber; + systems, you must purchase a + &reponame; &productnumber; subscription. + + + Additionally, the optional &ha; extension is no longer supported with + &reponame; &productnumber;. You must remove this product from your system + before you can register with an LTSS subscription. + + + &productname; is a technology and support solution for mixed Linux environments. With a &productname; subscription, you can register and receive updates for - &rhel;, CentOS Linux, and &sles;. An optional &ha; extension is also available. + &rhel;, CentOS Linux, and &sles;. @@ -91,26 +127,9 @@ - You can register &rhla; &productnumber; or CentOS Linux &productnumber; with one of the - following tools: + You can register &rhla; &productnumber; or CentOS Linux &productnumber; with either + &suma; or the &rmtool; (&rmt;). - - - - &smtool; (⪪) - - - - - &rmtool; (&rmt;) - - - - - &suma; - - - This guide describes how to register with an &rmt; server. &rmt; is a proxy system for the &scc;. The &rmt; server is registered with the &scc;, and other systems in the network are @@ -128,7 +147,7 @@ If you already have an &rmt; server but still need to mirror the - &productname; &productnumber; repositories, go to + &reponame; &productnumber; repositories, go to . @@ -159,12 +178,6 @@ &rmtguide; - - - - Registering &rhla; 7 or CentOS Linux 7 with SMT - - @@ -229,7 +242,7 @@ - Setup script cannot access the &productname; repository + Setup script cannot access the &productname; repositories The repodata directory on the &rmt; server will not @@ -275,5 +288,6 @@
+ diff --git a/xml/html/rh-art-lite-quickstart.html b/xml/html/rh-art-lite-quickstart.html index d8d955b..e4e1c70 100644 --- a/xml/html/rh-art-lite-quickstart.html +++ b/xml/html/rh-art-lite-quickstart.html @@ -2,7 +2,7 @@ Revision History: Registering CentOS Linux 7 with SUSE Liberty LinuxSUSE Liberty Linux Lite - + @@ -40,7 +40,7 @@ } ], - "dateModified": "2024-06-18T00:00+02:00", + "dateModified": "2024-07-01T00:00+02:00", "datePublished": "2024-06-18T00:00+02:00", @@ -82,7 +82,11 @@ useBR: false }); -

Revision History: Registering CentOS Linux 7 with SUSE Liberty LinuxSUSE Liberty Linux Lite

2024-06-18

+

Revision History: Registering CentOS Linux 7 with SUSE Liberty LinuxSUSE Liberty Linux Lite

2024-07-01

+

+ Updates for LTSS. +

+

2024-06-18

Initial release.

diff --git a/xml/html/rh-art-quickstart.html b/xml/html/rh-art-quickstart.html index b236dd1..7b47b4f 100644 --- a/xml/html/rh-art-quickstart.html +++ b/xml/html/rh-art-quickstart.html @@ -2,7 +2,7 @@ Revision History: Registering RHEL 7 or CentOS Linux 7 with RMT - + @@ -40,7 +40,7 @@ } ], - "dateModified": "2024-06-27T00:00+02:00", + "dateModified": "2024-07-01T00:00+02:00", "datePublished": "2024-03-14T00:00+02:00", @@ -82,7 +82,11 @@ useBR: false }); -

Revision History: Registering RHEL 7 or CentOS Linux 7 with RMT

2024-06-27

+

Revision History: Registering RHEL 7 or CentOS Linux 7 with RMT

2024-07-01

+

+ Updates for LTSS. +

+

2024-06-27

Add Minimal VM procedure.

diff --git a/xml/install-rmt-vm.xml b/xml/install-rmt-vm.xml index 8c7bbd6..14a84f8 100644 --- a/xml/install-rmt-vm.xml +++ b/xml/install-rmt-vm.xml @@ -63,15 +63,18 @@ We recommend at least 1.5 times the total size of all enabled repositories. - &reponame; &productnumber; repository size - The &reponame; repositories will grow substantially over time, because older package + The &reponame; repositories will grow over time, because older package versions are not removed. To meet the 1.5x size recommendation, based on the - currentAs of 20 June, 2024 - size of the &reponame; &productnumber; repository, you will need approximately 710 GB + currentAs of 01 July, 2024 size of the default + &reponame; &productnumber; repositories, you will need approximately 225 GB of disk space available for the &rmt; server. + + If you also need the Source and Debug + repositories, you will need an additional 765 GB available. + diff --git a/xml/mirror-repositories-with-rmt.xml b/xml/mirror-repositories-with-rmt.xml index 8ac892c..1f06838 100644 --- a/xml/mirror-repositories-with-rmt.xml +++ b/xml/mirror-repositories-with-rmt.xml @@ -33,7 +33,7 @@ The &rmt; server has enough storage available for repository mirroring. The amount of storage required depends on the number of repositories you mirror. We recommend at least 1.5 times the total size of all enabled repositories. Be aware that the &reponame; repositories will - grow substantially over time. + grow over time. @@ -48,6 +48,46 @@ + + New repository structure for &reponame; &productnumber; + + The repository structure has changed in &reponame; &productnumber;. Previously, there was + one default repository and one optional Source repository. Now there are + two default repositories, BASE and LTSS, along with + optional Source and Debug repositories for both. + The BASE repositories are frozen and contain the existing packages from + the original &productname; repositories. The LTSS repositories contain + new packages for &reponame; &productnumber;. + + + There are no new &ha; repositories. &ha; is not supported with &reponame; &productnumber;. + + + + Mirroring the &reponame; repositories with &rmt; @@ -64,32 +104,20 @@ - Enable &reponame; &productnumber; using the product ID 1251: + Enable &reponame; &productnumber; using the product ID 2702: -&prompt.root;rmt-cli product enable 1251 +&prompt.root;rmt-cli product enable 2702 This enables all the default repositories associated with the product. - - - If your subscription includes the &ha; extension, enable the extension using - the product ID 1252: - -&prompt.root;rmt-cli product enable 1252 - - - To check whether the &ha; extension is available, run this command: - rmt-cli products list --all --name="Liberty" --version=&productnumber; - - - - If you also need the Source repository, find and enable it with the - following commands: + If you also need the Source or Debug repositories, + find and enable them with the following commands: -&prompt.root;rmt-cli repo list --all | grep RES- +&prompt.root;rmt-cli repo list --all | grep RES-7-BASE +&prompt.root;rmt-cli repo list --all | grep RES-7-LTSS &prompt.root;rmt-cli repo enable REPO_ID diff --git a/xml/product-entities.ent b/xml/product-entities.ent index f1512ec..ec694fe 100644 --- a/xml/product-entities.ent +++ b/xml/product-entities.ent @@ -3,7 +3,7 @@ SLLSLL-L"> - + diff --git a/xml/register-with-rmt.xml b/xml/register-with-rmt.xml index 41ea644..0f96bc1 100644 --- a/xml/register-with-rmt.xml +++ b/xml/register-with-rmt.xml @@ -70,13 +70,34 @@ + + + Registering <phrase audience="sll">&rhla; or </phrase>CentOS Linux with &rmt; - + + + Save the script in as rmt-client-setup-res. + @@ -137,8 +158,8 @@ Installed Products: ------------------------------------------ - SLES Expanded Support platform release file - (RES/&productnumber;/x86_64) + SUSE Liberty Linux release file + (RES-LTSS/&productnumber;/x86_64) Registered @@ -151,21 +172,9 @@ Installed Products: &prompt.root;yum repolist - You should see RES-&productnumber;-Updates. - - - - - If your subscription includes the &ha; extension, activate it with the - following command: + You should see RES-&productnumber;-BASE-Updates and + RES-&productnumber;-LTSS-Updates. -&prompt.root;&suseconnect; -p RES-HA/&productnumber;/x86_64 - - - To check whether the extension is available, run the - &suseconnect; --list-extensions command. - -