insspb.utils

Ansible Role: Utils

Main branch Developer branch
Build Status Build Status

Description

This role installs several essential utilities. It contains multiple lists, allowing you to enable or disable features as you wish.

Basic utilities include:
  • command-not-found: suggests package installations in interactive bash sessions (Not available on CentOS)
  • dstat: generates system resource statistics
  • htop: interactive process viewer for Linux
  • atop: another process viewer for Linux
  • smem: reports on memory usage
  • unzip: unpacks zip files
  • zip: compresses files into zip format
  • gzip: works with gzip files
  • bzip2: works with bzip2 files
  • nano: simple text editor
  • vim: advanced text editor (Failed on CentOS 5 as it’s already installed as vi)
  • git: distributed version control system for working with GitHub
  • bash-completion: command line autocompletion, similar to Ubuntu (Only added for RedHat playbook).
Network utilities include:
  • curl: transfers data using URL syntax
  • iftop: shows bandwidth usage on an interface
  • mtr: network diagnostic tool
  • tshark: analyzes network traffic
  • nmap: network security scanner
  • wget: download manager
  • telnet: traditional telnet command
File system utilities include:
  • iotop: shows IO usage by processes
  • ncdu: interactive console disk usage visualizer
  • lsof: lists open files
  • tree: shows directory structure in a tree format
  • mc: classic file manager
Developer utilities include:
  • pstack: shows execution stack trace of active processes
  • strace: traces system calls and signals
  • ltrace: traces library calls
Backward compatibility for CentOS7
  • net-tools: adds the ipconfig command to CentOs7

Platforms:

  • CentOS
  • RedHat
  • Debian
  • Ubuntu

Requirements

None at the moment.

Role Variables

# Role behavior:
utils_install_basic: True               # Installs basic tools list if true.
utils_install_network: True             # Installs network tools list if true.
utils_install_filesystem: True          # Installs filesystem tools list if true.
utils_install_dev: False                # Installs developer tools list if true.
utils_install_redhat7_system: True      # Installs old packages list for CentOS 7 if true.
utils_install_user: True                # Installs user-defined packages list if true.

# Role lists:
utils_list_basic: []                    # Placeholder for basic tools. Check vars/main.yml
utils_list_network: []                  # Placeholder for network tools. Check vars/main.yml
utils_list_filesystem: []               # Placeholder for filesystem tools. Check vars/main.yml
utils_list_dev: []                      # Placeholder for developer tools. Check vars/main.yml
utils_list_redhat7_system: []           # Placeholder for RedHat 7 tools. Check vars/main.yml
utils_list_user: []                     # Placeholder for user tools. Check vars/main.yml

# Apt behavior:
utils_update_cache: True                # Updates application cache before execution if true.
utils_upgrade_software: True            # Upgrades installed software if true.
utils_cache_valid: "3600"               # Cache validity period in seconds.
utils_upgrade_type: "safe"              # Default upgrade method: 
                                        # "yes" or "safe" for safe-upgrade
                                        # "full" for full-upgrade
                                        # "dist" for dist-upgrade

Dependencies

This role is independent.

Example Playbook

Executing this role might take some time. It's recommended to use the free ansible playbook strategy if possible.

- hosts: localhost
  strategy: free
  roles:
    - { role: insspb.utils }

Development information

This role is developed with community input. The development process follows these guidelines:

  • You can add any pull request to the develop branch. All requests will be addressed promptly.
  • If you want to contribute but don’t know where to start, check the issues.
  • The master branch is updated with significant changes from develop.
  • Please provide documentation for new features.
  • Use variables.
  • Remember to set defaults.
  • Strive to maintain backward compatibility if possible.
  • Use package installation as the default method. Source installation should be optional.
  • Use official software repositories over generic ones.
  • Keep the role independent of others, allowing users to choose which roles to use.

License

MIT

Author Information

This role is contributed to and maintained by Andrey Shpak. I am available for hire.

Informazioni sul progetto

Installs some must-have utilities. Have several lists inside, so you can disable anything you want.

Installa
ansible-galaxy install insspb.utils
Licenza
mit
Download
131
Proprietario
DevOps, Python developer, Sailor.