suse-autoyast-workflows/suse-user-guide-example.md

11 KiB

tinkerpad13 Quick Reference — Day-to-Day Admin and General Linux Basics

My own enthusiast-level quick reference for my personal device (openSUSE Tumbleweed) day-to-day administration. Covers shell navigation, zypper package management, systemd services, users/permissions, storage and Btrfs/Snapper, networking, logs, troubleshooting, and system updates. Most commands are general Linux, not SUSE-specific; sections calling out SUSE-specific behavior are tagged explicitly, and a few notes below are specific to how this system is actually configured, not a general SUSE default.

[WARNING] This is a quick reference for common day-to-day tasks, not a substitute for the official documentation for the exact SUSE release in use. Commands, defaults, and package names shift between versions — check documentation.suse.com or man <command> when something here doesn't match what's on screen.


SECTION: Shell and navigation

To show the current directory:

pwd

To list files including sizes and hidden files:

ls -lah

To change directory:

cd /path/to/directory

cd .. moves up one directory level.

To copy a file or folder (recursive for folders):

cp -r source destination

To move or rename a file or folder:

mv source destination

To delete a folder and its contents:

rm -r directory/

[WARNING] rm -r has no undo and no trash — deleted files and folders are not recoverable this way.

To search for files by name:

find / -name "pattern*"

To search inside files for text:

grep -r "search text" directory/

To page through a file's contents (press q to quit):

less filename

To read the manual page for a command:

man command

To search past commands:

history | grep search-term

[NOTE] Tab-completion works everywhere in the shell — press Tab instead of typing full paths or command names.


SECTION: Package management with zypper

zypper is SUSE's command-line package manager, used across Leap, SLES, and Tumbleweed.

To search for a package:

zypper se search-term

To install a package:

zypper in package-name

To remove a package:

zypper rm package-name

To show details about a package:

zypper info package-name

To check whether a package is installed and which version:

zypper if package-name

To list configured repositories:

zypper lr

To refresh repository metadata:

zypper ref

To update installed packages on Leap or SLES:

zypper up

To fully sync packages on Tumbleweed:

zypper dup

[WARNING] On Tumbleweed, always use zypper dup, never zypper up. Mixing the two commands can break dependency resolution on a rolling release.

To check whether a reboot is actually required after updates:

zypper ps -s

SECTION: Users, groups, and permissions

To show the current user:

whoami

To show which groups the current user belongs to:

groups

To run a single command as root:

sudo command

To switch to another user's shell:

su - username

To add a new user with a home directory:

sudo useradd -m username

To add an existing user to a group:

sudo usermod -aG groupname username

To set file permissions (owner/group/other):

chmod 750 filename

To change file ownership:

chown user:group filename

To change your own password:

passwd

[WARNING] If sudo ever asks for root's password on this system, that means elevation is not possible — root is locked (confirmed via passwd -l root), so there is no password that will authenticate against it. This is not a "try harder" situation — retyping it more carefully won't help, there is no correct answer to give it. It means the intended sudo configuration (own-password authentication via sudo-policy-wheel-auth-self + wheel membership) is not in effect, and the system needs to be fixed at the console or reinstalled, not worked around.

Ask me how I know.


SECTION: Services with systemd

To check whether a service is running, with recent log lines:

systemctl status service-name

To start a service immediately:

sudo systemctl start service-name

To stop a service immediately:

sudo systemctl stop service-name

To restart a service (stop then start):

sudo systemctl restart service-name

To make a service start automatically at boot:

sudo systemctl enable service-name

To prevent a service from starting at boot:

sudo systemctl disable service-name

To list every service that failed to start:

systemctl --failed

To list all known services:

systemctl list-units --type=service

[NOTE] enable and start are separate actions — enabling a service does not start it immediately, and starting a service does not make it survive a reboot. To do both at once:

sudo systemctl enable --now service-name

SECTION: Storage and disks

To show free space per mounted filesystem:

df -h

To show the total size of a folder:

du -sh directory/

To list block devices and partitions:

lsblk

To show what's currently mounted and where:

mount

To mount a device manually:

sudo mount /dev/device-name /mount-point

To check a drive's health quickly:

sudo smartctl -H /dev/device-name

SECTION: Btrfs and Snapper — SUSE default root filesystem

