Existing Vagrantfile lead to some problems here during provisioning:
1. setup-ubuntu.sh would fail
and after:
2. build-all.sh would run out of disk space
3. build-all.sh would exit due to permission issues
Issue 1 can be addressed by running sudo apt-get update before setup-ubuntu.sh in the Vagrantfile.
One way to address issue 2 is to use the vagrant-disksize plugin:
https://github.com/sprotheroe/vagrant-disksize
It can be installed by:
vagrant plugin install vagrant-disksize
Then modifying Vagrantfile to contain a line like:
config.disksize.size = '50GB'
causes the first partition to be enlarged to 50GB during provisioning. Combined with an appropriate invocation of resize2fs:
sudo resize2fs /dev/sda1
so that the filesystem in the partition is resized, the disk space issue seems alleviated.
Issue 3 can be addressed by changing the user from 'ubuntu' to 'vagrant' in the Vagrantfile -- at least that's what worked here.
This makes Home/End keys working over SSH when connected from some clients like PuTTY on Windows.
Basically all Linux distributions provide some default /etc/inputrc configuration:
- Debian based distros in package readline-common (both Debian 9 and Ubuntu 17.10 share same config)
- Red Hat based distros in package setup (both CentOS 7 and Fedora 27 share same config)
- Arch Linux in package readline
- openSUSE in package aaa_base
- OpenWRT etc.
The proposed inputrc configuration is a intersection of default mappings used in Debian 9, CentOS 7 and Arch Linux. That should provide safe and expected mappings.