Useful CLI tools (bash) for Arch Linux administration
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.6 KiB

5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
  1. #!/usr/bin/env bash
  2. #
  3. # pkginfo - Gather package information with pacman on Arch Linux
  4. #
  5. # Copyright (C) 2021 Pekka Helenius <pekka.helenius@fjordtek.com>
  6. #
  7. # This program is free software; you can redistribute it and/or modify
  8. # it under the terms of the GNU General Public License as published by
  9. # the Free Software Foundation; either version 2 of the License, or
  10. # (at your option) any later version.
  11. #
  12. # This program is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU General Public License
  18. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  19. #####################################
  20. FILETHRESHOLD=100
  21. PACMAN_EXEC="/usr/bin/pacman"
  22. if [[ $2 == "local" ]]; then
  23. ${PACMAN_EXEC} -Qi $1
  24. if [[ $3 == "files" ]]; then
  25. if [[ $(${PACMAN_EXEC} -Qql $1 | wc -l) -gt $FILETHRESHOLD ]]; then
  26. echo "Package $1 has $(pacman -Qql $1 | wc -l) files/dirs"
  27. sleep 3
  28. ${PACMAN_EXEC} -Qql $1 | less
  29. fi
  30. fi
  31. elif [[ $2 == "remote" ]]; then
  32. ${PACMAN_EXEC} -Si $1
  33. if [[ $3 == "files" ]]; then
  34. if [[ $(${PACMAN_EXEC} -Qql $1 | wc -l) -gt $FILETHRESHOLD ]]; then
  35. echo "Package $1 has $(pacman -Qql $1 | wc -l) files/dirs"
  36. sleep 3
  37. ${PACMAN_EXEC} -Qql $1 | less
  38. fi
  39. fi
  40. else
  41. echo -e "Input: sh pkginfo.sh <package> [local/remote] [optional arg:files]\n"
  42. fi