Package manager commands for macOS (Homebrew) and Linux (apt, yum/dnf). Use when user mentions "brew", "homebrew", "apt", "apt-get", "yum", "dnf", "install package", "update packages", "package manager", "brew cask", "PPA", "system dependencies", "upgrade all", or managing system packages.
Package manager commands for macOS (Homebrew) and Linux (apt, yum/dnf). Use when user mentions "brew", "homebrew", "apt", "apt-get", "yum", "dnf", "install package", "update packages", "package manager", "brew cask", "PPA", "system dependencies", "upgrade all", or managing system packages.
Package Manager Reference: Homebrew, APT, DNF/YUM
Homebrew (macOS)
Install, Remove, Upgrade
brew install <package> # Install a formula
brew install <package>@<version> # Install specific version
brew uninstall <package> # Remove a package
brew reinstall <package> # Reinstall (useful after macOS upgrades)
brew update # Update Homebrew itself and tap metadata
brew upgrade # Upgrade all outdated packages
brew upgrade <package> # Upgrade one package
brew outdated # List outdated packages
Search and Inspect
brew search <term> # Search by name or partial match
brew info <package> # Version, dependencies, install path
brew list # All installed formulae
brew list --versions # Installed formulae with versions
brew deps --tree <package> # Dependency tree
brew tap <user/repo> # Add a third-party repository
brew tap # List all taps
brew untap <user/repo> # Remove a tap
brew install <user/repo>/<formula> # Install from a specific tap
tap "homebrew/bundle"
tap "hashicorp/tap"
brew "git"
brew "node@20"
brew "python@3.12"
cask "visual-studio-code"
cask "docker"
mas "Xcode", id:497799835# Mac App Store (requires mas)
Services
brew services start <service> # Start (e.g., postgresql, redis)
brew services stop <service> # Stop
brew services restart <service> # Restart
brew services list # List all managed services
brew services run <service> # Run once, no startup registration
Cleanup
brew cleanup # Remove old versions and stale downloads
brew cleanup -n # Dry run
brew cleanup -s # Remove all cache filesdu -sh "$(brew --cache)"# Show cache size
Pin Packages
Pinning prevents a package from being upgraded by brew upgrade.
brew pin <package>
brew unpin <package>
brew list --pinned
Troubleshooting
brew doctor # Run diagnostic checks
brew update-reset # Reset to clean state (re-fetches taps)
brew --prefix <package> # Show install path
brew install -v <package> # Verbose install for debugging
apt search <term> # Search by name or description
apt show <package> # Package details
apt list --installed # List installed packages
apt list --upgradable # List upgradable packages
apt-cache policy <package> # Version and repository info
sudo dnf upgrade # Upgrade all packagessudo dnf check-update # Check for updates without installingsudo dnf upgrade <package> # Upgrade one package
dnf update is an alias for dnf upgrade.
Search and Inspect
dnf search <term> # Search
dnf info <package> # Package details
dnf list installed # List installed
dnf list updates # List available updates
dnf provides <file-or-command> # Find which package provides a file
Repositories
dnf repolist # List enabled repos
dnf repolist all # List all repossudo dnf config-manager --add-repo <url> # Add a reposudo dnf config-manager --set-enabled <repo-id> # Enable a reposudo dnf config-manager --set-disabled <repo-id># Disable a repo
Version Lock
sudo dnf install dnf-plugin-versionlock # Install the pluginsudo dnf versionlock add <package> # Lock a packagesudo dnf versionlock delete <package> # Unlock
dnf versionlock list # List locked packages
Cleanup
sudo dnf autoremove # Remove unneeded dependenciessudo dnf clean all # Clean cached metadata and packagessudo dnf clean packages # Clean cached packages only