VirtualBox

Ticket #18143: bootstrap.sh

File bootstrap.sh, 1.7 KB (added by Vyacheslav, 6 years ago)

Bootstrap script

Line 
1#!/usr/bin/env bash
2
3# Add vagrant user
4useradd -U -m vagrant
5echo vagrant | passwd vagrant --stdin
6
7# Add sudo without password
8echo "Defaults:vagrant !requiretty" >> /etc/sudoers.d/vagrant
9echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/vagrant
10chmod 0440 /etc/sudoers.d/vagrant
11
12# Add insecure ssh key for vagrant
13install -v -o vagrant -g vagrant -m 0700 -d /home/vagrant/.ssh
14curl -o /home/vagrant/.ssh/authorized_keys -kL 'https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub'
15chown vagrant:vagrant /home/vagrant/.ssh/authorized_keys
16chmod 600 /home/vagrant/.ssh/authorized_keys
17restorecon /home/vagrant/.ssh/authorized_keys
18
19# Blacklist pcspkr
20echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist.conf
21
22# Disable services
23systemctl disable auditd
24
25platform=`virt-what | head -n 1`
26case "${platform}" in
27 virtualbox)
28 version=`cat ~/.vbox_version`;
29 mount -o loop ~/VBoxGuestAdditions_${version}.iso /mnt;
30 sh /mnt/VBoxLinuxAdditions.run --nox11
31 umount /mnt;
32 rm -f ~/.vbox_version;
33 ;;
34esac
35
36# Remove unused packages
37dnf -y remove linux-firmware kernel-devel kernel-headers glibc-devel glibc-headers gcc cpp
38
39# Cleanup log files
40find /var/log -type f | while read f; do echo -ne '' > $f; done;
41
42# Cleanup tmp directory
43rm -rf /tmp/*
44
45# Remove kickstart cfg
46rm -rf /root/*.cfg
47rm -rf /root/*.iso
48rm -rf /root/*.log
49
50# Cleanup dnf caches
51dnf clean all
52rm -rf /var/cache/dnf
53
54# Create zero file
55_UUID=`lsblk -no UUID /dev/disk/by-label/swap`
56_NAME=`lsblk -no NAME /dev/disk/by-label/swap`
57swapoff -a
58dd if=/dev/zero of=/dev/disk/by-label/swap bs=1M || true
59mkswap /dev/${_NAME} -L "swap" -U "${_UUID}"
60
61dd if=/dev/zero of=/empty.file bs=1M || true
62sleep 2
63sync
64sleep 2
65rm -rf /empty.file

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy