User Tools

Site Tools


linux:distros:server:opensuse_tumbleweed_server

This is an old revision of the document!


Information

  • openSUSE
  • Tumbleweed
  • Server
  • Alira = Dell Precision M6500 1)

Download

http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
openSUSE-Tumbleweed-DVD-x86_64-Snapshot20260426-Media.iso

Installation Notes

Partitioning

  1. ext2 /
  2. No separate /home
  3. Separate swap without suspend resize
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0     8M  0 part 
├─sda2   8:2    0 463.8G  0 part /
└─sda3   8:3    0     2G  0 part [SWAP]

Boot Loader

  • GRUB2

Software

Disable USB Source

sudo zypper modifyrepo --disable --medium-type 'hd'

Update

System

sudo zypper clean --all && sudo zypper refresh --force --services && sudo zypper dist-upgrade --details --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change && sync

GNU nano

  • Installs nano
  • Sets VISUAL and EDITOR to nano via environment variable
  • Sets nowrap for current user
sudo zypper install 'nano' && export 'VISUAL=nano' && export 'EDITOR=nano' && echo -e 'export VISUAL=nano\nexport EDITOR=nano' | sudo tee '/etc/profile.d/editor-nano.sh' > '/dev/null' && cat '/etc/profile.d/editor-nano.sh' && mkdir -p ~/'.config/nano' && echo 'set nowrap' | tee ~/'.config/nano/nanorc' > '/dev/null' && cat ~/'.config/nano/nanorc'

General

sudo zypper install aria2 fastfetch htop 7zip sensors unar 

fastfetch

clear && fastfetch -l 'small' && uname -a && date
ssh '192.168.1.152' -t 'clear && fastfetch -l 'small' && uname -a && date'

CPU microcode

ucode-intel

Settings

Hostname

sudo hostnamectl set-hostname 'Alira'
cat '/etc/hosts' | grep "$HOSTNAME" || echo "127.0.0.1 $HOSTNAME" | sudo tee --append '/etc/hosts' > '/dev/null'

Time

timedatectl set-timezone 'America/New_York' && sudo timedatectl 'set-ntp' 'true' && sudo hwclock --systohc && timedatectl status

Laptop Server

  • This tells systemd to ignore Lid close events and prevents system suspend
sudo mkdir -p '/etc/systemd/logind.conf.d' && echo -e "[Login]\nHandleLidSwitch=ignore" | sudo tee '/etc/systemd/logind.conf.d/99-laptop-server.conf' > '/dev/null'
sudo -e '/etc/systemd/logind.conf.d/99-laptop-server.conf'

Network

DNS

nmcli con show
sudo nmcli connection modify 'Wired connection 1' 'ipv4.dns' '192.168.1.1,1.1.1.2,1.0.0.2'
sudo nmcli connection modify 'Wired connection 1' 'ipv6.dns' '2606:4700:4700::1112,2606:4700:4700::1002'
sudo nmcli connection modify 'Wired connection 1' 'ipv4.address' '192.168.1.152/24'
sudo nmcli connection modify 'Wired connection 1' 'ipv4.gateway' '192.168.1.1'
sudo nmcli connection modify 'Wired connection 1' 'ipv4.method' 'manual'
sudo nmcli connection up 'Wired connection 1'

Firewalld

sudo firewall-cmd --set-default-zone='block'
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --permanent --zone='docker' --remove-interface='docker0'
sudo systemctl restart 'firewalld'

lm_sensors

sudo sensors-detect --auto
sudo -e '/etc/sysconfig/lm_sensors'

Boot Loader

sudo yast2 'bootloader'

Boot Code Options

  • Boot Loader: GRUB2
  • [ ] Write to Partition (/dev/sda2)
  • [x] Write to Master Boot Record (/dev/sda)
  • [ ] Custom Boot Partition
  • [x] Set active Flag in Partition Table for Boot Partition
  • [ ] Write generic Boot Code to MBR
  • Protective MBR flag: do not change

Kernel Parameters

  • CPU Mitigations: Auto
  • [ ] Graphical console
  • [ ] Serial console