SUSE uses Btrfs as the default root filesystem, with Snapper managing automatic snapshots.

To list available snapshots:

snapper list

To roll back to a specific snapshot number:

sudo snapper rollback snapshot-number

To show real Btrfs space usage:

btrfs filesystem usage /

[NOTE] Snapper automatically takes snapshots before and after package changes — a broken update is usually a rollback away from being fixed, without needing to reinstall anything.


SECTION: Networking

To show interfaces and IP addresses:

ip a

To show the routing table:

ip r

To show what's listening on which port:

ss -tlnp

To test basic reachability to a host:

ping hostname-or-ip

To show a NetworkManager device overview:

nmcli device status

To show current firewall rules for the default zone:

sudo firewall-cmd --list-all

To apply firewall configuration changes:

sudo firewall-cmd --reload

[WARNING] Firewall changes made with firewall-cmd alone are temporary and do not survive a reboot. Add --permanent to the change itself, then run --reload to apply it.


SECTION: Logs and troubleshooting

To show recent logs with explanations, newest entries last:

journalctl -xe

To show logs for one specific service:

journalctl -u service-name

To show logs since the last boot:

journalctl -b

To show logs within a specific time window:

journalctl --since "1 hour ago"

To show kernel and hardware messages with timestamps:

dmesg -T | tail -50

To generate a full diagnostic bundle for SUSE support:

sudo supportconfig

[NOTE] When something breaks unexpectedly, check systemctl --failed first to find what's actually broken, then run journalctl -u <that service> -xe to see the actual error.


SECTION: Processes and resources

To show a live view of processes and resource usage (press q to quit):

top

A friendlier alternative, if installed:

htop

To find a specific running process:

ps aux | grep process-name

To ask a process to stop:

kill process-id

To force-stop a process as a last resort:

kill -9 process-id

To show memory usage in human-readable form:

free -h

To show how long since the last reboot and the current load average:

uptime

SECTION: Files you'll actually open

File Type Purpose
/etc/hostname path The system's hostname
/etc/fstab path What mounts automatically at boot
/etc/ssh/sshd_config path SSH server settings
/etc/sudoers.d/ path Sudo permission drop-in files
/var/log/ path Traditional log location — most logging now lives in journalctl instead
~/.bashrc path The current user's own shell startup customizations

[WARNING] Never hand-edit /etc/sudoers directly — always use visudo or a file in /etc/sudoers.d/. A syntax error in sudoers can lock out sudo access entirely.


SECTION: Updating the system

To refresh and update on Leap or SLES:

zypper ref && zypper up

To refresh and fully sync on Tumbleweed:

zypper ref && zypper dup

To list available patches on Leap or SLES:

zypper lp

To apply patches specifically:

zypper patch

To confirm whether a reboot is required after updating:

zypper ps -s

[NOTE] A snapshot is taken automatically before most updates via Snapper — if an update goes wrong, rollback (Section: Btrfs and Snapper) is usually available without reinstalling anything.


SECTION: Quick glossary

Term Type Meaning
YaST string SUSE's central configuration tool, available as TUI or GUI
zypper string SUSE's command-line package manager
Snapper string Automatic Btrfs snapshot manager
AutoYaST string SUSE's unattended/scripted install system
targetpw string SUSE's default sudo behavior — asks for root's password, not the invoking user's own, unless changed
wheel string The group typically granted sudo access

SECTION: When you're stuck

  1. Run systemctl --failed — confirm what's actually broken.
  2. Run journalctl -u <service> -xe — see what the actual error says.
  3. Run snapper list — check whether a rollback is the fastest fix.
  4. Check documentation.suse.com for the exact release in use before assuming a fix found elsewhere applies.
  5. If still stuck, run sudo supportconfig and hand the resulting bundle to whoever supports the system.

[WARNING] This reference covers the commands used most days. It is not a substitute for the official documentation for the specific SUSE release in use — commands, defaults, and package names shift between versions.


Source: CE OS — tinkerpad13 personal quick reference, developed 2026-07-26 Source-type: ce-authored Licence: John A. Hoeven with the ethical assistance of Claude AI — personal working document Verified-on: tinkerpad13 (openSUSE Tumbleweed) — sudo/root behavior confirmed on this system directly; general commands are standard SUSE-family behavior Session: 2026-07-26