Skip to content

Latest commit

 

History

History
95 lines (74 loc) · 4.34 KB

SLES_and_openSUSE_Tools.adoc

File metadata and controls

95 lines (74 loc) · 4.34 KB

SLES DNS server

  • Keeps records in /var/lib/named/master

  • Wildcard records (i.e. *.ses.local) can’t be created with yast dns-server

    • Instead, edit the file directly (i.e. /var/lib/named/master/stable.suse.lab) and add a record similar to:

*.rados-gateway IN CNAME        rados-gateway.stable.suse.lab.
  • Then restart named: sudo systemctl restart named.service

Working with hardened, minimized, and JeOS images:

  • A lot of functions require the kernel-default package kernel-default-base won’t provide all of the needed pieces

    • The resultant errors are nearly useless

    • Examples are 802.11q VLANS and NFS server

    • For automated deployments can try to add something like: zypper in --force-resolution --no-confirm --force kernel-default

    • Basically if something pretty simple doesn’t work, look for the kernel-default package.

To find and activate a repo for a specific package

  • On a system that has the same release and SP version and has the package/command:

    • To find the package that contains a command: cnf <command>

    • zypper search-packages <package>

      • This gives the "SUSEConnect Activation Command" to activate the repo

  • Run the "SUSEConnect Activation Command" as root on the target system

To View an installed package, including revision:
  • zypper se --details --installed <package>

    • Can use zypper se --details <package> to see in same thing but for packages that are not yet installed

  • To query all packages installed: rpm -qa

  • To query all files contained in a package: rpm -ql

  • To find packages based on what product they are in, use: https://scc.suse.com/packages

    • Good for finding which repository is needed to be enabled to get the package

    • Can also find patches under "My Tools" on the left side of the same website

VM images can sometimes lose eth0 and or other interfaces after updating

  • Remove /etc/udev/rules.d/70-persistent-net.rules and reboot

RMT Server

  • sudo yast rmt to configure the base server. Doesn’t do anything with repos.

  • sudo rmt-cli sync to sync (not mirror) repos from SCC

Adding product repos:
  • sudo rmt-cli product list --all

    • sudo rmt-cli product list --all | grep -i <product>

      • The furthest left column is the product ID

  • sudo rmt-cli product enable <product ID>

  • sudo rmt-cli sync

  • sudo rmt-cli mirror

    • Seems like you can do the same to enable individual repos by just replacing "product" with "repo" in the commands above.

Reset root password:

  • Stop boot at GRuB screen with arrow keys

  • Highlight the default boot line and press e

  • Scroll down to the line that starts with linux /boot/vmlinuz or kernel /boot/vmlinuz and go the end of that line (the End key is helpful here)

  • Add a space, then init=/bin/bash

  • Press Ctrl+x or F10 to boot (on older systems it might be b)

  • At the root shell can review the /etc/shadow file to see what accounts exist on the system and if they have a password assigned

    • * means that there is no password assigned and thus the user cannot login with password based authentication

    • ! or a password that starts with ! means the account is locked and the user cannot login

  • Can use the passwd command to create a password for root or any other account

  • Only BASH functions are available so can’t do much more that change passwords and edit files

  • Have to externally reset the system

Add a virtual IP address to an existing interface:

  • Set the following variable with the IP address and CIDR notation that will be used to access the Kubernetes API server:

SECOND_IP=""
  • e.g., SECOND_IP="10.111.2.100/24"

Note
If the target interface is not eth0, substitute the name of the interface in place of "eth0" in the commands below.
sudo cp -np /etc/sysconfig/network/ifcfg-eth0 ~/ifcfg-eth0.`date +"%d.%b.%Y.%H.%M"`
cp -p ~/ifcfg-eth0.`date +"%d.%b.%Y"`* ~/ifcfg-eth0
echo "IPADDR_2=${SECOND_IP}" >> ~/ifcfg-eth0
diff /etc/sysconfig/network/ifcfg-eth0 ~/ifcfg-eth0
  • Ensure the only difference between the original ifcfg-eth0 file and the updated ~/ifcfg-eth0 is the extra "IPADDR_2" line, then run the following commands:

sudo mv ~/ifcfg-eth0 /etc/sysconfig/network/ifcfg-eth0
sudo systemctl restart network.service
ip a
  • The original server IP address and the additional IP address should be shown with the correct CIDR notation