====== Information ======
* openSUSE ((https://www.opensuse.org/))
* Tumbleweed ((https://en.opensuse.org/Portal:Tumbleweed))
* Server ((https://get.opensuse.org/server/))
====== Download ======
* http://download.opensuse.org/tumbleweed/iso/
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
====== Installation Notes ======
===== Partitioning =====
- ext4 ''/''
- 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]
====== Software ======
===== Disable USB Source =====
****
sudo zypper modifyrepo --disable --medium-type 'hd'
===== Update =====
****
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 binutils chrony htop 7zip sensors unar
===== CPU microcode =====
****
ucode-intel
====== Settings ======
===== 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'
===== GRUB =====
==== Config ====
* [[linux:notes:kernel_parameters|More Kernel Parameters]]
sudo yast2 'bootloader'
==== Oak ====
* Last updated: 2024/05/10
preempt='none' nohz='off' pci='pcie_bus_perf,realloc,pcie_scan_all,big_root_window' pcie_aspm='off' modprobe.blacklist='sp5100_tco' nowatchdog
===== NetworkManager =====
* [[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'
===== lm_sensors =====
sudo sensors-detect --auto
sudo -e '/etc/sysconfig/lm_sensors'
===== Secure Shell =====
* See [[clients:secure_shell#generate_ssh_keys|Client - Generate SSH Keys]] notes to generate/restore public key
===== Disk Drives =====
==== Swap ====
* Add ''discard'' after ''defaults'' for the ''swap'' mountpoint ((defaults,discard))
sudo -e '/etc/fstab'
,discard=once
swap defaults,discard=once
==== Trim ====
****
sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l
===== Time =====
* :?: 2024/05/06: On GNOME, even though ''chrony'' does NTP sync, it doesn't seem to write it to the hardware clock which is usually wrong after a CMOS reset ((starting Firefox quickly after rebooting has a wrong system clock certificate failure error)); it's not known if this affects Server
* This sets the hardware clock to the current system/OS clock
* TODO: Figure out ''chrony'' command to do NTP sync
sudo hwclock --systohc
====== 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
===== Timer =====
* 06:00 Oak
* 06:10 Alira
sudo -e '/etc/systemd/system/suse-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'suse-up.timer' --now
[Unit]
Description=Software Package Maintenance and Updater
After=network-online.target
Wants=network-online.target
[Timer]
OnCalendar=*-*-* 06:00:00
Persistent=true
[Install]
WantedBy=timers.target
====== Notable Folders and Commands ======
* See [[notes:misc_linux]]