项目作者: tranzystorek-io

项目描述 :
Manage Arch Linux packages via any pacman-compatible wrapper
高级语言: Rust
项目地址: git://github.com/tranzystorek-io/pakr.git
创建时间: 2021-02-06T23:08:37Z
项目社区:https://github.com/tranzystorek-io/pakr

开源协议:MIT License

下载


Paker

Latest version of 'pakr' @ Cloudsmith
GitHub release (latest by date)

Hosted By: Cloudsmith

Package repository hosting is graciously provided by Cloudsmith.
Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that
enables your organization to create, store and share packages in any format, to any place, with total
confidence.

About

Paker (typed pakr for convenience) is a Rust wrapper for any utilities
compatible with pacman‘s CLI API (flags like -Syu etc.).

In short, it gives you a nicer, more descriptive interface for common
operations on Arch Linux packages, including:

  • Installing packages
  • Removing packages
  • Displaying detailed package info
  • Performing a system upgrade
  • Listing and automatically removing orphaned packages
  • Cleaning pacman’s package cache

Currently used flags:

Subcommand Flags
install -S
install -d -S --asdeps
uninstall -Rs
info -Qi
upgrade -Syu
clean -Sc
orphans list -Qtd
orphans remove -Qtdq :arrow_right: -Rns

Installation

Via Cargo

Clone this repository and run this command inside:

  1. cargo install --path .

Configuration

All configuration resides under $XDG_CONFIG_HOME/pakr/pakr.toml (usually $HOME/.config/pakr/pakr.toml):

  1. [wrapper]
  2. command = "pacman" # name of the wrapper command
  3. requires_root = true # whether this wrapper needs root permissions (granted via sudo)

If this file is missing, a default configuration is created that runs sudo pacman.

Examples

Installing kakoune with the trizen wrapper:

  1. $ pakr install kakoune
  2. :: Pacman command: /usr/bin/sudo /usr/bin/pacman -S kakoune
  3. [sudo] password for devuser:
  4. resolving dependencies...
  5. looking for conflicting packages...
  6. Packages (1) kakoune-2020.09.01-1
  7. Total Download Size: 1.03 MiB
  8. Total Installed Size: 3.50 MiB
  9. :: Proceed with installation? [Y/n]
  10. :: Retrieving packages...
  11. kakoune-2020.09.01-1-x86_64 1057.4 KiB 1792 KiB/s 00:01 [#######################################################] 100%
  12. (1/1) checking keys in keyring [#######################################################] 100%
  13. (1/1) checking package integrity [#######################################################] 100%
  14. (1/1) loading package files [#######################################################] 100%
  15. (1/1) checking for file conflicts [#######################################################] 100%
  16. (1/1) checking available disk space [#######################################################] 100%
  17. :: Processing package changes...
  18. (1/1) installing kakoune [#######################################################] 100%
  19. Optional dependencies for kakoune
  20. aspell: spell checking support
  21. clang: C/C++ completion and diagnostics support
  22. kak-lsp: LSP client
  23. ranger: filesystem explorer
  24. tmux: splitting and creating windows [installed]
  25. xdotool: X11 utility to focus arbitrary kakoune clients
  26. xorg-xmessage: display debug messages in a new window
  27. :: Running post-transaction hooks...
  28. (1/1) Arming ConditionNeedsUpdate...

FAQ

Can/will pakr replace insert package manager name here?

No, it’s a non-goal.

pakr was made to target a narrow set of tasks that I do often.
I still use the underlying package manager to do specific tasks
like listing manually installed packages or installing packages from manual sources.

Some common things that pacman doesn’t do are included
in the pacman-contrib package,
you might want to check it out.