vbox 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +14 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +68 -0
- data/README.md +5 -0
- data/Rakefile +91 -0
- data/bin/vbox +73 -0
- data/lib/java/README.txt +5 -0
- data/lib/java/dir2floppy.jar +0 -0
- data/lib/java/dir2floppy.java +134 -0
- data/lib/vagrant_init.rb +6 -0
- data/lib/vbox.rb +2 -0
- data/lib/vbox/command.rb +82 -0
- data/lib/vbox/config.rb +5 -0
- data/lib/vbox/export.rb +65 -0
- data/lib/vbox/scancode.rb +208 -0
- data/lib/vbox/session.rb +893 -0
- data/lib/vbox/shell.rb +54 -0
- data/lib/vbox/ssh.rb +193 -0
- data/lib/vbox/transaction.rb +122 -0
- data/lib/vbox/utils.rb +26 -0
- data/lib/vbox/version.rb +3 -0
- data/lib/vbox/web.rb +48 -0
- data/templates/CentOS-5.7-i386-netboot/definition.rb +16 -0
- data/templates/CentOS-5.7-i386-netboot/ks.cfg +45 -0
- data/templates/CentOS-5.7-i386-netboot/postinstall.sh +53 -0
- data/templates/CentOS-5.7-x86_64-netboot/definition.rb +16 -0
- data/templates/CentOS-5.7-x86_64-netboot/ks.cfg +45 -0
- data/templates/CentOS-5.7-x86_64-netboot/postinstall.sh +60 -0
- data/templates/CentOS-6.0-i386-netboot/definition.rb +16 -0
- data/templates/CentOS-6.0-i386-netboot/ks.cfg +52 -0
- data/templates/CentOS-6.0-i386-netboot/postinstall.sh +30 -0
- data/templates/CentOS-6.0-i386/definition.rb +17 -0
- data/templates/CentOS-6.0-i386/ks.cfg +47 -0
- data/templates/CentOS-6.0-i386/postinstall.sh +48 -0
- data/templates/CentOS-6.0-x86_64-netboot/definition.rb +16 -0
- data/templates/CentOS-6.0-x86_64-netboot/ks.cfg +52 -0
- data/templates/CentOS-6.0-x86_64-netboot/postinstall.sh +30 -0
- data/templates/CentOS-6.0-x86_64/definition.rb +17 -0
- data/templates/CentOS-6.0-x86_64/ks.cfg +47 -0
- data/templates/CentOS-6.0-x86_64/postinstall.sh +48 -0
- data/templates/Debian-6.0.3-amd64-netboot/definition.rb +42 -0
- data/templates/Debian-6.0.3-amd64-netboot/postinstall.sh +80 -0
- data/templates/Debian-6.0.3-amd64-netboot/preseed.cfg +42 -0
- data/templates/Debian-6.0.3-i386-netboot/definition.rb +44 -0
- data/templates/Debian-6.0.3-i386-netboot/postinstall.sh +80 -0
- data/templates/Debian-6.0.3-i386-netboot/preseed.cfg +42 -0
- data/templates/Fedora-15-i386-netboot/definition.rb +17 -0
- data/templates/Fedora-15-i386-netboot/ks.cfg +82 -0
- data/templates/Fedora-15-i386-netboot/postinstall.sh +18 -0
- data/templates/Fedora-15-i386/definition.rb +17 -0
- data/templates/Fedora-15-i386/ks.cfg +64 -0
- data/templates/Fedora-15-i386/postinstall.sh +33 -0
- data/templates/Fedora-15-x86_64-netboot/definition.rb +29 -0
- data/templates/Fedora-15-x86_64-netboot/ks.cfg +64 -0
- data/templates/Fedora-15-x86_64-netboot/postinstall.sh +33 -0
- data/templates/Fedora-15-x86_64/definition.rb +17 -0
- data/templates/Fedora-15-x86_64/ks.cfg +64 -0
- data/templates/Fedora-15-x86_64/postinstall.sh +33 -0
- data/templates/Sysrescuecd-2.0.0-experimental/autorun0 +3 -0
- data/templates/Sysrescuecd-2.0.0-experimental/definition.rb +20 -0
- data/templates/archlinux-i386-netboot/aif.cfg +34 -0
- data/templates/archlinux-i386-netboot/definition.rb +29 -0
- data/templates/archlinux-i386-netboot/postinstall.sh +87 -0
- data/templates/archlinux-i386-netboot/postinstall2.sh +28 -0
- data/templates/archlinux-i386/aif.cfg +33 -0
- data/templates/archlinux-i386/definition.rb +29 -0
- data/templates/archlinux-i386/postinstall.sh +106 -0
- data/templates/archlinux-x86_64-netboot/aif.cfg +34 -0
- data/templates/archlinux-x86_64-netboot/definition.rb +29 -0
- data/templates/archlinux-x86_64-netboot/postinstall.sh +90 -0
- data/templates/archlinux-x86_64-netboot/postinstall2.sh +28 -0
- data/templates/archlinux-x86_64/aif.cfg +33 -0
- data/templates/archlinux-x86_64/definition.rb +29 -0
- data/templates/archlinux-x86_64/postinstall.sh +90 -0
- data/templates/archlinux-x86_64/postinstall2.sh +38 -0
- data/templates/freebsd-8.2-experimental/definition.rb +19 -0
- data/templates/freebsd-8.2-experimental/postinstall.sh +191 -0
- data/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb +35 -0
- data/templates/freebsd-8.2-pcbsd-i386-netboot/pcinstall.fbg.cfg +58 -0
- data/templates/freebsd-8.2-pcbsd-i386-netboot/postinstall.sh +93 -0
- data/templates/freebsd-8.2-pcbsd-i386/definition.rb +31 -0
- data/templates/freebsd-8.2-pcbsd-i386/pcinstall.fbg.cfg +57 -0
- data/templates/freebsd-8.2-pcbsd-i386/postinstall.sh +93 -0
- data/templates/gentoo-latest-i386-experimental/definition.rb +29 -0
- data/templates/gentoo-latest-i386-experimental/postinstall.sh +184 -0
- data/templates/openSUSE-11.4-DVD-i586/autoinst_de.xml +1284 -0
- data/templates/openSUSE-11.4-DVD-i586/autoinst_en.xml +1284 -0
- data/templates/openSUSE-11.4-DVD-i586/definition.rb +28 -0
- data/templates/openSUSE-11.4-DVD-i586/postinstall.sh +43 -0
- data/templates/openSUSE-11.4-DVD-x86_64/autoinst_de.xml +1459 -0
- data/templates/openSUSE-11.4-DVD-x86_64/autoinst_en.xml +1459 -0
- data/templates/openSUSE-11.4-DVD-x86_64/definition.rb +28 -0
- data/templates/openSUSE-11.4-DVD-x86_64/postinstall.sh +43 -0
- data/templates/openSUSE-11.4-NET-i586/autoinst_de.xml +1278 -0
- data/templates/openSUSE-11.4-NET-i586/autoinst_en.xml +1278 -0
- data/templates/openSUSE-11.4-NET-i586/definition.rb +28 -0
- data/templates/openSUSE-11.4-NET-i586/postinstall.sh +43 -0
- data/templates/openSUSE-11.4-NET-x86_64/autoinst_de.xml +1453 -0
- data/templates/openSUSE-11.4-NET-x86_64/autoinst_en.xml +1453 -0
- data/templates/openSUSE-11.4-NET-x86_64/definition.rb +28 -0
- data/templates/openSUSE-11.4-NET-x86_64/postinstall.sh +43 -0
- data/templates/solaris-11-express-i386/auto_install/ai.dtd +58 -0
- data/templates/solaris-11-express-i386/auto_install/ai_manifest.xml +241 -0
- data/templates/solaris-11-express-i386/auto_install/configuration.dtd +44 -0
- data/templates/solaris-11-express-i386/auto_install/default.xml +124 -0
- data/templates/solaris-11-express-i386/auto_install/default.xml.orig +124 -0
- data/templates/solaris-11-express-i386/auto_install/sc_profiles/static_network.xml +105 -0
- data/templates/solaris-11-express-i386/auto_install/software.dtd +105 -0
- data/templates/solaris-11-express-i386/auto_install/target.dtd +196 -0
- data/templates/solaris-11-express-i386/default.xml +121 -0
- data/templates/solaris-11-express-i386/definition.rb +65 -0
- data/templates/solaris-11-express-i386/postinstall.sh +98 -0
- data/templates/ubuntu-10.04.3-server-amd64/definition.rb +54 -0
- data/templates/ubuntu-10.04.3-server-amd64/postinstall.sh +90 -0
- data/templates/ubuntu-10.04.3-server-amd64/preseed.cfg +87 -0
- data/templates/ubuntu-10.04.3-server-i386/definition.rb +24 -0
- data/templates/ubuntu-10.04.3-server-i386/postinstall.sh +91 -0
- data/templates/ubuntu-10.04.3-server-i386/preseed.cfg +87 -0
- data/templates/ubuntu-11.10-server-amd64/definition.rb +35 -0
- data/templates/ubuntu-11.10-server-amd64/postinstall.sh +90 -0
- data/templates/ubuntu-11.10-server-amd64/preseed.cfg +87 -0
- data/templates/ubuntu-11.10-server-i386/definition.rb +35 -0
- data/templates/ubuntu-11.10-server-i386/postinstall.sh +90 -0
- data/templates/ubuntu-11.10-server-i386/preseed.cfg +87 -0
- data/validation/features/steps/ssh_steps.rb +169 -0
- data/validation/support/env.rb +1 -0
- data/validation/vagrant-private.key +27 -0
- data/validation/vagrant.feature +52 -0
- data/validation/vagrant.pub +1 -0
- data/vbox.gemspec +32 -0
- metadata +338 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Veewee::Session.declare({
|
|
2
|
+
:cpu_count => '1', :memory_size=> '392',
|
|
3
|
+
:disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off', :ioapic => 'on', :pae => 'on',
|
|
4
|
+
:os_type_id => 'RedHat_64',
|
|
5
|
+
:iso_file => "CentOS-6.0-x86_64-netinstall.iso",
|
|
6
|
+
:iso_src => "http://be.mirror.eurid.eu/centos/6.0/isos/x86_64/CentOS-6.0-x86_64-netinstall.iso",
|
|
7
|
+
:iso_md5 => "d13da95c29e585ee15cf403b89468243",
|
|
8
|
+
:iso_download_timeout => 1000,
|
|
9
|
+
:boot_wait => "15", :boot_cmd_sequence => [ '<Tab> text ks=http://%IP%:%PORT%/ks.cfg<Enter>' ],
|
|
10
|
+
:kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
|
|
11
|
+
:ssh_login_timeout => "100", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
|
|
12
|
+
:ssh_host_port => "7222", :ssh_guest_port => "22",
|
|
13
|
+
:sudo_cmd => "echo '%p'|sudo -S sh '%f'",
|
|
14
|
+
:shutdown_cmd => "/sbin/halt -h -p",
|
|
15
|
+
:postinstall_files => [ "postinstall.sh"], :postinstall_timeout => 10000
|
|
16
|
+
})
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
install
|
|
2
|
+
url --url=http://be.mirror.eurid.eu/centos/6.0/os/x86_64/
|
|
3
|
+
lang en_US.UTF-8
|
|
4
|
+
keyboard us
|
|
5
|
+
network --bootproto dhcp
|
|
6
|
+
rootpw --iscrypted $1$damlkd,f$UC/u5pUts5QiU3ow.CSso/
|
|
7
|
+
firewall --enabled --trust eth0 --ssh
|
|
8
|
+
authconfig --enableshadow --enablemd5
|
|
9
|
+
selinux --disabled
|
|
10
|
+
timezone Europe/Brussels
|
|
11
|
+
bootloader --location=mbr
|
|
12
|
+
|
|
13
|
+
text
|
|
14
|
+
skipx
|
|
15
|
+
zerombr
|
|
16
|
+
|
|
17
|
+
clearpart --all --initlabel
|
|
18
|
+
autopart
|
|
19
|
+
|
|
20
|
+
auth --useshadow --enablemd5
|
|
21
|
+
firstboot --disabled
|
|
22
|
+
reboot
|
|
23
|
+
|
|
24
|
+
repo --name=epel --baseurl=http://download.fedora.redhat.com/pub/epel/6/x86_64/ --includepkgs='ruby-augeas,ruby-shadow'
|
|
25
|
+
repo --name=puppetlabs --baseurl=http://yum.puppetlabs.com/el/6/products/x86_64 --includepkgs='puppet,facter'
|
|
26
|
+
|
|
27
|
+
%packages
|
|
28
|
+
@ core
|
|
29
|
+
ruby
|
|
30
|
+
ruby-devel
|
|
31
|
+
rubygems
|
|
32
|
+
kernel-devel
|
|
33
|
+
gcc
|
|
34
|
+
gcc-c++
|
|
35
|
+
bzip2
|
|
36
|
+
make
|
|
37
|
+
zlib-devel
|
|
38
|
+
openssl-devel
|
|
39
|
+
readline-devel
|
|
40
|
+
sqlite-devel
|
|
41
|
+
puppet
|
|
42
|
+
facter
|
|
43
|
+
|
|
44
|
+
-ipw2100-firmware
|
|
45
|
+
-ipw2200-firmware
|
|
46
|
+
-ivtv-firmware
|
|
47
|
+
|
|
48
|
+
%post
|
|
49
|
+
/usr/sbin/groupadd vagrant
|
|
50
|
+
/usr/sbin/useradd vagrant -g vagrant -G wheel
|
|
51
|
+
echo "vagrant"|passwd --stdin vagrant
|
|
52
|
+
echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#http://chrisadams.me.uk/2010/05/10/setting-up-a-centos-base-box-for-development-and-testing-with-vagrant/
|
|
2
|
+
|
|
3
|
+
date > /etc/vagrant_box_build_time
|
|
4
|
+
|
|
5
|
+
yum -y erase wireless-tools gtk2 libX11 hicolor-icon-theme avahi freetype bitstream-vera-fonts
|
|
6
|
+
yum -y clean all
|
|
7
|
+
|
|
8
|
+
gem install --no-ri --no-rdoc chef
|
|
9
|
+
|
|
10
|
+
# Installing vagrant keys
|
|
11
|
+
mkdir /home/vagrant/.ssh
|
|
12
|
+
chmod 700 /home/vagrant/.ssh
|
|
13
|
+
cd /home/vagrant/.ssh
|
|
14
|
+
wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
|
|
15
|
+
chown -R vagrant /home/vagrant/.ssh
|
|
16
|
+
|
|
17
|
+
# Installing the virtualbox guest additions
|
|
18
|
+
VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
|
|
19
|
+
cd /tmp
|
|
20
|
+
wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
|
|
21
|
+
mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
|
|
22
|
+
sh /mnt/VBoxLinuxAdditions.run
|
|
23
|
+
umount /mnt
|
|
24
|
+
rm VBoxGuestAdditions_$VBOX_VERSION.iso
|
|
25
|
+
|
|
26
|
+
sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
|
|
27
|
+
|
|
28
|
+
dd if=/dev/zero of=/tmp/clean || rm /tmp/clean
|
|
29
|
+
|
|
30
|
+
exit
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Veewee::Session.declare({
|
|
2
|
+
:cpu_count => '1', :memory_size=> '384',
|
|
3
|
+
:disk_size => '10140', :disk_format => 'VDI', :hostiocache => 'off',
|
|
4
|
+
:os_type_id => 'RedHat_64',
|
|
5
|
+
:iso_file => "CentOS-6.0-x86_64-bin-DVD1.iso", :iso_src => "http://be.mirror.eurid.eu/centos/6.0/isos/x86_64/CentOS-6.0-x86_64-bin-DVD1.iso", :iso_md5 => "7c148e0a1b330186adef66ee3e2d433d", :iso_download_timeout => 1000,
|
|
6
|
+
:iso_download_instructions => "We can not download the ISO , you need to download it yourself and put it in the iso directory\n"+
|
|
7
|
+
"- URL: http://isoredirect.centos.org/centos/6/isos/x86_64/ ",
|
|
8
|
+
:boot_wait => "10", :boot_cmd_sequence => [
|
|
9
|
+
'<Tab> text ks=http://%IP%:%PORT%/ks.cfg<Enter>'
|
|
10
|
+
],
|
|
11
|
+
:kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
|
|
12
|
+
:ssh_login_timeout => "100", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
|
|
13
|
+
:ssh_host_port => "7222", :ssh_guest_port => "22",
|
|
14
|
+
:sudo_cmd => "echo '%p'|sudo -S sh '%f'",
|
|
15
|
+
:shutdown_cmd => "/sbin/halt -h -p",
|
|
16
|
+
:postinstall_files => [ "postinstall.sh"], :postinstall_timeout => 10000
|
|
17
|
+
})
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
install
|
|
2
|
+
cdrom
|
|
3
|
+
lang en_US.UTF-8
|
|
4
|
+
keyboard us
|
|
5
|
+
network --bootproto=dhcp
|
|
6
|
+
rootpw --iscrypted $1$damlkd,f$UC/u5pUts5QiU3ow.CSso/
|
|
7
|
+
firewall --enabled --service=ssh
|
|
8
|
+
authconfig --enableshadow --passalgo=sha512
|
|
9
|
+
selinux --disabled
|
|
10
|
+
timezone Europe/Brussels
|
|
11
|
+
bootloader --location=mbr
|
|
12
|
+
|
|
13
|
+
text
|
|
14
|
+
skipx
|
|
15
|
+
zerombr
|
|
16
|
+
|
|
17
|
+
clearpart --all --initlabel
|
|
18
|
+
autopart
|
|
19
|
+
|
|
20
|
+
auth --useshadow --enablemd5
|
|
21
|
+
firstboot --disabled
|
|
22
|
+
reboot
|
|
23
|
+
|
|
24
|
+
repo --name=updates --baseurl=http://mirror.centos.org/centos/6/updates/x86_64 --includepkgs='ruby' --excludepkgs='*'
|
|
25
|
+
|
|
26
|
+
%packages --ignoremissing
|
|
27
|
+
@core
|
|
28
|
+
ruby
|
|
29
|
+
kernel-devel-`uname -r`
|
|
30
|
+
gcc
|
|
31
|
+
bzip2
|
|
32
|
+
make
|
|
33
|
+
gcc-c++
|
|
34
|
+
zlib-devel
|
|
35
|
+
openssl-devel
|
|
36
|
+
readline-devel
|
|
37
|
+
sqlite-devel
|
|
38
|
+
|
|
39
|
+
-ipw2100-firmware
|
|
40
|
+
-ipw2200-firmware
|
|
41
|
+
-ivtv-firmware
|
|
42
|
+
|
|
43
|
+
%post
|
|
44
|
+
/usr/sbin/groupadd vagrant
|
|
45
|
+
/usr/sbin/useradd vagrant -g vagrant -G wheel
|
|
46
|
+
echo "vagrant"|passwd --stdin vagrant
|
|
47
|
+
echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
#http://chrisadams.me.uk/2010/05/10/setting-up-a-centos-base-box-for-development-and-testing-with-vagrant/
|
|
2
|
+
|
|
3
|
+
date > /etc/vagrant_box_build_time
|
|
4
|
+
|
|
5
|
+
cat > /etc/yum.repos.d/puppetlabs.repo << EOM
|
|
6
|
+
[puppetlabs]
|
|
7
|
+
name=puppetlabs
|
|
8
|
+
baseurl=http://yum.puppetlabs.com/el/6/products/\$basearch
|
|
9
|
+
enabled=1
|
|
10
|
+
gpgcheck=0
|
|
11
|
+
EOM
|
|
12
|
+
|
|
13
|
+
cat > /etc/yum.repos.d/epel.repo << EOM
|
|
14
|
+
[epel]
|
|
15
|
+
name=epel
|
|
16
|
+
baseurl=http://download.fedoraproject.org/pub/epel/6/\$basearch
|
|
17
|
+
enabled=1
|
|
18
|
+
gpgcheck=0
|
|
19
|
+
EOM
|
|
20
|
+
|
|
21
|
+
yum -y install puppet facter ruby-devel rubygems
|
|
22
|
+
yum -y erase wireless-tools gtk2 libX11 hicolor-icon-theme avahi freetype bitstream-vera-fonts
|
|
23
|
+
yum -y clean all
|
|
24
|
+
rm /etc/yum.repos.d/{puppetlabs,epel}.repo
|
|
25
|
+
|
|
26
|
+
gem install --no-ri --no-rdoc chef
|
|
27
|
+
|
|
28
|
+
# Installing vagrant keys
|
|
29
|
+
mkdir /home/vagrant/.ssh
|
|
30
|
+
chmod 700 /home/vagrant/.ssh
|
|
31
|
+
cd /home/vagrant/.ssh
|
|
32
|
+
wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
|
|
33
|
+
chown -R vagrant /home/vagrant/.ssh
|
|
34
|
+
|
|
35
|
+
# Installing the virtualbox guest additions
|
|
36
|
+
VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
|
|
37
|
+
cd /tmp
|
|
38
|
+
wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
|
|
39
|
+
mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
|
|
40
|
+
sh /mnt/VBoxLinuxAdditions.run
|
|
41
|
+
umount /mnt
|
|
42
|
+
rm VBoxGuestAdditions_$VBOX_VERSION.iso
|
|
43
|
+
|
|
44
|
+
sed -i "s/^.*requiretty/#Defaults requiretty/" /etc/sudoers
|
|
45
|
+
|
|
46
|
+
dd if=/dev/zero of=/tmp/clean || rm /tmp/clean
|
|
47
|
+
|
|
48
|
+
exit
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
Veewee::Session.declare({
|
|
2
|
+
:cpu_count => '1',
|
|
3
|
+
:memory_size=> '256',
|
|
4
|
+
:disk_size => '10140',
|
|
5
|
+
:disk_format => 'VDI',
|
|
6
|
+
:hostiocache => 'off',
|
|
7
|
+
:os_type_id => 'Debian_64',
|
|
8
|
+
:iso_file => "debian-6.0.3-amd64-netinst.iso",
|
|
9
|
+
:iso_src => "http://cdimage.debian.org/debian-cd/6.0.3/amd64/iso-cd/debian-6.0.3-amd64-netinst.iso",
|
|
10
|
+
:iso_md5 => "b663727d7f5b572c329cea8e2ff5e29c",
|
|
11
|
+
:iso_download_timeout => "1000",
|
|
12
|
+
:boot_wait => "10",
|
|
13
|
+
:boot_cmd_sequence => [
|
|
14
|
+
'<Esc>',
|
|
15
|
+
'install ',
|
|
16
|
+
'preseed/url=http://%IP%:%PORT%/preseed.cfg ',
|
|
17
|
+
'debian-installer=en_US ',
|
|
18
|
+
'auto ',
|
|
19
|
+
'locale=en_US ',
|
|
20
|
+
'kbd-chooser/method=us ',
|
|
21
|
+
'netcfg/get_hostname=%NAME% ',
|
|
22
|
+
'netcfg/get_domain=vagrantup.com ',
|
|
23
|
+
'fb=false ',
|
|
24
|
+
'debconf/frontend=noninteractive ',
|
|
25
|
+
'console-setup/ask_detect=false ',
|
|
26
|
+
'console-keymaps-at/keymap=us ',
|
|
27
|
+
'<Enter>'
|
|
28
|
+
],
|
|
29
|
+
:kickstart_port => "7122",
|
|
30
|
+
:kickstart_timeout => "10000",
|
|
31
|
+
:kickstart_file => "preseed.cfg",
|
|
32
|
+
:ssh_login_timeout => "10000",
|
|
33
|
+
:ssh_user => "vagrant",
|
|
34
|
+
:ssh_password => "vagrant",
|
|
35
|
+
:ssh_key => "",
|
|
36
|
+
:ssh_host_port => "7222",
|
|
37
|
+
:ssh_guest_port => "22",
|
|
38
|
+
:sudo_cmd => "echo '%p'|sudo -S sh '%f'",
|
|
39
|
+
:shutdown_cmd => "halt -p",
|
|
40
|
+
:postinstall_files => [ "postinstall.sh" ],
|
|
41
|
+
:postinstall_timeout => "10000"
|
|
42
|
+
})
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
date > /etc/vagrant_box_build_time
|
|
2
|
+
|
|
3
|
+
# Update the box
|
|
4
|
+
apt-get -y update
|
|
5
|
+
apt-get -y install linux-headers-$(uname -r) build-essential
|
|
6
|
+
apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
|
|
7
|
+
apt-get -y install curl unzip
|
|
8
|
+
apt-get clean
|
|
9
|
+
|
|
10
|
+
# Set up sudo
|
|
11
|
+
cp /etc/sudoers /etc/sudoers.orig
|
|
12
|
+
sed -i -e 's/%sudo ALL=(ALL) ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers
|
|
13
|
+
|
|
14
|
+
# Install Ruby from packages
|
|
15
|
+
apt-get -y install ruby ruby-dev libruby1.8 ri
|
|
16
|
+
|
|
17
|
+
# Install Rubygems from source
|
|
18
|
+
rg_ver=1.6.2
|
|
19
|
+
curl -o /tmp/rubygems-${rg_ver}.zip \
|
|
20
|
+
"http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
|
|
21
|
+
(cd /tmp && unzip rubygems-${rg_ver}.zip && \
|
|
22
|
+
cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
|
|
23
|
+
rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
|
|
24
|
+
|
|
25
|
+
# Install Chef & Puppet
|
|
26
|
+
gem install chef --no-ri --no-rdoc
|
|
27
|
+
gem install puppet --no-ri --no-rdoc
|
|
28
|
+
|
|
29
|
+
# Install vagrant keys
|
|
30
|
+
mkdir -p /home/vagrant/.ssh
|
|
31
|
+
chmod 700 /home/vagrant/.ssh
|
|
32
|
+
cd /home/vagrant/.ssh
|
|
33
|
+
curl -Lo /home/vagrant/.ssh/authorized_keys \
|
|
34
|
+
'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
|
|
35
|
+
chmod 0600 /home/vagrant/.ssh/authorized_keys
|
|
36
|
+
chown -R vagrant:vagrant /home/vagrant/.ssh
|
|
37
|
+
|
|
38
|
+
# Tweak sshd to prevent DNS resolution (speed up logins)
|
|
39
|
+
echo 'UseDNS no' >> /etc/ssh/sshd_config
|
|
40
|
+
|
|
41
|
+
# Customize the message of the day
|
|
42
|
+
echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
|
|
43
|
+
|
|
44
|
+
# The netboot installs the VirtualBox support (old) so we have to remove it
|
|
45
|
+
/etc/init.d/virtualbox-ose-guest-utils stop
|
|
46
|
+
rmmod vboxguest
|
|
47
|
+
aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
|
|
48
|
+
|
|
49
|
+
# Install the VirtualBox guest additions
|
|
50
|
+
VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
|
|
51
|
+
curl -Lo /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso \
|
|
52
|
+
"http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso"
|
|
53
|
+
mount -o loop /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
|
|
54
|
+
yes|sh /mnt/VBoxLinuxAdditions.run
|
|
55
|
+
umount /mnt
|
|
56
|
+
|
|
57
|
+
# Clean up
|
|
58
|
+
apt-get -y remove linux-headers-$(uname -r) build-essential
|
|
59
|
+
apt-get -y autoremove
|
|
60
|
+
|
|
61
|
+
rm /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso
|
|
62
|
+
|
|
63
|
+
# Zero out the free space to save space in the final image:
|
|
64
|
+
dd if=/dev/zero of=/EMPTY bs=1M
|
|
65
|
+
rm -f /EMPTY
|
|
66
|
+
|
|
67
|
+
# Removing leftover leases and persistent rules
|
|
68
|
+
echo "cleaning up dhcp leases"
|
|
69
|
+
rm /var/lib/dhcp3/*
|
|
70
|
+
|
|
71
|
+
# Make sure Udev doesn't block our network
|
|
72
|
+
echo "cleaning up udev rules"
|
|
73
|
+
rm /etc/udev/rules.d/70-persistent-net.rules
|
|
74
|
+
mkdir /etc/udev/rules.d/70-persistent-net.rules
|
|
75
|
+
rm -rf /dev/.udev/
|
|
76
|
+
rm /lib/udev/rules.d/75-persistent-net-generator.rules
|
|
77
|
+
|
|
78
|
+
echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
|
|
79
|
+
echo "pre-up sleep 2" >> /etc/network/interfaces
|
|
80
|
+
exit
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
d-i debian-installer/locale string en_US
|
|
2
|
+
d-i console-keymaps-at/keymap select us
|
|
3
|
+
d-i netcfg/choose_interface select auto
|
|
4
|
+
d-i netcfg/get_domain string vagrantup.com
|
|
5
|
+
d-i netcfg/wireless_wep string
|
|
6
|
+
d-i mirror/country string manual
|
|
7
|
+
d-i mirror/http/hostname string http.us.debian.org
|
|
8
|
+
d-i mirror/http/directory string /debian
|
|
9
|
+
d-i mirror/http/proxy string
|
|
10
|
+
d-i clock-setup/utc boolean true
|
|
11
|
+
d-i time/zone string UTC
|
|
12
|
+
d-i clock-setup/ntp boolean true
|
|
13
|
+
d-i partman-auto/disk string /dev/sda
|
|
14
|
+
d-i partman-auto/method string lvm
|
|
15
|
+
d-i partman-lvm/device_remove_lvm boolean true
|
|
16
|
+
d-i partman-md/device_remove_md boolean true
|
|
17
|
+
d-i partman-lvm/confirm boolean true
|
|
18
|
+
d-i partman-lvm/confirm_nooverwrite boolean true
|
|
19
|
+
d-i partman/choose_partition select finish
|
|
20
|
+
d-i partman-auto-lvm/guided_size string max
|
|
21
|
+
d-i partman-auto/choose_recipe select atomic
|
|
22
|
+
d-i partman/default_filesystem string ext3
|
|
23
|
+
d-i partman/confirm_write_new_label boolean true
|
|
24
|
+
d-i partman/confirm boolean true
|
|
25
|
+
d-i partman/confirm_nooverwrite boolean true
|
|
26
|
+
d-i passwd/root-login boolean false
|
|
27
|
+
d-i passwd/root-password password vagrant
|
|
28
|
+
d-i passwd/root-password-again password vagrant
|
|
29
|
+
d-i passwd/user-fullname string Vagrant User
|
|
30
|
+
d-i passwd/username string vagrant
|
|
31
|
+
d-i passwd/user-password password vagrant
|
|
32
|
+
d-i passwd/user-password-again password vagrant
|
|
33
|
+
d-i user-setup/encrypt-home boolean false
|
|
34
|
+
d-i user-setup/allow-password-weak boolean true
|
|
35
|
+
d-i passwd/user-default-groups string audio cdrom video admin
|
|
36
|
+
tasksel tasksel/first multiselect standard
|
|
37
|
+
d-i pkgsel/include string openssh-server ntp acpid sudo bzip2
|
|
38
|
+
d-i pkgsel/upgrade select none
|
|
39
|
+
popularity-contest popularity-contest/participate boolean false
|
|
40
|
+
d-i grub-installer/only_debian boolean true
|
|
41
|
+
d-i grub-installer/with_other_os boolean true
|
|
42
|
+
d-i finish-install/reboot_in_progress note
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#Thanks to Fletcher Nichol - https://github.com/fnichol
|
|
2
|
+
|
|
3
|
+
Veewee::Session.declare({
|
|
4
|
+
:cpu_count => '1',
|
|
5
|
+
:memory_size=> '256',
|
|
6
|
+
:disk_size => '10140',
|
|
7
|
+
:disk_format => 'VDI',
|
|
8
|
+
:hostiocache => 'off',
|
|
9
|
+
:os_type_id => 'Debian',
|
|
10
|
+
:iso_file => "debian-6.0.3-i386-netinst.iso",
|
|
11
|
+
:iso_src => "http://cdimage.debian.org/debian-cd/6.0.3/i386/iso-cd/debian-6.0.3-i386-netinst.iso",
|
|
12
|
+
:iso_md5 => "bf10748a0b867912727b248d2e21e8ba",
|
|
13
|
+
:iso_download_timeout => "1000",
|
|
14
|
+
:boot_wait => "10",
|
|
15
|
+
:boot_cmd_sequence => [
|
|
16
|
+
'<Esc>',
|
|
17
|
+
'install ',
|
|
18
|
+
'preseed/url=http://%IP%:%PORT%/preseed.cfg ',
|
|
19
|
+
'debian-installer=en_US ',
|
|
20
|
+
'auto ',
|
|
21
|
+
'locale=en_US ',
|
|
22
|
+
'kbd-chooser/method=us ',
|
|
23
|
+
'netcfg/get_hostname=%NAME% ',
|
|
24
|
+
'netcfg/get_domain=vagrantup.com ',
|
|
25
|
+
'fb=false ',
|
|
26
|
+
'debconf/frontend=noninteractive ',
|
|
27
|
+
'console-setup/ask_detect=false ',
|
|
28
|
+
'console-keymaps-at/keymap=us ',
|
|
29
|
+
'<Enter>'
|
|
30
|
+
],
|
|
31
|
+
:kickstart_port => "7122",
|
|
32
|
+
:kickstart_timeout => "10000",
|
|
33
|
+
:kickstart_file => "preseed.cfg",
|
|
34
|
+
:ssh_login_timeout => "10000",
|
|
35
|
+
:ssh_user => "vagrant",
|
|
36
|
+
:ssh_password => "vagrant",
|
|
37
|
+
:ssh_key => "",
|
|
38
|
+
:ssh_host_port => "7222",
|
|
39
|
+
:ssh_guest_port => "22",
|
|
40
|
+
:sudo_cmd => "echo '%p'|sudo -S sh '%f'",
|
|
41
|
+
:shutdown_cmd => "halt -p",
|
|
42
|
+
:postinstall_files => [ "postinstall.sh" ],
|
|
43
|
+
:postinstall_timeout => "10000"
|
|
44
|
+
})
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
date > /etc/vagrant_box_build_time
|
|
2
|
+
|
|
3
|
+
# Update the box
|
|
4
|
+
apt-get -y update
|
|
5
|
+
apt-get -y install linux-headers-$(uname -r) build-essential
|
|
6
|
+
apt-get -y install zlib1g-dev libssl-dev libreadline5-dev
|
|
7
|
+
apt-get -y install curl unzip
|
|
8
|
+
apt-get clean
|
|
9
|
+
|
|
10
|
+
# Set up sudo
|
|
11
|
+
cp /etc/sudoers /etc/sudoers.orig
|
|
12
|
+
sed -i -e 's/%sudo ALL=(ALL) ALL/%sudo ALL=NOPASSWD:ALL/g' /etc/sudoers
|
|
13
|
+
|
|
14
|
+
# Install Ruby from packages
|
|
15
|
+
apt-get -y install ruby ruby-dev libruby1.8 ri
|
|
16
|
+
|
|
17
|
+
# Install Rubygems from source
|
|
18
|
+
rg_ver=1.6.2
|
|
19
|
+
curl -o /tmp/rubygems-${rg_ver}.zip \
|
|
20
|
+
"http://production.cf.rubygems.org/rubygems/rubygems-${rg_ver}.zip"
|
|
21
|
+
(cd /tmp && unzip rubygems-${rg_ver}.zip && \
|
|
22
|
+
cd rubygems-${rg_ver} && ruby setup.rb --no-format-executable)
|
|
23
|
+
rm -rf /tmp/rubygems-${rg_ver} /tmp/rubygems-${rg_ver}.zip
|
|
24
|
+
|
|
25
|
+
# Install Chef & Puppet
|
|
26
|
+
gem install chef --no-ri --no-rdoc
|
|
27
|
+
gem install puppet --no-ri --no-rdoc
|
|
28
|
+
|
|
29
|
+
# Install vagrant keys
|
|
30
|
+
mkdir -p /home/vagrant/.ssh
|
|
31
|
+
chmod 700 /home/vagrant/.ssh
|
|
32
|
+
cd /home/vagrant/.ssh
|
|
33
|
+
curl -Lo /home/vagrant/.ssh/authorized_keys \
|
|
34
|
+
'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub'
|
|
35
|
+
chmod 0600 /home/vagrant/.ssh/authorized_keys
|
|
36
|
+
chown -R vagrant:vagrant /home/vagrant/.ssh
|
|
37
|
+
|
|
38
|
+
# Tweak sshd to prevent DNS resolution (speed up logins)
|
|
39
|
+
echo 'UseDNS no' >> /etc/ssh/sshd_config
|
|
40
|
+
|
|
41
|
+
# Customize the message of the day
|
|
42
|
+
echo 'Welcome to your Vagrant-built virtual machine.' > /var/run/motd
|
|
43
|
+
|
|
44
|
+
# The netboot installs the VirtualBox support (old) so we have to remove it
|
|
45
|
+
/etc/init.d/virtualbox-ose-guest-utils stop
|
|
46
|
+
rmmod vboxguest
|
|
47
|
+
aptitude -y purge virtualbox-ose-guest-x11 virtualbox-ose-guest-dkms virtualbox-ose-guest-utils
|
|
48
|
+
|
|
49
|
+
# Install the VirtualBox guest additions
|
|
50
|
+
VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
|
|
51
|
+
curl -Lo /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso \
|
|
52
|
+
"http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso"
|
|
53
|
+
mount -o loop /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
|
|
54
|
+
yes|sh /mnt/VBoxLinuxAdditions.run
|
|
55
|
+
umount /mnt
|
|
56
|
+
|
|
57
|
+
# Clean up
|
|
58
|
+
apt-get -y remove linux-headers-$(uname -r) build-essential
|
|
59
|
+
apt-get -y autoremove
|
|
60
|
+
|
|
61
|
+
rm /tmp/VBoxGuestAdditions_$VBOX_VERSION.iso
|
|
62
|
+
|
|
63
|
+
# Zero out the free space to save space in the final image:
|
|
64
|
+
dd if=/dev/zero of=/EMPTY bs=1M
|
|
65
|
+
rm -f /EMPTY
|
|
66
|
+
|
|
67
|
+
# Removing leftover leases and persistent rules
|
|
68
|
+
echo "cleaning up dhcp leases"
|
|
69
|
+
rm /var/lib/dhcp3/*
|
|
70
|
+
|
|
71
|
+
# Make sure Udev doesn't block our network
|
|
72
|
+
echo "cleaning up udev rules"
|
|
73
|
+
rm /etc/udev/rules.d/70-persistent-net.rules
|
|
74
|
+
mkdir /etc/udev/rules.d/70-persistent-net.rules
|
|
75
|
+
rm -rf /dev/.udev/
|
|
76
|
+
rm /lib/udev/rules.d/75-persistent-net-generator.rules
|
|
77
|
+
|
|
78
|
+
echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
|
|
79
|
+
echo "pre-up sleep 2" >> /etc/network/interfaces
|
|
80
|
+
exit
|