====== Information ======
* openSUSE
* Tumbleweed
* Server
* Alira = Dell Precision M6500 ((Legacy/MBR))
====== Download ======
* http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
* https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256
http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
openSUSE-Tumbleweed-DVD-x86_64-Snapshot20260529-Media.iso
====== Installation Notes ======
===== Partitioning =====
- ext2 ''/''
- No separate ''/home''
- 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'
===== Remove =====
sudo zypper remove --clean-deps 'irqbalance'
sudo zypper addlock 'irqbalance'
===== General =====
****
sudo zypper install aria2 fastfetch htop 7zip sensors unar
===== CPU microcode =====
****
ucode-intel
===== Specs =====
clear && fastfetch -l 'small' && uname -a && date
ssh '192.168.1.152' -t 'clear && fastfetch -l 'small' && uname -a && date'
====== Settings ======
===== 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 ====
* [[servers:upstream_dns_servers|More DNS Servers]]
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 ====
* [[linux:notes:firewalld|Notes]]
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 =====
* :?: ''Graphical console'' might randomly freeze before boot at some stage between BIOS -> GRUB
* CPU Mitigations: ''Auto''
* ''[ ]'' Graphical console
* ''[ ]'' Serial console
==== Alira ====
* [[linux:notes:kernel_parameters|More Kernel Parameters]]
* Last updated: 2026/05/31
quiet bgrt_disable security='' acpi_osi='Linux' reboot='pci' hibernate='no' idle='halt' nohz='off' preempt='lazy' iommu='pt' memory_corruption_check='0' init_on_alloc='0' init_on_free='0' drm_kms_helper.poll='0' drm_kms_helper.fbdev_emulation='0' hostname='localhost'
===== Bootloader Options =====
* Timeout in Seconds: ''1''
* ''[ ]'' 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 =====
* [[linux:notes:ext4|Notes]]
* 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 =====
* [[linux;notes;modprobe.d_tweaks#alira|Notes]]
===== 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 ======
* See [[linux:notes:misc]]