Skip to content

Instantly share code, notes, and snippets.

@snajpa
Forked from JosefJezek/ubuntu-image.md
Last active August 29, 2015 14:02
Show Gist options
  • Save snajpa/670871041194ea02acd4 to your computer and use it in GitHub Desktop.
Save snajpa/670871041194ea02acd4 to your computer and use it in GitHub Desktop.

Ubuntu 14.04 Image

apt-get install -y debootstrap
mkdir /tmp/ubuntu
debootstrap --arch amd64 trusty /tmp/ubuntu ftp://ftp.ubuntu.com/ubuntu
vi /tmp/ubuntu/tmp/client.sh
#!/bin/bash
 
usermod -L root

cat <<EOF > /etc/apt/sources.list
deb http://cz.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://cz.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://cz.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
EOF

locale-gen en_US.UTF-8
dpkg-reconfigure locales

apt-get update
 
apt-get purge -y console-setup ntpdate whiptail eject ureadahead sudo vim-tiny rsync
apt-get install -y vim openssh-server byobu htop
 
find / -name *ondemand -exec rm -rf {} \;
rm -f /etc/init/console* /etc/init/tty*
 
sed -i -e 's/^\$ModLoad imklog/#\$ModLoad imklog/g' /etc/rsyslog.conf
sed -i -e 's@\(space:\)\(/var/log/\)@\1-\2@' /etc/rsyslog.d/*.conf
sed -i -e 's/^\#cron./cron./g' /etc/rsyslog.d/50-default.conf
 
sed -i -e 's/^\console output/#console output/g' /etc/init/rc.conf
sed -i -e 's/^\env INIT_VERBOSE/#env INIT_VERBOSE/g' /etc/init/rc.conf
 
cp /usr/share/zoneinfo/Europe/Prague /etc/localtime

rm -f /etc/ssh/ssh_host_*

cat <<EOF > /etc/init.d/generate_ssh_keys
#!/bin/bash
ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa -N ''
ssh-keygen -f /etc/ssh/ssh_host_dsa_key -t dsa -N ''
rm -f \$0
EOF
 
chmod a+x /etc/init.d/generate_ssh_keys
update-rc.d generate_ssh_keys defaults
 
apt-get clean
find /var/ -name *.log -exec rm -rf {} \;
rm -rf /boot /dev /media /opt /run /srv /tmp /root/.bash_history /root/.viminfo /etc/ssh/ssh_host_*
mkdir /dev /run /tmp
touch /dev/null
 
exit
chmod +x /tmp/ubuntu/tmp/client.sh
chroot /tmp/ubuntu /tmp/client.sh
cd /tmp/ubuntu
tar -czpf /tmp/ubuntu-14.04-x86_64-initial1.tar.gz .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment