vbox 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|