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 activitySystem & 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 upgradeUser & 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 ownershipPackage 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 packagesFlatpak
shell
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub <app>
flatpak update
flatpak uninstall <app>
flatpak listServices & 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 servicesFirewall
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-allNetworking
shell
nmcli device status # Network devices
nmcli con show # Connections
ip a # IP addresses
ip r # Routing table
ping <host> # Ping
dig <domain> # DNS lookupMisc
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-tweaksExtensions 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 AssistantSwap 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