veewee 0.1.29 → 0.2.0
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/Gemfile.lock +23 -29
- data/lib/veewee/session.rb +10 -7
- data/lib/veewee/ssh.rb +70 -42
- data/lib/veewee/version.rb +1 -1
- data/templates/CentOS-4.8-i386/postinstall.sh +2 -0
- data/templates/CentOS-5.6-i386-netboot/postinstall.sh +3 -1
- data/templates/CentOS-5.6-i386/postinstall.sh +3 -1
- data/templates/CentOS-5.6-x86_64-netboot/postinstall.sh +2 -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-5.0.8-amd64-netboot/postinstall.sh +2 -0
- data/templates/Debian-5.0.8-i386-netboot/postinstall.sh +2 -0
- data/templates/Debian-6.0.2-amd64-netboot/postinstall.sh +2 -0
- data/templates/Debian-6.0.2-i386-netboot/postinstall.sh +2 -0
- data/templates/Fedora-14-amd64-netboot/postinstall.sh +2 -0
- data/templates/Fedora-14-amd64/postinstall.sh +2 -0
- data/templates/Fedora-14-i386-netboot/postinstall.sh +2 -0
- data/templates/Fedora-14-i386/postinstall.sh +2 -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/archlinux-i386/aif.cfg +33 -0
- data/templates/archlinux-i386/definition.rb +29 -0
- data/templates/archlinux-i386/postinstall.sh +95 -0
- data/templates/archlinux-x86_64/aif.cfg +33 -0
- data/templates/{archlinux-64-aif-experimental → archlinux-x86_64}/definition.rb +7 -7
- data/templates/archlinux-x86_64/postinstall.sh +95 -0
- data/templates/freebsd-8.2-experimental/postinstall.sh +3 -1
- data/templates/freebsd-8.2-pcbsd-i386-netboot/postinstall.sh +2 -0
- data/templates/freebsd-8.2-pcbsd-i386/postinstall.sh +2 -0
- data/templates/gentoo-latest-i386-experimental/postinstall.sh +2 -0
- data/templates/openindiana-148-ai-x86/postinstall.sh +2 -0
- data/templates/opensuse-11.4-i386-experimental/postinstall.sh +1 -0
- data/templates/solaris-11-express-i386/postinstall.sh +2 -0
- data/templates/ubuntu-10.04.2-amd64-netboot/postinstall.sh +4 -2
- data/templates/ubuntu-10.04.2-server-amd64-alt/definition.rb +57 -0
- data/templates/ubuntu-10.04.2-server-amd64-alt/postinstall.sh +249 -0
- data/templates/ubuntu-10.04.2-server-amd64-alt/preseed.cfg +124 -0
- data/templates/ubuntu-10.04.2-server-amd64/definition.rb +56 -23
- data/templates/ubuntu-10.04.2-server-amd64/postinstall.sh +4 -2
- data/templates/ubuntu-10.04.2-server-i386-netboot/postinstall.sh +4 -2
- data/templates/ubuntu-10.04.2-server-i386/postinstall.sh +3 -1
- data/templates/ubuntu-10.10-server-amd64-netboot/postinstall.sh +4 -2
- data/templates/ubuntu-10.10-server-amd64/postinstall.sh +3 -1
- data/templates/ubuntu-10.10-server-i386-netboot/postinstall.sh +4 -2
- data/templates/ubuntu-10.10-server-i386/postinstall.sh +4 -2
- data/templates/ubuntu-11.04-server-amd64/postinstall.sh +4 -2
- data/templates/ubuntu-11.04-server-i386/postinstall.sh +4 -2
- data/templates/ubuntu-8.04.4-server-amd64/postinstall.sh +2 -0
- data/templates/ubuntu-8.04.4-server-i386/postinstall.sh +3 -1
- data/validation/features/steps/ssh_steps.rb +22 -8
- data/veewee.gemspec +2 -2
- metadata +40 -21
- data/templates/archlinux-64-aif-experimental/postinstall.sh +0 -6
- data/templates/archlinux-64-experimental/autorun0 +0 -6
- data/templates/archlinux-64-experimental/definition.rb +0 -21
- data/templates/archlinux-64-experimental/postinstall.sh +0 -190
- data/templates/archlinux-i686/autorun0 +0 -6
- data/templates/archlinux-i686/definition.rb +0 -21
- data/templates/archlinux-i686/postinstall.sh +0 -191
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
date > /etc/vagrant_box_build_time
|
|
2
|
+
|
|
1
3
|
#http://www.freebsd.org/doc/en_US.ISO8859-1/articles/remote-install/installation.html
|
|
2
4
|
dd if=/dev/zero of=/dev/ad4 count=2
|
|
3
5
|
#bsdlabel -w -B /dev/ad4
|
|
@@ -186,4 +188,4 @@ load_rc_config "\$name"
|
|
|
186
188
|
run_rc_command "\$1"
|
|
187
189
|
EOF
|
|
188
190
|
|
|
189
|
-
chmod 555 /mnt/usr/local/etc/rc.d/mkvirecover
|
|
191
|
+
chmod 555 /mnt/usr/local/etc/rc.d/mkvirecover
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# postinstall.sh created from Mitchell's official lucid32/64 baseboxes
|
|
2
2
|
|
|
3
|
+
date > /etc/vagrant_box_build_time
|
|
4
|
+
|
|
3
5
|
# Apt-install various things necessary for Ruby, guest additions,
|
|
4
6
|
# etc., and remove optional things to trim down the machine.
|
|
5
7
|
apt-get -y update
|
|
@@ -21,7 +23,7 @@ apt-get -y install nfs-common
|
|
|
21
23
|
# We must install the 1.8.x series since Puppet doesn't support
|
|
22
24
|
# Ruby 1.9 yet.
|
|
23
25
|
wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p334.tar.gz
|
|
24
|
-
tar xvzf
|
|
26
|
+
tar xvzf ruby-1.8.7-p334.tar.gz
|
|
25
27
|
cd ruby-1.8.7-p334
|
|
26
28
|
./configure --prefix=/opt/ruby
|
|
27
29
|
make
|
|
@@ -85,4 +87,4 @@ rm /lib/udev/rules.d/75-persistent-net-generator.rules
|
|
|
85
87
|
|
|
86
88
|
echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
|
|
87
89
|
echo "pre-up sleep 2" >> /etc/network/interfaces
|
|
88
|
-
exit
|
|
90
|
+
exit
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
require 'digest/md5'
|
|
2
|
+
CURRENT_DIR = File.dirname(__FILE__)
|
|
3
|
+
PRESEED_MD5 = "#{Digest::MD5.file("#{CURRENT_DIR}/preseed.cfg").hexdigest}"
|
|
4
|
+
#ISO_MD5 = "#{Digest::MD5.file("#{CURRENT_DIR}/../../iso/ubuntu-10.04.2-alternate-amd64.iso").hexdigest}"
|
|
5
|
+
|
|
6
|
+
Veewee::Session.declare( {
|
|
7
|
+
:boot_cmd_sequence => [
|
|
8
|
+
"<Esc><Esc><Enter>",
|
|
9
|
+
"/install/vmlinuz ",
|
|
10
|
+
"noapic ",
|
|
11
|
+
"auto-install/enable",
|
|
12
|
+
"console-setup/ask_detect=false ",
|
|
13
|
+
"console-setup/modelcode=pc105 ",
|
|
14
|
+
"console-setup/layoutcode=us ",
|
|
15
|
+
"debconf/priority=critical ",
|
|
16
|
+
"debconf/frontend=noninteractive ",
|
|
17
|
+
"debian-installer=en_US ",
|
|
18
|
+
"debian-installer/locale=en_US ",
|
|
19
|
+
"debian-installer/framebuffer=false ",
|
|
20
|
+
"initrd=/install/initrd.gz ",
|
|
21
|
+
"kbd-chooser/method=us ",
|
|
22
|
+
"netcfg/get_hostname=%NAME% ",
|
|
23
|
+
"netcfg/dhcp_timeout=60 ",
|
|
24
|
+
"netcfg/choose_interface=auto ",
|
|
25
|
+
"preseed/interactive=false ",
|
|
26
|
+
"preseed/url=http://%IP%:%PORT%/preseed.cfg ",
|
|
27
|
+
"preseed/url/checksum=#{PRESEED_MD5} ",
|
|
28
|
+
"DEBCONF_DEBUG=5 ",
|
|
29
|
+
"-- <Enter>"
|
|
30
|
+
],
|
|
31
|
+
:boot_wait => "10",
|
|
32
|
+
:cpu_count => '4',
|
|
33
|
+
:disk_size => '10140',
|
|
34
|
+
:disk_format => 'VMDK',
|
|
35
|
+
:hostiocache => 'on',
|
|
36
|
+
:iso_download_timeout => "60",
|
|
37
|
+
:iso_file => "ubuntu-10.04.2-alternate-amd64.iso",
|
|
38
|
+
:iso_src => "http://releases.ubuntu.com/10.04.2/ubuntu-10.04.2-alternate-amd64.iso",
|
|
39
|
+
:iso_md5 => "21929bb7caebcc600d92adb3e95a1229",
|
|
40
|
+
:kickstart_file => "preseed.cfg",
|
|
41
|
+
:kickstart_port => "7122",
|
|
42
|
+
:kickstart_timeout => "60",
|
|
43
|
+
:memory_size => '4096',
|
|
44
|
+
:os_type_id => 'Ubuntu_64',
|
|
45
|
+
:postinstall_files => [ "postinstall.sh" ],
|
|
46
|
+
:postinstall_timeout => "10000",
|
|
47
|
+
:ssh_guest_port => "22",
|
|
48
|
+
:ssh_host_port => "7222",
|
|
49
|
+
:ssh_key => "",
|
|
50
|
+
:ssh_login_timeout => "60",
|
|
51
|
+
:ssh_password => "vagrant",
|
|
52
|
+
:ssh_user => "vagrant",
|
|
53
|
+
:sudo_cmd => "echo '%p'|sudo -S bash '%f'",
|
|
54
|
+
:shutdown_cmd => "shutdown -h now",
|
|
55
|
+
:use_hw_virt_ext => 'off',
|
|
56
|
+
:use_pae => 'on'
|
|
57
|
+
})
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# postinstall.sh created from Mitchell's official lucid32/64 baseboxes
|
|
3
|
+
# Extended by hedgehog consistent with the designation - alternate
|
|
4
|
+
# Provides:
|
|
5
|
+
# - 1.9.2-p180 (system installed as root, managed via update-alternatives)
|
|
6
|
+
# - 1.8.7-p352 (system installed as root, managed via update-alternatives)
|
|
7
|
+
# - 1.9.2-p180 (user installed as $VEEWEE_USER, managed via rvm)
|
|
8
|
+
#
|
|
9
|
+
# NOTES:
|
|
10
|
+
# - package update and upgrade are done in the preseed.cfg via the late_command
|
|
11
|
+
#
|
|
12
|
+
|
|
13
|
+
date > /etc/vagrant_box_build_time
|
|
14
|
+
|
|
15
|
+
set -x
|
|
16
|
+
#set -e
|
|
17
|
+
|
|
18
|
+
export DEBIAN_FRONTEND=noninteractive
|
|
19
|
+
export VEEWEE_USER="vagrant"
|
|
20
|
+
export VBOX_VERSION=$(cat /home/${VEEWEE_USER}/.vbox_version)
|
|
21
|
+
|
|
22
|
+
### Install packages
|
|
23
|
+
#
|
|
24
|
+
# Necessary for full Ruby 1.9.2, guest additions etc.
|
|
25
|
+
# Remove optional packages to trim VM size.
|
|
26
|
+
aptitude -y install python-software-properties
|
|
27
|
+
add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
|
|
28
|
+
apt-add-repository ppa:git-core/ppa
|
|
29
|
+
add-apt-repository ppa:byobu
|
|
30
|
+
aptitude -y purge apparmor apparmor-utils
|
|
31
|
+
aptitude -y install byobu \
|
|
32
|
+
git-core
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Setup sudo
|
|
36
|
+
# Allow no-password sudo for "admin"
|
|
37
|
+
cp --archive /etc/sudoers /etc/sudoers.orig
|
|
38
|
+
sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
|
|
39
|
+
sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
|
|
40
|
+
|
|
41
|
+
### Install NFS client
|
|
42
|
+
#
|
|
43
|
+
# This is likely a Vagrant specific package so we keep it separated.
|
|
44
|
+
apt-get -y install nfs-common
|
|
45
|
+
|
|
46
|
+
### Install ruby 1.9.2-p180 from source
|
|
47
|
+
#
|
|
48
|
+
# Puppet 2.7 now supports 1.9.2
|
|
49
|
+
#
|
|
50
|
+
export RUBY_ROOT=/usr/bin/ruby
|
|
51
|
+
export RUBY_VER=1.9.2
|
|
52
|
+
export RUBY_BUILD_VER=${RUBY_VER}-p180
|
|
53
|
+
|
|
54
|
+
##########################################
|
|
55
|
+
#
|
|
56
|
+
# ENSURE System RUBY and RUBYGEM, etc variables point to non version paths
|
|
57
|
+
#
|
|
58
|
+
##########################################
|
|
59
|
+
|
|
60
|
+
cd /usr/local/src
|
|
61
|
+
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-${RUBY_BUILD_VER}.tar.gz
|
|
62
|
+
tar -xzf ruby-${RUBY_BUILD_VER}.tar.gz
|
|
63
|
+
cd ruby-${RUBY_BUILD_VER}
|
|
64
|
+
./configure --with-ruby-version=$RUBY_BUILD_VER --prefix=/usr --program-suffix=$RUBY_BUILD_VER
|
|
65
|
+
/usr/bin/make
|
|
66
|
+
/usr/bin/make install
|
|
67
|
+
cd ..
|
|
68
|
+
rm -rf ./ruby-${RUBY_BUILD_VER}/
|
|
69
|
+
rm ruby-${RUBY_BUILD_VER}.tar.gz
|
|
70
|
+
echo 'gem: --no-ri --no-rdoc' >>~/.gemrc
|
|
71
|
+
|
|
72
|
+
DIR_PATH=`readlink -f "/usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin"` # get rid of symlinks and get abs path
|
|
73
|
+
if test ! -d "${DIR_PATH}" ; then # now you're testing
|
|
74
|
+
mkdir -p /usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin
|
|
75
|
+
fi
|
|
76
|
+
RUBY_PRIORITY=`echo -n ${RUBY_VER}|sed -e 's/\.//g'`
|
|
77
|
+
update-alternatives \
|
|
78
|
+
--install ${RUBY_ROOT} ruby ${RUBY_ROOT}${RUBY_BUILD_VER} ${RUBY_PRIORITY} \
|
|
79
|
+
--slave /usr/bin/ri ri /usr/bin/ri${RUBY_BUILD_VER} \
|
|
80
|
+
--slave /usr/bin/erb erb /usr/bin/erb${RUBY_BUILD_VER} \
|
|
81
|
+
--slave /usr/bin/rake rake /usr/bin/rake${RUBY_BUILD_VER} \
|
|
82
|
+
--slave /usr/bin/rdoc rdoc /usr/bin/rdoc${RUBY_BUILD_VER} \
|
|
83
|
+
--slave /usr/bin/gem gem /usr/bin/gem${RUBY_BUILD_VER} \
|
|
84
|
+
--slave /usr/bin/testrb testrb /usr/bin/testrb${RUBY_BUILD_VER} \
|
|
85
|
+
--slave /usr/bin/irb irb /usr/bin/irb${RUBY_BUILD_VER} \
|
|
86
|
+
--slave /usr/lib/ruby/gems/bin gem-bin /usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin \
|
|
87
|
+
--slave /usr/share/man/man1/ruby.1 ruby.1 \
|
|
88
|
+
/usr/share/man/man1/ruby${RUBY_BUILD_VER}.1 \
|
|
89
|
+
--slave /usr/share/man/man1/erb.1 erb.1 \
|
|
90
|
+
/usr/share/man/man1/erb${RUBY_BUILD_VER}.1 \
|
|
91
|
+
--slave /usr/share/man/man1/irb.1 irb.1 \
|
|
92
|
+
/usr/share/man/man1/irb${RUBY_BUILD_VER}.1 \
|
|
93
|
+
--slave /usr/share/man/man1/ri.1 ri.1 \
|
|
94
|
+
/usr/share/man/man1/ri${RUBY_BUILD_VER}.1 \
|
|
95
|
+
--slave /usr/share/man/man1/rake.1 rake.1 \
|
|
96
|
+
/usr/share/man/man1/rake${RUBY_BUILD_VER}.1
|
|
97
|
+
|
|
98
|
+
### Update PATH
|
|
99
|
+
#
|
|
100
|
+
# Make binaries from gems installed to system Ruby(above) available system wide
|
|
101
|
+
#
|
|
102
|
+
echo PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/ruby/gems/bin" >>/etc/environment
|
|
103
|
+
/usr/bin/gem update --system
|
|
104
|
+
|
|
105
|
+
### Install Chef & Puppet
|
|
106
|
+
#
|
|
107
|
+
/usr/bin/gem install chef --no-ri --no-rdoc
|
|
108
|
+
/usr/bin/gem install puppet --no-ri --no-rdoc
|
|
109
|
+
|
|
110
|
+
### Install Ruby 1.8.7
|
|
111
|
+
#
|
|
112
|
+
export RUBY_ROOT=/usr/bin/ruby
|
|
113
|
+
export RUBY_VER=1.8.7
|
|
114
|
+
export RUBY_BUILD_VER=${RUBY_VER}-p352
|
|
115
|
+
|
|
116
|
+
wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-${RUBY_BUILD_VER}.tar.gz
|
|
117
|
+
tar -xzf ruby-${RUBY_BUILD_VER}.tar.gz
|
|
118
|
+
cd ruby-${RUBY_BUILD_VER}
|
|
119
|
+
./configure --with-ruby-version=$RUBY_BUILD_VER --prefix=/usr --program-suffix=$RUBY_BUILD_VER
|
|
120
|
+
/usr/bin/make
|
|
121
|
+
/usr/bin/make install
|
|
122
|
+
cd ..
|
|
123
|
+
rm -rf ruby-${RUBY_BUILD_VER}
|
|
124
|
+
rm ruby-${RUBY_BUILD_VER}.tar.gz
|
|
125
|
+
|
|
126
|
+
### Install RubyGems 1.8.5
|
|
127
|
+
#
|
|
128
|
+
wget http://rubyforge.org/frs/download.php/74954/rubygems-1.8.5.tgz
|
|
129
|
+
tar -xzf rubygems-1.8.5.tgz
|
|
130
|
+
cd rubygems-1.8.5
|
|
131
|
+
/usr/bin/ruby${RUBY_BUILD_VER} setup.rb --format-executable
|
|
132
|
+
cd ..
|
|
133
|
+
rm -rf rubygems-1.8.5
|
|
134
|
+
rm rubygems-1.8.5.tgz
|
|
135
|
+
|
|
136
|
+
DIR_PATH=`/bin/readlink -f "/usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin"` # get rid of symlinks and get abs path
|
|
137
|
+
if test ! -d "${DIR_PATH}" || -n "${DIR_PATH}" ; then # now you're testing
|
|
138
|
+
mkdir -p /usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin
|
|
139
|
+
fi
|
|
140
|
+
RUBY_PRIORITY=`echo -n ${RUBY_VER}|sed -e 's/\.//g'`
|
|
141
|
+
update-alternatives \
|
|
142
|
+
--install ${RUBY_ROOT} ruby ${RUBY_ROOT}${RUBY_BUILD_VER} ${RUBY_PRIORITY} \
|
|
143
|
+
--slave /usr/bin/ri ri /usr/bin/ri${RUBY_BUILD_VER} \
|
|
144
|
+
--slave /usr/bin/erb erb /usr/bin/erb${RUBY_BUILD_VER} \
|
|
145
|
+
--slave /usr/bin/rdoc rdoc /usr/bin/rdoc${RUBY_BUILD_VER} \
|
|
146
|
+
--slave /usr/bin/gem gem /usr/bin/gem${RUBY_BUILD_VER} \
|
|
147
|
+
--slave /usr/bin/irb irb /usr/bin/irb${RUBY_BUILD_VER} \
|
|
148
|
+
--slave /usr/bin/testrb testrb /usr/bin/testrb${RUBY_BUILD_VER} \
|
|
149
|
+
--slave /usr/lib/ruby/gems/bin gem-bin /usr/lib/ruby/gems/${RUBY_BUILD_VER}/bin \
|
|
150
|
+
--slave /usr/share/man/man1/ruby.1 ruby.1 \
|
|
151
|
+
/usr/share/man/man1/ruby${RUBY_BUILD_VER}.1 \
|
|
152
|
+
|
|
153
|
+
DIR_PATH=`readlink -f "/var/www"` # get rid of symlinks and get abs path
|
|
154
|
+
if test ! -d "${DIR_PATH}" ; then # now you're testing
|
|
155
|
+
mkdir -p $DIR_PATH
|
|
156
|
+
fi
|
|
157
|
+
chown ${VEEWEE_USER}:${VEEWEE_USER} /var/www
|
|
158
|
+
|
|
159
|
+
### Install RVM
|
|
160
|
+
#
|
|
161
|
+
# Install 1.9.2-p180, under vagrant user account
|
|
162
|
+
# Set default RVM to the system Ruby 1.9.2 installed above.
|
|
163
|
+
cat <<'EOP' > /tmp/install_rvm.sh
|
|
164
|
+
#!/bin/bash
|
|
165
|
+
set -x
|
|
166
|
+
bash < <(curl -sk https://rvm.beginrescueend.com/install/rvm)
|
|
167
|
+
#-C --with-openssl-dir=$rvm_usr_dir,--with-libyaml-dir=$rvm_usr_dir,--with-readline-dir=$rvm_usr_dir
|
|
168
|
+
echo 'test -s "$HOME/.rvm/scripts/rvm" && source "$HOME/.rvm/scripts/rvm" # Load RVM function' >> $HOME/.bashrc
|
|
169
|
+
echo 'test -r $rvm_path/scripts/completion && source $rvm_path/scripts/completion # Load RVM bash completion' >> $HOME/.bashrc
|
|
170
|
+
echo 'test -s "$HOME/.rvm/scripts/rvm" && source "$HOME/.rvm/scripts/rvm" # Load RVM function' >> $HOME/.profile
|
|
171
|
+
echo 'test -r $rvm_path/scripts/completion && source $rvm_path/scripts/completion # Load RVM bash completion' >> $HOME/.profile
|
|
172
|
+
source "$HOME/.rvm/scripts/rvm"
|
|
173
|
+
type rvm | head -1
|
|
174
|
+
rvm install ruby-1.9.2-p180
|
|
175
|
+
cat <<'RVMRC_CONTENTS' > $HOME/.rvmrc
|
|
176
|
+
rvm_install_on_use_flag=1
|
|
177
|
+
rvm_trust_rvmrcs_flag=1
|
|
178
|
+
rvm_gemset_create_on_use_flag=1
|
|
179
|
+
RVMRC_CONTENTS
|
|
180
|
+
EOP
|
|
181
|
+
|
|
182
|
+
chmod a+x /tmp/install_rvm.sh
|
|
183
|
+
su --login - $VEEWEE_USER -c '/tmp/install_rvm.sh'
|
|
184
|
+
|
|
185
|
+
### Install Vagrant public key
|
|
186
|
+
#
|
|
187
|
+
DIR_PATH=`readlink -f "/home/${VEEWEE_USER}/.ssh"` # get rid of symlinks and get abs path
|
|
188
|
+
if test ! -d "${DIR_PATH}" ; then
|
|
189
|
+
mkdir -p /home/${VEEWEE_USER}/.ssh
|
|
190
|
+
fi
|
|
191
|
+
chmod 700 /home/${VEEWEE_USER}/.ssh
|
|
192
|
+
cd /home/${VEEWEE_USER}/.ssh
|
|
193
|
+
wget --no-check-certificate 'http://github.com/mitchellh/vagrant/raw/master/keys/vagrant.pub' -O authorized_keys
|
|
194
|
+
chmod 0600 /home/${VEEWEE_USER}/.ssh/*
|
|
195
|
+
chown -R ${VEEWEE_USER} /home/${VEEWEE_USER}/.ssh
|
|
196
|
+
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
|
|
197
|
+
chmod a-w /etc/ssh/sshd_config.original
|
|
198
|
+
echo PubkeyAuthentication yes >>/etc/ssh/sshd_config
|
|
199
|
+
echo RSAAuthentication yes >>/etc/ssh/sshd_config
|
|
200
|
+
echo PasswordAuthentication no >>/etc/ssh/sshd_config
|
|
201
|
+
echo ChallengeResponseAuthentication no >>/etc/ssh/sshd_config
|
|
202
|
+
/etc/init.d/ssh restart
|
|
203
|
+
|
|
204
|
+
### Install Virtualbox guest additions
|
|
205
|
+
#
|
|
206
|
+
cd /tmp
|
|
207
|
+
wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
|
|
208
|
+
mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
|
|
209
|
+
sh /mnt/VBoxLinuxAdditions.run
|
|
210
|
+
umount /mnt
|
|
211
|
+
|
|
212
|
+
rm VBoxGuestAdditions_$VBOX_VERSION.iso
|
|
213
|
+
|
|
214
|
+
### Package Cleanup
|
|
215
|
+
#
|
|
216
|
+
# Remove items that aren't needed anymore
|
|
217
|
+
apt-get -y autoremove
|
|
218
|
+
apt-get clean
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
### Improve VM disk compression
|
|
222
|
+
#
|
|
223
|
+
# Zero out the free space to save space in the final image:
|
|
224
|
+
dd if=/dev/zero of=/EMPTY bs=1M
|
|
225
|
+
rm -f /EMPTY
|
|
226
|
+
|
|
227
|
+
### Network fixes
|
|
228
|
+
#
|
|
229
|
+
# Removing leftover leases and persistent rules
|
|
230
|
+
echo "cleaning up dhcp leases"
|
|
231
|
+
rm /var/lib/dhcp3/*
|
|
232
|
+
|
|
233
|
+
# Make sure Udev doesn't block our network
|
|
234
|
+
# http://6.ptmc.org/?p=164
|
|
235
|
+
echo "cleaning up udev rules"
|
|
236
|
+
DIR_PATH=`readlink -f "/etc/udev/rules.d/70-persistent-net.rules"` # get rid of symlinks and get abs path
|
|
237
|
+
rm -rf /etc/udev/rules.d/70-persistent-net.rules
|
|
238
|
+
if test ! -d "${DIR_PATH}" ; then
|
|
239
|
+
mkdir -p /etc/udev/rules.d/70-persistent-net.rules
|
|
240
|
+
fi
|
|
241
|
+
rm -rf /dev/.udev/
|
|
242
|
+
rm -rf /lib/udev/rules.d/75-persistent-net-generator.rules
|
|
243
|
+
|
|
244
|
+
echo "Adding a 2 sec delay to the interface up, to make the dhclient happy"
|
|
245
|
+
echo "pre-up sleep 2" >> /etc/network/interfaces
|
|
246
|
+
|
|
247
|
+
### Exit
|
|
248
|
+
#
|
|
249
|
+
exit 0
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
## Options to set on the command line
|
|
2
|
+
d-i debian-installer/locale string en_US
|
|
3
|
+
d-i console-setup/ask_detect boolean false
|
|
4
|
+
d-i console-setup/layout string Belgium
|
|
5
|
+
|
|
6
|
+
#d-i netcfg/get_hostname string dummy
|
|
7
|
+
d-i netcfg/get_hostname string unassigned-hostname
|
|
8
|
+
d-i netcfg/get_domain string unassigned-domain
|
|
9
|
+
|
|
10
|
+
# Continue without a default route
|
|
11
|
+
# Not working , specify a dummy in the DHCP
|
|
12
|
+
#d-i netcfg/no_default_route boolean
|
|
13
|
+
|
|
14
|
+
d-i time/zone string Europe/Brussels
|
|
15
|
+
d-i clock-setup/utc-auto boolean true
|
|
16
|
+
d-i clock-setup/utc boolean true
|
|
17
|
+
|
|
18
|
+
d-i kbd-chooser/method select Belgian
|
|
19
|
+
|
|
20
|
+
d-i netcfg/wireless_wep string
|
|
21
|
+
|
|
22
|
+
d-i base-installer/kernel/override-image string linux-server
|
|
23
|
+
#d-i base-installer/kernel/override-image string linux-image-2.6.32-21-generic
|
|
24
|
+
|
|
25
|
+
# Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive
|
|
26
|
+
d-i debconf debconf/frontend select Noninteractive
|
|
27
|
+
|
|
28
|
+
d-i pkgsel/install-language-support boolean false
|
|
29
|
+
tasksel tasksel/first multiselect standard, ubuntu-server
|
|
30
|
+
|
|
31
|
+
#d-i partman-auto/method string regular
|
|
32
|
+
d-i partman-auto/method string lvm
|
|
33
|
+
#d-i partman-auto/purge_lvm_from_device boolean true
|
|
34
|
+
|
|
35
|
+
d-i partman-lvm/confirm boolean true
|
|
36
|
+
d-i partman-lvm/device_remove_lvm boolean true
|
|
37
|
+
d-i partman-auto/choose_recipe select atomic
|
|
38
|
+
|
|
39
|
+
d-i partman/confirm_write_new_label boolean true
|
|
40
|
+
d-i partman/confirm_nooverwrite boolean true
|
|
41
|
+
d-i partman/choose_partition select finish
|
|
42
|
+
d-i partman/confirm boolean true
|
|
43
|
+
|
|
44
|
+
#http://ubuntu-virginia.ubuntuforums.org/showthread.php?p=9626883
|
|
45
|
+
#Message: "write the changes to disk and configure lvm preseed"
|
|
46
|
+
#http://serverfault.com/questions/189328/ubuntu-kickstart-installation-using-lvm-waits-for-input
|
|
47
|
+
#preseed partman-lvm/confirm_nooverwrite boolean true
|
|
48
|
+
|
|
49
|
+
# Write the changes to disks and configure LVM?
|
|
50
|
+
d-i partman-lvm/confirm boolean true
|
|
51
|
+
d-i partman-lvm/confirm_nooverwrite boolean true
|
|
52
|
+
d-i partman-auto-lvm/guided_size string max
|
|
53
|
+
|
|
54
|
+
## Default user, we can get away with a recipe to change this
|
|
55
|
+
d-i passwd/user-fullname string vagrant
|
|
56
|
+
d-i passwd/username string vagrant
|
|
57
|
+
d-i passwd/user-password password vagrant
|
|
58
|
+
d-i passwd/user-password-again password vagrant
|
|
59
|
+
d-i user-setup/encrypt-home boolean false
|
|
60
|
+
d-i user-setup/allow-password-weak boolean true
|
|
61
|
+
|
|
62
|
+
## minimum is puppet and ssh and ntp
|
|
63
|
+
# Individual additional packages to install
|
|
64
|
+
d-i pkgsel/include string acpid \
|
|
65
|
+
autoconf \
|
|
66
|
+
bison \
|
|
67
|
+
curl \
|
|
68
|
+
dkms \
|
|
69
|
+
gcc \
|
|
70
|
+
libbsd-dev \
|
|
71
|
+
libc6-dev \
|
|
72
|
+
libcurl4-openssl-dev \
|
|
73
|
+
libreadline6 \
|
|
74
|
+
libreadline6-dev \
|
|
75
|
+
libsqlite3-0 \
|
|
76
|
+
libsqlite3-dev \
|
|
77
|
+
libssl-dev \
|
|
78
|
+
libxml2 \
|
|
79
|
+
libxml2-dev \
|
|
80
|
+
libxslt-dev \
|
|
81
|
+
libxslt1-dev \
|
|
82
|
+
libyaml-dev \
|
|
83
|
+
ncurses-dev \
|
|
84
|
+
ntp \
|
|
85
|
+
openssh-server \
|
|
86
|
+
openssl \
|
|
87
|
+
readline-common \
|
|
88
|
+
rsyslog \
|
|
89
|
+
sqlite3 \
|
|
90
|
+
zlib1g \
|
|
91
|
+
zlib1g-dev
|
|
92
|
+
|
|
93
|
+
# Whether to upgrade packages after debootstrap.
|
|
94
|
+
# Allowed values: none, safe-upgrade, full-upgrade
|
|
95
|
+
d-i pkgsel/upgrade select full-upgrade
|
|
96
|
+
|
|
97
|
+
d-i grub-installer/only_debian boolean true
|
|
98
|
+
d-i grub-installer/with_other_os boolean true
|
|
99
|
+
|
|
100
|
+
#For the update
|
|
101
|
+
d-i pkgsel/update-policy select none
|
|
102
|
+
|
|
103
|
+
# debconf-get-selections --install
|
|
104
|
+
#Use mirror
|
|
105
|
+
#d-i apt-setup/use_mirror boolean true
|
|
106
|
+
#d-i mirror/country string manual
|
|
107
|
+
#choose-mirror-bin mirror/protocol string http
|
|
108
|
+
#choose-mirror-bin mirror/http/hostname string 192.168.4.150
|
|
109
|
+
#choose-mirror-bin mirror/http/directory string /ubuntu
|
|
110
|
+
#choose-mirror-bin mirror/suite select maverick
|
|
111
|
+
#d-i debian-installer/allow_unauthenticated string true
|
|
112
|
+
|
|
113
|
+
choose-mirror-bin mirror/http/proxy string
|
|
114
|
+
|
|
115
|
+
# This command, and you can only have one, is run just before the install
|
|
116
|
+
# finishes, but when there is still a usable /target directory.
|
|
117
|
+
# You can chroot to /target and use it directly, or use the apt-install
|
|
118
|
+
# and in-target commands to easily install packages and run commands in
|
|
119
|
+
# the target system.
|
|
120
|
+
#
|
|
121
|
+
d-i preseed/late_command string in-target /usr/bin/aptitude -q -y update; in-target /usr/bin/aptitude -q -y safe-upgrade; in-target /usr/bin/aptitude -q -y clean;
|
|
122
|
+
|
|
123
|
+
# Avoid that last message about the install being complete.
|
|
124
|
+
d-i finish-install/reboot_in_progress note
|