aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJohannes Stoelp <johannes.stoelp@gmail.com>2021-11-24 22:33:18 +0100
committerJohannes Stoelp <johannes.stoelp@gmail.com>2021-11-24 22:33:18 +0100
commit4b2d24e60b147e5a7552e01ba800573164b2c441 (patch)
treecdd471ec7e142a86eebf14431474232d76343257
parente9a30288fde1f46422f41a9fc5c84564df007c4c (diff)
downloadnotes-4b2d24e60b147e5a7552e01ba800573164b2c441.tar.gz
notes-4b2d24e60b147e5a7552e01ba800573164b2c441.zip
pacman: added pacman notes
-rw-r--r--src/tools/pacman.md58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/tools/pacman.md b/src/tools/pacman.md
new file mode 100644
index 0000000..f6b560b
--- /dev/null
+++ b/src/tools/pacman.md
@@ -0,0 +1,58 @@
+# pacman(1)
+
+## Remote package repositories
+
+```text
+pacman -Sy refresh package database
+pacman -S <pkg> install pkg
+pacman -Ss <regex> search remote package database
+pacman -Si <pkg> get info for pkg
+pacman -Su upgrade installed packages
+pacman -Sc clean local package cache
+```
+
+## Remove packages
+
+```text
+pacman -Rsn <pkg> uninstall package and unneeded deps + config files
+```
+
+## Local package database
+
+Local package database of installed packages.
+
+```text
+pacman -Q list all installed packages
+pacman -Qs <regex> search local package database
+pacman -Ql <pkg> list files installed by pkg
+pacman -Qo <file> query package that owns file
+pacman -Qe only list explicitly installed packages
+```
+
+## Local file database
+
+Local file database which allows to search packages owning certain files.
+Also searches non installed packages, but database must be synced.
+
+```text
+pacman -Fy refresh file database
+pacman -Fl <pkg> list files in pkg (must not be installed)
+pacman -Fx <regex> search
+```
+
+## Hacks
+
+Uninstall all orphaned packages (including config files) that were installed as
+dependencies.
+```text
+pacman -Rsn $(pacman -Qqtq)
+```
+
+List explicitly installed packages that are not required as dependency by any
+package and sort by size.
+```text
+pacman -Qetq | xargs pacman -Qi |
+ awk '/Name/ { name=$3 }
+ /Installed Size/ { printf "%8.2f%s %s\n", $4, $5, name }' |
+ sort -h
+```