--- trunk/vz-create.pl 2008/02/08 23:53:52 43 +++ trunk/vz-create.pl 2008/02/09 00:28:10 44 @@ -54,8 +54,12 @@ $hostname = $arg; } } + } +# nuke arguments so that prompt doesn't get confused +@ARGV = (); + $ip ||= prompt('Enter IP: ', -require => { 'Must be IP (e.g. 192.168.0.1): ' => qr/$RE{net}{IPv4}/, }) unless ($ip =~ /$RE{net}{IPv4}/); @@ -121,73 +125,16 @@ vzctl('start', $ve_id); -my $customize_sh = <<'__END_OF_SH__'; - -# use shadow passwords -pwconv - -# upgrade to lastest version -apt-get -y update -apt-get -y upgrade - -# install additional packages -apt-get -y --force-yes install vim less ssh sudo screen telnet finger - -# remove unwanted packages -apt-get -y remove nano - -# apt-iselect helper -wget -t 1 -T 5 -O /usr/local/bin/apt-iselect http://www.rot13.org/~dpavlin/projects/scripts/apt-iselect -chmod 755 /usr/local/bin/apt-iselect - -# lock root user -usermod -L root - -# disable getty -sed -i -e '/getty/d' /etc/inittab - -# sane permissions for /root directory -chmod 700 /root - -# disable sync() for syslog -sed -i -e 's@\([[:space:]]\)\(/var/log/\)@\1-\2@' /etc/syslog.conf - -# fix /etc/mtab -rm -f /etc/mtab -ln -s /proc/mounts /etc/mtab - -# remove unneeded packages -dpkg --purge modutils -dpkg --purge ppp pppoeconf pppoe pppconfig - -# disable services -update-rc.d -f klogd remove -update-rc.d -f quotarpc remove -update-rc.d -f exim4 remove -update-rc.d -f inetd remove - -# clean packages -apt-get clean - -__END_OF_SH__ - -foreach my $l (split(/\n/, $customize_sh)) { - next if ($l =~ /^\s*$/); - if ($l =~ /^#\s+(.+)$/) { - warn ">> $1\n"; - } else { - vzctl('exec', $ve_id, $l); - } -} +runscript( $ve_id, 'custom/00-all.sh' ); #vzctl('stop', $ve_id); -my $passwd = prompt('root passwd: ', -echo=>'*'); -vzctl('set', $ve_id, '--userpasswd', 'root:' . $passwd ) if ($passwd); +my $passwd = prompt( -prompt => 'root passwd: ', -echo=>'*' ); +vzctl('set', $ve_id, '--userpasswd', 'root:' . $passwd ) if $passwd; my $login = prompt('create login: '); if ($login) { - $passwd = prompt("$login passwd: ", -echo=>'*'); + $passwd = prompt( -prompt => "$login passwd: ", -echo=>'*'); vzctl('exec', $ve_id, "useradd --create-home $login"); vzctl('set', $ve_id, '--userpasswd', "$login:$passwd" ); }