mirror of
https://github.com/foo-dogsquared/wiki.git
synced 2025-02-07 15:19:04 +00:00
![Gabriel Arazas](/assets/img/avatar_default.png)
Now, it's all under the notebook umbrella. Seems to be appropriate as it is just my notes after all. I also updated some notes from there. I didn't keep track of what it is this time. Something about more learning notes extracted from my "Learning how to learn" course notes and then some. Lack of time and hurriness just makes it difficult to track but it should be under version control already.
83 lines
2.0 KiB
Org Mode
83 lines
2.0 KiB
Org Mode
:PROPERTIES:
|
|
:ID: 77f3ec38-9885-4f2b-8019-9042f0c6e4cb
|
|
:END:
|
|
#+title: Command line: pacman
|
|
#+date: "2021-06-08 15:00:04 +08:00"
|
|
#+date_modified: "2021-07-19 23:49:40 +08:00"
|
|
#+language: en
|
|
#+property: header_args :eval no
|
|
|
|
|
|
The built-in package manager of Arch Linux (among others).
|
|
This note is based from =pacman v6= and above.
|
|
|
|
|
|
|
|
|
|
* Subcommands
|
|
|
|
Interestingly, pacman does not have subcommands with specific options.
|
|
Instead, they go with specific flags denoting a subcommand.
|
|
Practically, they're just subcommands except appearing as options.
|
|
|
|
#+begin_src shell
|
|
# Rather than 'pacman install podman' or something similar.
|
|
pacman -S podman
|
|
#+end_src
|
|
|
|
Here's what you can do with the package manager:
|
|
|
|
- =-S= are concerned with syncing the local database to the remote databases.
|
|
- =-F= are mostly query-related operations with the database.
|
|
- =-R= removes installed packages.
|
|
|
|
You can see more of them in the Operations section of the manual page (i.e., =pacman.1=).
|
|
|
|
|
|
|
|
|
|
* Examples
|
|
|
|
Welp, this is what you came for so let's go ahead.
|
|
|
|
|
|
** Quickstart
|
|
|
|
It's a package manager so it's supposed to do basic package manager stuff.
|
|
All of the shown commands are in longform with the shortform just commented for practical purposes.
|
|
|
|
#+begin_src shell
|
|
# Search for a pacakge
|
|
# pacman -Ss podman
|
|
pacman --sync --search podman
|
|
|
|
# Install a package
|
|
# pacman -S podman
|
|
pacman --sync podman
|
|
|
|
# Uninstall a package
|
|
# pacman -Rns podman
|
|
pacman --remove --no-save --recursive podman
|
|
|
|
# Upgrade the system
|
|
# pacman -Syu
|
|
pacman --sync --refresh --upgrade
|
|
#+end_src
|
|
|
|
|
|
** Package search selection
|
|
|
|
With everybody's favorite fuzzy finder, [[id:4eb1f8b1-bc12-4a6c-8fa4-20e4c3542cf2][fzf]].
|
|
|
|
#+begin_src bash
|
|
pacman --sync --quiet --search pkg | fzf --prompt "Package to install > " | xargs doas pacman --sync
|
|
#+end_src
|
|
|
|
You can also create a search selection with all of the packages with the following one-liner.
|
|
|
|
#+begin_src bash
|
|
pacman -S --list --quiet \
|
|
| fzf --multi --prompt "Install package(s) > " \
|
|
| xargs doas pacman -S --noconfirm
|
|
#+end_src
|