Useful Commands/Package Management

From Fundamental Ramen
Jump to navigation Jump to search

Windows

general

Purpose Command
Install scoop
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Get path of an executable
gcm php

Don't use where php, it's very slow.

winget

Purpose RunAs Command
Install PowerShell Required
winget install --id Microsoft.PowerShell --source winget --installer-type wix --override "CREATE_DESKTOP_SHORTCUT=1 ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1"

Don't install with default options.

Update package list
winget source update

scoop

Purpose RunAs Command
Update package list
scoop update

review

Windows 系統套件管理分工架構
WinGet
(負責所有 GUI 應用)
Scoop
(負責所有 CLI 與開發工具)
  • Chrome / Edge
  • VS Code / JetBrains
  • Docker / Git
  • Discord / Spotify
  • PHP / Composer
  • Node.js / NVM / Bun
  • Python / Go / Rust
  • Neovim / kubectl / 7zip

Ubuntu

Purpose Command
List how many top packages installed by me.
apt-mark showmanual | grep -E 'top$'
List files owned by package
dpkg -L openvino-2026.2.1
List all packages installed.
dpkg --get-selections
Show version info of a package not installed.
sudo apt-cache show openssl
Show version info of a package installed.
dpkg -s openssl | grep '^Version'

OSX

Purpose Command
Install beta package
$ brew info jython
jython: stable 2.5.3, devel 2.7-b1
...
$ brew install --devel jython
List compiling options of a package for brew install
# version / dependencies / build options
brew info graphviz

# build options only
brew options graphviz
Remove unused packages.
This action could make self-compiling executables miss link for libraries (*.so, *.dylib)
brew cleanup
brew cleanup $FORMULA
brew cleanup -n # dry-run