SUSE
zypper lr -d
zypper repos -d
sudo zypper addrepo https://download.opensuse.org/repositories/openSUSE:Leap:42.1:Update/standard/openSUSE:Leap:42.1:Update.repo
sudo zypper removerepo https://url-of-software-repository/
Registration
- Finding SUSE registration status offline - SUSE Product Topics / SUSE Customer Center - Rancher Labs
nfs
# nfs server
mkdir -p /mnt/sle-15
mount -o loop /install/SLE-15-SP3-Full-x86_64-QU4-Media1.iso /mnt/sle-15
zypper addrepo /mnt/sle-15/Module-Basesystem/ sle-basesystem
zypper refresh
zypper install nfs-kernel-server
python3
sudo SUSEConnect -p sle-module-python3/15.7/x86_64
sudo zypper refresh
sudo zypper install python311 python311-pip
docker
sudo SUSEConnect -p sle-module-containers/15.7/x86_64
sudo zypper refresh
sudo zypper install docker
# 1. Make sure the Package Hub module is activated (safe to run again)
sudo SUSEConnect -p PackageHub/15.7/x86_64
# 2. Refresh repositories
sudo zypper refresh
# 3. Install Docker Compose V2 + the compatibility switch
sudo zypper install docker-compose docker-compose-switch
sshpass
wget -c -O /tmp/sshpass https://download.opensuse.org/repositories/systemsmanagement/15.7/x86_64/sshpass-1.10-sm.150700.16.2.x86_64.rpm
rpm -Uvh /tmp/sshpass
# OR use the zypper with file extension .rpm
sudo zypper --non-interactive install /tmp/sshpass.rpm
Network
ib interface
/etc/sysconfig/network/ifcfg-ib0
/etc/sysconfig/network/ifroute-eth2
autoyast
/var/lib/confluent/public/os/sle-15.7-x86_64-server/autoyast
<?xml version="1.0"?>
<!DOCTYPE profile>
<!--
This autoyast file will be processed by pre.sh before applying. See pre.sh for
info on modifying its behavior, and also search and replace '%%' to remove
dynamic behavior and replace with static configuration.
-->
<profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns">
<timezone>
<hwclock>UTC</hwclock>
<timezone>%%TIMEZONE%%</timezone>
</timezone>
<firstboot>
<firstboot_enabled config:type="boolean">false</firstboot_enabled>
</firstboot>
<kdump>
<add_crash_kernel config:type="boolean">false</add_crash_kernel>
</kdump>
<general>
<self_update config:type="boolean">false</self_update>
<mode>
<confirm config:type="boolean">false</confirm>
</mode>
</general>
<!--INSERT:/tmp/bootloader.xml-->
<add-on>
<add_on_products config:type="list">
<listentry>
<media_url>http://192.168.1.10/confluent-public/os/sle-15.7-x86_64-server/distribution/1/</media_url>
<product_dir>/Module-Basesystem</product_dir>
</listentry>
<listentry>
<media_url>http://192.168.1.10/confluent-public/os/sle-15.7-x86_64-server/distribution/1/</media_url>
<product_dir>/Module-Server-Applications</product_dir>
</listentry>
<listentry>
<media_url>http://192.168.1.10/confluent-public/os/sle-15.7-x86_64-server/distribution/1/</media_url>
<product_dir>/Module-Python3</product_dir>
</listentry>
</add_on_products>
</add-on>
<software>
<products config:type="list">
<product>SLES</product>
</products>
<patterns config:type="list">
<pattern>base</pattern>
</patterns>
<packages config:type="list">
<package>openssh</package>
<package>iputils</package>
<package>python3</package>
<package>python311</package>
<package>openssl</package>
<package>chrony</package>
<package>rsync</package>
<package>screen</package>
<package>vim</package>
<package>binutils</package>
<package>pciutils</package>
<package>usbutils</package>
<package>nfs-client</package>
<package>ethtool</package>
<package>sudo</package>
</packages>
</software>
<partitioning config:type="list">
<drive>
<device>%%INSTDISK%%</device>
<initialize config:type="boolean">true</initialize>
<use>all</use>
<partitions config:type="list">
<partition>
<filesystem config:type="symbol">xfs</filesystem>
<mount>/</mount>
<size>max</size>
</partition>
<partition>
<mount>swap</mount>
<size>auto</size>
</partition>
<partition>
<mount>/boot</mount>
<size>500M</size>
</partition>
</partitions>
</drive>
</partitioning>
<users config:type="list">
<user>
<username>root</username>
<user_password>%%ROOTPASSWORD%%</user_password>
<encrypted config:type="boolean">true</encrypted>
<!--INSERT:/tmp/rootkeys.xml-->
</user>
</users>
<networking>
<dns>
<hostname>%%NODENAME%%</hostname>
</dns>
<keep_install_network config:type="boolean">true</keep_install_network>
</networking>
<services-manager>
<services>
<enable config:type="list">
<service>sshd</service>
</enable>
</services>
</services-manager>
<scripts>
<pre-scripts config:type="list">
<script>
<filename>preinstall.sh</filename>
<source>
<![CDATA[
#!/bin/sh
confluent_mgr=$(grep ^deploy_server /etc/confluent/confluent.deploycfg|awk '{print $2}')
confluent_profile=$(grep ^profile: /etc/confluent/confluent.deploycfg|sed -e 's/^profile: //')
proto=$(grep ^protocol: /etc/confluent/confluent.deploycfg |awk '{print $2}')
curl $proto://$confluent_mgr/confluent-public/os/$confluent_profile/scripts/pre.sh > /tmp/pre.sh
. /tmp/pre.sh
]]>
</source>
</script>
</pre-scripts>
<chroot-scripts config:type="list">
<script>
<filename>chroot.sh</filename>
<source>
<![CDATA[
#!/bin/sh
confluent_mgr=$(grep ^deploy_server /etc/confluent/confluent.deploycfg|awk '{print $2}')
confluent_profile=$(grep ^profile: /etc/confluent/confluent.deploycfg|sed -e 's/^profile: //')
proto=$(grep ^protocol: /etc/confluent/confluent.deploycfg |awk '{print $2}')
curl $proto://$confluent_mgr/confluent-public/os/$confluent_profile/scripts/prechroot.sh > /tmp/prechroot.sh
. /tmp/prechroot.sh
curl -f $proto://$confluent_mgr/confluent-public/os/$confluent_profile/scripts/firstboot.sh > /mnt/etc/confluent/firstboot.sh
curl -f $proto://$confluent_mgr/confluent-public/os/$confluent_profile/scripts/post.sh > /mnt/etc/confluent/post.sh
chmod +x /mnt/etc/confluent/firstboot.sh
chmod +x /mnt/etc/confluent/post.sh
cp /mnt/etc/confluent/post.sh /mnt/var/adm/autoinstall/scripts/
]]>
</source>
</script>
<script>
<chrooted config:type="boolean">true</chrooted>
<filename>post.sh</filename>
<location>file:///etc/confluent/post.sh</location>
</script>
<script>
<chrooted config:type="boolean">true</chrooted>
<filename>enable_ssh_access.sh</filename>
<source>
<![CDATA[
#!/bin/sh
mkdir -p /etc/ssh/sshd_config.d
cat > /etc/ssh/sshd_config.d/99-root-password-login.conf <<'EOF'
PermitRootLogin yes
PasswordAuthentication yes
EOF
systemctl enable sshd || true
systemctl enable firewalld || true
if command -v firewall-offline-cmd >/dev/null 2>&1; then
firewall-offline-cmd --add-service=ssh || firewall-offline-cmd --add-port=22/tcp || true
fi
]]>
</source>
</script>
</chroot-scripts>
<init-scripts config:type="list">
<script>
<filename>firstboot.sh</filename>
<location>file:///etc/confluent/firstboot.sh</location>
</script>
</init-scripts>
</scripts>
</profile>