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