Fedora Setup: Difference between revisions

From ITE Memory Vault
No edit summary
No edit summary
Line 86: Line 86:
# Repos + Codecs (do this before any app installs)
# Repos + Codecs (do this before any app installs)
sudo dnf install -y \
sudo dnf install -y \
   https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
   https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
   https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
   https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
rpm -q rpmfusion-free-release rpmfusion-nonfree-release
sudo dnf swap ffmpeg-free ffmpeg --allowerasing -y
sudo dnf swap ffmpeg-free ffmpeg --allowerasing -y
sudo dnf group install -y multimedia --setopt=install_weak_deps=False --exclude=PackageKit-gstreamer-plugin
sudo dnf group install -y multimedia --setopt=install_weak_deps=False --exclude=PackageKit-gstreamer-plugin

Revision as of 18:43, 13 September 2026

Fedora Linux (https://fedoraproject.org/) is the only Linux distro that is a registered digital public good. It has a user friendly interface. Most LLM tools can easily understand Linux terminal requirements and can easily fix problems associated with Linux. Linux is the most secure operating system and has plenty of modern support.

Ventoy Setup

Get a USB flashdrive and install ventoy (ventoy.net/en/download.html) like ventoy-1.1.07-linux.tar.gz and then extract it

cd ~/Downloads
tar -xzf ventoy-*-linux.tar.gz
cd ventoy-*/

# Then find the usb drive, finding the wrong one can erase your hard drive!
lsblk -o NAME,SIZE,MODEL,MOUNTPOINT

The USB might be something like sbd while system drives are usually sda or nvme. Install ventoy

# Assuming USB is at /dev/sdb, everything on flash drive will be deleted
sudo sh Ventoy2Disk.sh -i /dev/sdb

Then on your new ventoy usb: put operating system .iso files in the main /Ventoy/ folder.

Fedora Download

I recommend Fedora KDE Plasma Desktop. The best way to describe it is as if MicroSlop continued production on Windows 7 for user benefit instead of what they built for Windows 8+ for advertiser benefit. Most systems are going to use the "x86_64" version of the .iso file. The ARM ones are for OrangePi and other mobile device processors. Fedora download link: https://fedoraproject.org/kde/download/

Boot into BIOS, Fedora OS install

Look up normal BIOS conditions for operating system install. Most of the time the defaults are fine. On computer startup, press the BIOS setup button, usually F2, Delete, or Escape (based on manufacturer). Ensure boot order has the ventoy usb before the harddrive. Save and exit. This will then start the computer running a Live Instance of Fedora on the USB. Follow the prompts to install the operating system. It's perfectly fine to shrink your drives down and keep any existing operating system on the computer. This is known as dual-booting. Restart the computer when it prompts you to do so. Remove the usb so it doesn't try to boot into the live version again.

Follow the prompts on the system setup wizard, including setting up the main admin account.

After Login

Click on the "Start" button in the bottom left and go to the "Konsole" app (a terminal application). Each of the following modules are copy pastes that should be done in relative order for system setup based on my preferred systems.

# SSH Setup (remote access)
sudo systemctl enable --now sshd
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
sudo dnf install -y nss-mdns avahi
sudo systemctl enable --now avahi-daemon
sudo firewall-cmd --permanent --add-service=mdns
sudo firewall-cmd --reload
# System Update
sudo systemctl disable --now packagekit
echo 'max_parallel_downloads=10' | sudo tee -a /etc/dnf/dnf.conf
echo 'fastestmirror=True' | sudo tee -a /etc/dnf/dnf.conf
sudo dnf upgrade --refresh -y && flatpak update -y
# Cleanup process
sudo dnf clean all 
sudo dnf autoremove
sudo flatpak uninstall --unused
sudo dnf remove --oldinstallonly
sudo dnf install -y \
  https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
  https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
  
# Find out what GPU you have
lspci | grep -Ei 'vga|3d|display'

# NVIDIA
sudo dnf install -y akmod-nvidia xorg-x11-drv-nvidia-cuda
sudo dnf install -y xorg-x11-drv-nvidia-libs.i686
sudo dnf install -y libva-nvidia-driver
# Wait a few minutes then run 
modinfo -F version nvidia

# AMD 
sudo dnf install -y mesa-va-drivers mesa-vdpau-drivers

# INTEL 
sudo dnf install -y intel-media-driver libva-intel-driver

# 32-bit libraries (for Steam)
sudo dnf install -y --skip-unavailable \
  mesa-dri-drivers.i686 mesa-libGL.i686 mesa-vulkan-drivers.i686 \
  libXinerama.i686 libgudev.i686 alsa-lib.i686 \
  pulseaudio-libs.i686 openssl-libs.i686 glx-utils.i686
# Add a non-admin useraccount for security and safety reasons
# Replace "Display Name" and username with appropriate alternatives
sudo useradd -m -c "Display Name" username
sudo passwd username

# Ensure they don't have admin powers
sudo gpasswd -d username wheel

# Confirm drive labeling
sudo restorecon -Rv /home/username
# Repos + Codecs (do this before any app installs)
sudo dnf install -y \
  https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
  https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
rpm -q rpmfusion-free-release rpmfusion-nonfree-release
sudo dnf swap ffmpeg-free ffmpeg --allowerasing -y
sudo dnf group install -y multimedia --setopt=install_weak_deps=False --exclude=PackageKit-gstreamer-plugin
sudo dnf install -y --skip-unavailable gstreamer1-plugin-openh264 gstreamer1-plugins-ugly gstreamer1-plugins-bad-free
# Flathub setup
flatpak remote-delete fedora-flathub --force
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remotes
# Core Apps
sudo dnf install -y --skip-unavailable \
  vlc cockpit cockpit-storaged nss-mdns avahi \
  snapper btrfs-assistant krdc krdp tmux \
  btop ncdu unrar p7zip p7zip-plugins \
  google-noto-emoji-color-fonts
sudo flatpak install -y flathub \
  com.brave.Browser \
  org.onlyoffice.desktopeditors \
  org.localsend.localsend_app \
  com.github.tchx84.Flatseal
  
# Gaming
sudo flatpak install -y flathub \
  com.valvesoftware.Steam \
  net.davidotek.pupgui2 \
  org.prismlauncher.PrismLauncher \
  org.vinegarhq.Sober \
  org.supertuxkart.SuperTuxKart \
  com.github.Anuken.Mindustry \
  net.veloren.airshipper
sudo dnf install -y --skip-unavailable \
  mesa-dri-drivers.i686 mesa-libGL.i686 mesa-vulkan-drivers.i686 \
  libXinerama.i686 libgudev.i686 alsa-lib.i686 \
  pulseaudio-libs.i686 openssl-libs.i686 glx-utils.i686

# Creatives (remove any that aren't needed)
sudo flatpak install -y flathub \
  org.gimp.GIMP \
  org.kde.krita \
  org.mypaint.MyPaint \
  org.inkscape.Inkscape \
  org.blender.Blender \
  net.scribus.Scribus \
  org.kde.kdenlive \
  org.audacityteam.Audacity \
  com.obsproject.Studio \
  fr.handbrake.ghb

# Game Dev 
sudo flatpak install -y flathub \
  org.godotengine.Godot \
  org.tiled.Tiled \
  com.orama_interactive.Pixelorama
sudo rpmkeys --import https://packages.microsoft.com/keys/microsoft.asc
sudo dnf config-manager addrepo --from-repofile=https://packages.microsoft.com/yumrepos/vscode/config.repo
sudo dnf install -y code

# Kid Learning 
sudo flatpak install -y flathub \
  edu.mit.Scratch \
  org.stellarium.Stellarium \
  org.kde.gcompris \
  net.ankiweb.Anki
  
# Tech Tools 
sudo dnf install -y --skip-unavailable \
  git neovim ripgrep fd-find jq rsync fzf bat \
  nmap nmap-ncat wireshark-cli tcpdump mtr iperf3 bind-utils \
  smartmontools lm_sensors gparted testdisk \
  podman distrobox buildah skopeo ansible-core borgbackup restic
sudo flatpak install -y flathub org.wireshark.Wireshark org.remmina.Remmina
# Web Portal by going to https://HOSTNAME.local:9090 or https://IPADDRESS:9090
sudo dnf install -y cockpit cockpit-storaged cockpit-networkmanager cockpit-podman
sudo systemctl enable --now cockpit.socket
sudo firewall-cmd --permanent --add-service=cockpit
sudo firewall-cmd --reload

# Remote Desktop Setup
sudo dnf install -y krdp krdc
sudo firewall-cmd --permanent --add-port=3389/tcp
sudo firewall-cmd --reload
# Requires enabling in the system "System Settings > Remote Desktop"
# BeeBEEP LAN chat (LAN messenger)
cd ~/Downloads
curl -L -o BeeBEEP.flatpak "https://sourceforge.net/projects/beebeep/files/Linux/FLATPAK/BeeBEEP-5.9.1-x86_64.flatpak/download"
ls -lh BeeBEEP.flatpak
# ^ must be tens of MB. A few KB = you got an HTML page, not the app
sudo flatpak install -y --system --bundle BeeBEEP.flatpak
sudo flatpak override --share=network org.beebeep.BeeBEEP
sudo firewall-cmd --permanent --add-port=6475/tcp
sudo firewall-cmd --permanent --add-port=6475/udp
sudo firewall-cmd --permanent --add-service=mdns
sudo firewall-cmd --reload

# Always on service, ensures beebeep starts with system and is always running
sudo tee /etc/systemd/user/beebeep.service > /dev/null <<'EOF'
[Unit]
Description=BeeBEEP LAN Messenger
After=graphical-session.target
PartOf=graphical-session.target
StartLimitIntervalSec=0

[Service]
Type=simple
ExecStart=/usr/bin/flatpak run --die-with-parent org.beebeep.BeeBEEP
Restart=always
RestartSec=5

[Install]
WantedBy=graphical-session.target
EOF
sudo systemctl --global enable beebeep.service