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.

70 lines
6.6 KiB

5 years ago
2 years ago
5 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
5 years ago
  1. # Arch Linux tools
  2. Various command line tools for Arch Linux
  3. ## About
  4. This repository has various practical developer/sysadmin-oriented tools to Arch Linux.
  5. ----------------------
  6. ## Contents
  7. - `bash.custom`
  8. - Enable various customizations to your bash environment. Intention is to make life little bit easier to sysadmins when they work in shell environments.
  9. ### [tools](tools)
  10. Various shell tools, bundled in a custom `archtools` package. See [PKGBUILD](tools/PKGBUILD) and contents of shell tools for details.
  11. | Tool | Description |
  12. |----------------|-----------------------------------------------------------------------------------------------|
  13. | `archrisks` | Get security risk severity & count of installed packages on Arch Linux |
  14. | `bininfo` | Show information about an executable in PATH on Arch Linux |
  15. | `buildpkg` | Build a local package on the current directory which has `PKGBUILD` on Arch Linux |
  16. | `deltmpfiles` | Delete current temporary files from pre-defined locations |
  17. | `extract` | Extract wide range of various archive types with native tools |
  18. | `findinpkg` | Find text patterns & print occurences with matching lines numbers in Arch Linux package files |
  19. | `findmatch` | Grep/List matching strings in a specific folder |
  20. | `findpkg` | Search package in official Arch Linux repositories |
  21. | `genmac` | Generate a random MAC address for a Systemd-configured network interface |
  22. | `getsource` | Get build files from official Arch Linux repositories and AUR repositories |
  23. | `killns` | Send `signal` to a process running in a specific Linux namespace (see `man 7 signal`) |
  24. | `killprocess` | Kill a process by its name |
  25. | `missinglibs` | List missing package libraries for a local, installed Arch Linux package |
  26. | `nowner` | Find orphan files on various Linux distributions |
  27. | `pkgdeps` | Recursive shared library & executable dependency finder for Arch Linux |
  28. | `pkginfo` | Gather package information with pacman on Arch Linux |
  29. | `psns` | List processes, their users and PIDs and their namespace name in current Linux namespaces |
  30. | `showpkg` | Show specific package version - installed and available version |
  31. | `specialchars` | Show special characters which need to be escaped in shell |
  32. | `ssh_timezone` | Automatically retrieve timezone information for SSH users |
  33. | `tputcolors` | Display shell colors |
  34. | `whichcmd` | Find available commands in PATH by input syntax |
  35. | `whichport` | Which TCP/UDP port number is associated with an application protocol |
  36. | `whichservice` | Which application protocol is associated with a TCP/UDP port number |
  37. ### [pacman](pacman)
  38. **DISCLAIMER**: These modifications are fully compliant with Pacman version `5.1.3-1`. Newer versions have not been tested.
  39. | File | Description | Permissions |
  40. |------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|
  41. | `/usr/local/bin/makepkg` | Get sources without security checks; Ask user whether to install missing deps automatically; Prompt whether to enforce package compilation without missing deps; Implement support for `--getsource` parameter (works with, and requires [getsource](tools/getsource.sh) command) | `0755` |
  42. | `/usr/local/bin/pacmankeycheck.sh` | Check age of Pacman PGP/GPG public key ring files and prompt updating them during `pacman` execution if they are too old (30 days). | `0644` |
  43. | `/usr/local/bin/pacman` | A simple wrapper which runs `pacmankeycheck.sh` and then your original `pacman` command. | `0755` |
  44. | `/usr/share/makepkg/source/git.sh` | Modified `makepkg` source file; allow use of additional `git` command parameters. | `0644` |
  45. | `/usr/share/makepkg/source.sh` | Modified `makepkg` source file; use shallow git repository cloning (parameter `--depth 1`) instead of cloning full git repository when downloading package source code with `makepkg`. This is useful with large packages when only the most recent files from them are wanted and full git repository cloning mode is not desired. | `0644` |
  46. File paths above represent the intended deployment location on your Arch Linux file system.
  47. ### [stderred](stderred)
  48. [PKGBUILD](stderred/PKGBUILD) for `stderred`. As the build script description says, it `hooks into STDERR output to print all CLI errors in red"`.
  49. ----------------------
  50. ## License
  51. This repository uses GPLv3 license. Please see [LICENSE](https://github.com/Fincer/archtools/blob/master/LICENSE) files for details.