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.

78 lines
6.8 KiB

5 years ago
2 years ago
5 years ago
1 year ago
5 years ago
2 years ago
1 year ago
2 years ago
1 year 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 for Arch Linux.
  5. ----------------------
  6. ## Contents
  7. - `bash.bashrc`
  8. - Drop into `/etc/` system folder
  9. - Use with `bash.custom` file
  10. - `bash.custom`
  11. - Drop into `/etc/` system folder or install using [PKGBUILD](tools/PKGBUILD)
  12. - Enable various customizations in your bash environment
  13. - Improve usability and visual feedback of bash shell
  14. ### [tools](tools)
  15. Various shell tools, bundled in a custom `archtools` package. See [PKGBUILD](tools/PKGBUILD) and contents of shell tools for details.
  16. | Tool | Description |
  17. |----------------|-----------------------------------------------------------------------------------------------|
  18. | `archrisks` | Get security risk severity & count of installed packages on Arch Linux |
  19. | `bininfo` | Show information about an executable in PATH on Arch Linux |
  20. | `buildpkg` | Build a local package on the current directory which has `PKGBUILD` on Arch Linux |
  21. | `deltmpfiles` | Delete current temporary files from pre-defined locations |
  22. | `dummypkg` | Create a dummy Arch Linux package |
  23. | `extract` | Extract wide range of various archive types with native tools |
  24. | `findinpkg` | Find text patterns & print occurences with matching lines numbers in Arch Linux package files |
  25. | `findmatch` | Grep/List matching strings in a specific folder |
  26. | `findpkg` | Search package in official Arch Linux repositories |
  27. | `genmac` | Generate a random MAC address for a Systemd-configured network interface |
  28. | `getsource` | Get build files from official Arch Linux repositories and AUR repositories |
  29. | `killns` | Send `signal` to a process running in a specific Linux namespace (see `man 7 signal`) |
  30. | `killprocess` | Kill a process by its name |
  31. | `missinglibs` | List missing package libraries for a local, installed Arch Linux package |
  32. | `nowner` | Find orphan files on various Linux distributions |
  33. | `pkgdeps` | Recursive shared library & executable dependency finder for Arch Linux |
  34. | `pkginfo` | Gather package information with pacman on Arch Linux |
  35. | `psns` | List processes, their users and PIDs and their namespace name in current Linux namespaces |
  36. | `showpkg` | Show specific package version - installed and available version |
  37. | `specialchars` | Show special characters which need to be escaped in shell |
  38. | `ssh_timezone` | Automatically retrieve timezone information for SSH users |
  39. | `tputcolors` | Display shell colors |
  40. | `whichcmd` | Find available commands in PATH by input syntax |
  41. | `whichport` | Which TCP/UDP port number is associated with an application protocol |
  42. | `whichservice` | Which application protocol is associated with a TCP/UDP port number |
  43. ### [pacman](pacman)
  44. **DISCLAIMER**: These modifications are fully compliant with Pacman version `5.1.3-1`. Newer versions have not been tested.
  45. | File | Description | Permissions |
  46. |------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|
  47. | `/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` |
  48. | `/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` |
  49. | `/usr/local/bin/pacman` | A simple wrapper which runs `pacmankeycheck.sh` and then your original `pacman` command. | `0755` |
  50. | `/usr/share/makepkg/source/git.sh` | Modified `makepkg` source file; allow use of additional `git` command parameters. | `0644` |
  51. | `/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` |
  52. File paths above represent the intended deployment location on your Arch Linux file system.
  53. ### [stderred](stderred)
  54. [PKGBUILD](stderred/PKGBUILD) for `stderred`. As the build script description says, it `hooks into STDERR output to print all CLI errors in red"`.
  55. ----------------------
  56. ## License
  57. This repository uses GPLv3 license. Please see [LICENSE](https://github.com/Fincer/archtools/blob/master/LICENSE) files for details.