veewee 0.1.29 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|