Skip to content

Fedora Workstation

System Information

shell
hostnamectl                 # Show hostname & OS details
cat /etc/fedora-release     # Fedora version
uname -r                    # Kernel version
lsb_release -a              # Distro info (if package installed)
free -h                     # Memory
df -h                       # Disk usage
top / htop                  # System activity

System & Package Upgrade

shell
sudo dnf upgrade --refresh -y                               # Best practice for full system upgrade
sudo dnf update && sudo dnf upgrade -y                      # Refresh metadata and upgrade packages (covered by `upgrade --refresh`)
sudo dnf distro-sync                                        # Synchronize packages to the latest versions
sudo dnf system-upgrade download --releasever=<version> -y  # Prepare major version upgrade
sudo dnf system-upgrade reboot                              # Reboot to perform major upgrade

User & Permissions

shell
whoami                      # Current user
id                          # User + group info
sudo useradd <name>         # Add user
sudo passwd <name>          # Set password
groups                      # Show group membership
chmod 755 <file>            # Change permissions
chown user:group <file>     # Change file ownership

Package Manager

shell
sudo dnf update             # Update system
sudo dnf upgrade --refresh  # Refresh & upgrade
sudo dnf install <pkg>      # Install package
sudo dnf remove <pkg>       # Remove package
sudo dnf search <term>      # Search package
sudo dnf info <pkg>         # Detailed package info
sudo dnf list <pkg>         # List short info about a specific package (if installed)
sudo dnf clean all          # Clean cache
dnf list installed          # All installed packages

Flatpak

shell
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub <app>
flatpak update
flatpak uninstall <app>
flatpak list

Services & Daemons

shell
systemctl status <service>          # Check status
systemctl start <service>           # Start service
systemctl stop <service>            # Stop service
systemctl restart <service>         # Restart
systemctl enable <service>          # Enable at boot
systemctl disable <service>         # Disable at boot
systemctl list-units --type=service # Active services

Firewall

shell
sudo firewall-cmd --state
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Networking

shell
nmcli device status             # Network devices
nmcli con show                  # Connections
ip a                            # IP addresses
ip r                            # Routing table
ping <host>                     # Ping
dig <domain>                    # DNS lookup

Misc

shell
sudo systemctl reboot           # Reboot
sudo systemctl poweroff         # Shutdown
gnome-extensions list           # GNOME extensions
rpm -qa                         # Installed RPM packages
journalctl -xe                  # Logs (detailed)
journalctl -f                   # Follow logs (like tail -f)

GNOME Tweaks

To install GNOME Tweaks, use:

shell
sudo dnf install gnome-tweaks

Extensions to install

Here are GNOME Tweaks extensions that you'll need to install:

text
# Must Have
Blur My Shell
Burn My Windows
Clipboard Indicator
Coverflow Alt-Tab
Logo Menu
Search Light
Transparent Top Bar (Adjustable transparency)
User Themes
Vitals

# Optional
AppIndicator / KStatusNotifierItem
Caffeine
Dash to Dock / Dash to Panel
GSConnect
Impatience
Just Perfection
Lock Keys
Forge / Tiling Assistant

Swap Alt and Win keys

  • Open "GNOME Tweaks" app.
  • Navigate to "Keyboard" -> "Additional Layout Options".
  • Expand "Alt/Win key behavior".
  • Choose one of the following:
    • Default
    • Swap Left Alt with Left Win

Packages to install

shell
sudo dnf install -y google-chrome-stable   # Google Chrome
sudo dnf install -y lupia                  # GNOME Image Viewer
sudo dnf install -y libreoffice            # Libre Office

# LibreWolf
sudo dnf copr enable -y ryanabx/librewolf
sudo dnf install -y librewolf

# VS Code
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
sudo dnf install -y code

# Python
sudo dnf install -y python3 python3-pip python3-virtualenv python3-devel

# Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustup update

# Go
sudo dnf install -y golang

# Node.js
sudo dnf module list nodejs           # List Node versions
sudo dnf module enable nodejs:20 -y   # Enable a specific version
sudo dnf install nodejs -y            # Install Node.js version