Baseline Packages

Many organizations have an agreed upon collection of software packages that are installed on all managed hosts. These packages help technicians during troubleshooting sessions or with maintaining the host.

Below is a sampling of the packages I commonly install.

sudo apt install sudo vim gcc make curl unzip rsync iftop iotop htop tcpdump mtr git dnsutils acl

role_name/vars/main.yml

packages: [ sudo, vim, gcc, make, curl, unzip, rsync, iftop, iotop, htop, tcpdump, mtr, git, dnsutils, bzip2 ]

role_name/tasks/main.yml

- name: Install baseline packages.
  ansible.builtin.apt: 
    name: "{{ packages }}"
    state: latest

Here’s what each package does:

Package Description
sudo Provides a way of escalating your privileges to perform administrative tasks.
vim Text editor (w/ a learning curve).
gcc Software compiler.
make Works in tandem with gcc to compile software.
curl Tool for sending/receiving data via URLs.
unzip Unzips .zip files.
iftop Utility for monitoring network activity.
iotop Utility for monitoring disk activity.
htop Utility for monitoring system performance.
tcpdump Network sniffer.
mtr Provides network metrics between two network endpoints.
git Provides version control from local or remote sources.
dnsutils Bundle of useful utilities when troubleshooting DNS.
acl Provides more granular permissions on linux-based files/directories.

Defaults

Once installed, you may want to ensure that your text editor is used to open files by default.

update-alternatives --set editor "vim"

/role_name/tasks/main.yml

- name: Set default text editor.
  command: update-alternatives --set editor "vim"
  tags:
    - environment