Setting up a new Linux VM

This is similar to Setup New Liux (Physical) Box

This page goes through the various settings that take place to setup a new Ubuntu VM. In this case I was setting Ubuntu 20.10 Groovy Gorilla.

Debian / Buster

Specific steps for Debian/Buster

Install packages

apt update
apt-get install aptitude
aptitude install vim sudo sysstat locate postfix ssl-cert bsd-mailx net-tools zip unzip rsync git
ln -s /usr/sbin/ifconfig /usr/local/bin/ifconfig

Optional packages to install

aptitude install ncdu htop nload pydf iotop

Use tasksel to install GUI such as KDE Plasma.

Other changes

  • vim: Besides other .vimrc setting, also include set mouse=
echo "set mouse=" > ~/.vimrc
sudo echo "set mouse=" | sudo tee -a /root/.vimrc

Add non-free repositories

Update /etc/apt/sources.list by adding contrib non-free to the end of line.

deb buster main contrib non-free
deb-src buster main contrib non-free

deb buster/updates main contrib non-free
deb-src buster/updates main contrib non-free

# buster-updates, previously known as 'volatile'
deb buster-updates main contrib non-free
deb-src buster-updates main contrib non-free

Comments on Minimum Memory requirements

Update root password

When cloning, make sure to update the root password on the clone. Debian requires it when you need to rescue the system.

SSHD Config Changes

Update /etc/ssh/sshd_config to include

PermitRootLogin prohibit-password
PermitEmptyPasswords no
TCPKeepAlive yes

To temporarily enable Root Login

PermitRootLogin yes

Backuppc configuration

Add new server in Backuppc (ubv33) /etc/hosts. Then copy SSH keys to be able to log in as root from backuppc user.

ssh-copy-id root@<new server>

Nagios configuration

Below is the list of Nagios configurations

aptitude install nagios-nrpe-server
# On /etc/nagios/nrpe.cfg, update line to ''allowed_hosts=,::1,''
# Copy /etc/nagios/nrpe.d/cu_nrpe.cfg configuration from an existing server
# Copy the following files from another server to ''/usr/lib/nagios/plugins/''.
  # check_deleted_lsof
  # check_uptime
  # check_template
  # check_lost_found
  # check_log1
  # check_file_per
  # check_mailq
# Make nagios user part of sudo group
systemctl restart nagios-nrpe-server

Tools Directory

Copy /home/senthil/tools directory to the new server


Validate Postfix configuration


  • Choose a password: date|md5sum
  • Run mysql_secure_installation to make db secure.
    • Use the above password
  • Run Create root user and set password for remote user
  • Copy /etc/cron.daily/mysql_backup
  • Create MySQL User and Database ncheck and ucheck (not nagioscheck) for Monitoring.

Install Configuration / Steps

  • Postfix is no longer installed by default on Groovy - so please install

System Configuration

More items

  • Mail
    • Setup postfix
      • Configure /etc/aliases to include

Then run newaliases

  • SSH
    • Generate SSH private and public keys
  • Tuning
    • Change swapiness and other parameters based on server needs - sysctl.conf
  • Others
    • Optionally ask server to reboot automatically on kernel panic
    • Disable module i2c_piix4 on Virtual Machines
    • Install NRPE to be monitored
      • nagios-nrpe-server nagios-plugins
    • Install x11-utils x11-xserver-utils

Other Items configuration

QR Code
QR Code tech:linux:setup_new_vm (generated for current page)