====== Information ======
* Fedora Server
* 41
* https://fedoraproject.org/server/
===== TODOs =====
* ''e2fsck'' ext4 generic notes on separate page for LiveUSB
* [[linux:distros:fedora_workstation_gnome#dracut|Dracut/GRUB tweaks]]
* dnf update -> distro-sync
====== Download ======
* https://fedoraproject.org/en/server/download
* [[https://download.fedoraproject.org/pub/fedora/linux/releases/41/Server/x86_64/iso/Fedora-Server-dvd-x86_64-41-1.4.iso|F41 ISO]]
====== Installation Notes ======
===== Partitioning =====
- :!: Delete ''/''
- Re-create ''/'' without specifying a size ((this uses all available remaining space))
- ''/boot'' and ''/'' to ext4
====== Repositories ======
****
sudo dnf repolist
===== Disable =====
* [[https://discussion.fedoraproject.org/t/openh264-repo-enabled-by-default-on-server/134531|openh264 repo discussion]]
sudo dnf config-manager 'setopt' 'fedora-cisco-openh264'.'enabled'='0'
====== Software ======
===== Remove =====
****
sudo systemctl disable 'irqbalance' --now && sudo dnf remove 'irqbalance'
===== Update =====
==== System ====
****
sudo dnf autoremove -y && sudo dnf update -y && sync
==== Firmware ====
****
sudo fwupdmgr refresh --force && sudo fwupdmgr update --verbose
===== GNU nano =====
* Installs ''nano''
* Sets ''VISUAL'' and ''EDITOR'' to ''nano'' via environment variable
* Sets ''nowrap'' for current user
sudo dnf install 'nano' -y && 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 =====
* TODO: Figure out ''policycoreutils-devel''
sudo dnf install aria2 binutils htop lm_sensors p7zip p7zip-plugins unar wget
policycoreutils-devel
====== Settings ======
===== Network =====
==== systemd-resolved ====
* systemd-resolved caches DNS
* [[servers;upstream_dns_servers#systemd-resolved|Quad9 ECS]], see [[servers;upstream_dns_servers|DNS Servers]] for other addresses
sudo mkdir -p '/etc/systemd/resolved.conf.d' && sudo -e '/etc/systemd/resolved.conf.d/99-dns-over-tls.conf'
[Resolve]
DNS=9.9.9.11#dns11.quad9.net 149.112.112.11#dns11.quad9.net 2620:fe::11#dns11.quad9.net 2620:fe::fe:11#dns11.quad9.net
DNSOverTLS=yes
=== Verify ===
resolvectl status
resolvectl status | grep '+DNSOverTLS'
===== 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'
===== Hostname =====
* Change ''x'' to computer name
* Likely not needed if set through Anaconda
hostnamectl set-hostname 'x'
===== lm_sensors =====
sudo sensors-detect --auto
sudo -e '/etc/sysconfig/lm_sensors'
===== Secure Shell =====
* See [[programs;linux;openssh_client|OpenSSH Client]] notes to generate/restore public key
===== Drive Maintenance =====
==== Trim ====
****
sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l
==== ext4 ====
=== Repair ===
sync && sudo umount '/dev/sdb1'
sudo e2fsck -C '0' -D -E 'discard,optimize_extents,inode_count_fullmap,check_encoding' -f -y -v '/dev/sdb1'
-c -c -k
=== Defrag ===
sudo e4defrag -v '/dev/sda2' '/dev/sda3'
sudo e4defrag -v '/dev/sdb1'
==== XFS ====
=== Repair ===
sync && sudo umount '/dev/sdb1'
sudo xfs_repair -v '/dev/sdb1'
=== Defrag ===
sudo xfs_fsr -v '/dev/sda2' '/dev/sda3'
sudo xfs_fsr -v '/dev/sdb1'
====== Automatic Updates ======
===== Service =====
sudo -e '/etc/systemd/system/fedora-up.service'
[Service]
Type=oneshot
ExecStartPre='/usr/bin/dnf' clean 'all'
ExecStart='/usr/bin/dnf' update -y
ExecStart='/usr/bin/dnf' autoremove -y
ExecStartPost='/usr/bin/sync'
ExecStartPost='/usr/bin/systemctl' reboot
===== Timer =====
* ''00:00'' Oak
sudo -e '/etc/systemd/system/fedora-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'fedora-up.timer' --now
[Unit]
Description=Software Package Maintenance and Updater
After=network-online.target
Wants=network-online.target
[Timer]
OnCalendar=*-*-* 00:00:00
Persistent=true
[Install]
WantedBy=timers.target
====== Notable Folders and Commands ======
* See [[linux:notes:misc]]
===== Firewalld =====
* See [[linux:notes:firewalld|Firewalld notes]]