Alira

quiet bgrt_disable security='' acpi_osi='Linux' reboot='pci' hibernate='no' idle='halt' nohz='off' preempt='full' iommu='pt' memory_corruption_check='0' init_on_alloc='0' init_on_free='0' pcie_aspm='off' drm_kms_helper.poll='0' drm_kms_helper.fbdev_emulation='0'

Bootloader Options

  • Timeout in Seconds: 0
  • [ ] Probe Foreign OS
  • [ ] Hide Menu on Boot
  • Default Boot Section: openSUSE Tumbleweed
  • [ ] Protect Boot Loader with Password

Drive Maintenance

Trim

sudo systemctl enable 'fstrim.timer' --now
sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l
sudo fstrim -v -a

ext2

  • :!: From LiveUSB/unmounted
sudo e2fsck -D -E 'discard,optimize_extents,inode_count_fullmap' -f -v -y '/dev/sda2'

Recovery Boot

  • Single-user mode
  • (recovery mode) boot option
sudo -e '/ext2.sh' && sudo chmod +x '/ext2.sh'
#!/bin/bash

umount '/'
e2fsck -D -E 'discard,optimize_extents,inode_count_fullmap' -f -v -y '/dev/sda2'
sync
sleep '3'
'/ext4.sh'
reboot

# End
/ext2.sh
sudo -e '/ext4.sh' && sudo chmod +x '/ext4.sh'
#!/bin/bash

umount '/dev/sdb'*
e2fsck -D -E 'optimize_extents,inode_count_fullmap' -f -v -y '/dev/sdb'
sync
sleep '3'

# End

ext4 NAS

  • TODO: Maintenance service
sudo e4defrag -v '/dev/sdb'

Tweaks

General

echo "export LD_BIND_NOW='1'" | sudo tee '/etc/profile.d/general-tweaks.sh' > '/dev/null'

modprobe.d

Dracut

sudo -e '/etc/dracut.conf.d/99-tweaks.conf'
compress="cat"
do_strip="yes"
aggressive_strip="yes"
hostonly="yes"
hostonly_mode="strict"
reproducible="no"
enhanced_cpio="no"
i18n_install_all="no"
kernel_cmdline="rd.luks=0 rd.lvm=0 rd.md=0 rd.dm=0"

# End
sudo dracut --force --regenerate-all

journald

sudo mkdir -p '/etc/systemd/journald.conf.d' && sudo -e '/etc/systemd/journald.conf.d/99-tweaks.conf'
[Journal]
Storage=none
Compress=false
MaxLevelStore=0
MaxLevelSyslog=0
MaxLevelKMsg=0
MaxLevelConsole=0
MaxLevelWall=0

# End
sudo journalctl --vacuum-time='1s' --rotate

fstab

sudo -e '/etc/fstab'

swap

,discard=once

ext2

  • / type ext2
,noatime

Automatic Updates

Service

sudo -e '/etc/systemd/system/suse-up.service'
[Service]
Type=oneshot

ExecStartPre='/usr/bin/zypper' clean --all

ExecStart='/usr/bin/zypper' --non-interactive refresh --force --services
ExecStart='/usr/bin/zypper' --non-interactive dist-upgrade --auto-agree-with-licenses --allow-downgrade --allow-name-change --allow-arch-change --allow-vendor-change

ExecStartPost='/usr/bin/sync'
ExecStartPost='/usr/bin/systemctl' reboot

# End

Timer

  • 06:00 Alira
sudo -e '/etc/systemd/system/suse-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'suse-up.timer' --now
[Unit]
Description=openSUSE OS Updater
After=network-online.target
Wants=network-online.target

[Timer]
OnCalendar=*-*-* 06:00:00
Persistent=true

[Install]
WantedBy=timers.target

# End
sudo systemctl start 'suse-up'

Notable Folders and Commands

1)
Legacy/MBR
/srv/www/wiki/data/attic/linux/distros/server/opensuse_tumbleweed_server.1778401845.txt.gz · Last modified: by Sean Rhone

Except where otherwise noted, content on this wiki is licensed under the following license: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki