--- trunk/vz-create.pl 2007/01/07 13:35:10 8 +++ trunk/vz-create.pl 2007/04/16 20:37:13 17 @@ -12,22 +12,24 @@ # debian mirror to use my $debian_mirror_uri = 'http://debian.carnet.hr/debian'; # split physicial machine in how meny virtual ones? -my $ve_total = 2; +my $ve_total = 4; # swap size (Mb) my $swap_size = 512; +# diskspace +my $diskspace = '2G:4G'; print "Creating new OpenVZ instance...\n"; -my $arg = shift @ARGV; +my $arg = shift @ARGV || ''; -my ($hostname, $ip); +my ($hostname, $ip) = ('localhost',''); if ($arg =~ m/$RE{net}{IPv4}/) { $ip = $arg; chomp($hostname); $hostname = host($arg); $hostname =~ s/^.*\s(\S+)$/$1/; -} else { +} elsif ($arg) { $hostname = $arg; $ip = host($arg); chomp($ip); @@ -42,7 +44,7 @@ my @ip_split = split(/\./,$ip); -my $ve_id = sprintf('%03d%03d', $ip_split[2], $ip_split[3]); +my $ve_id = sprintf('%d%03d', $ip_split[2], $ip_split[3]); my $vz_root = '/vz'; @@ -84,9 +86,10 @@ print $tmp "OSTEMPLATE=debian-3.1\n"; close($tmp); - vzctl('set', $ve_id, '--applyconfig', 'vps.basic', '--save'); +# vzctl('set', $ve_id, '--applyconfig', 'vps.basic', '--save'); vzctl('set', $ve_id, '--ipadd', $ip, '--save'); vzctl('set', $ve_id, '--hostname', $hostname, '--save'); + vzctl('set', $ve_id, '--diskspace', $diskspace, '--save'); } sub create_file { @@ -104,7 +107,7 @@ "deb $debian_mirror_uri $dist main contrib non-free\n" ); -vzctl('start', $ve_id, '--wait'); +vzctl('start', $ve_id); my $customize_sh = <<'__END_OF_SH__'; @@ -112,17 +115,18 @@ pwconv # upgrade to lastest version -apt-get update -apt-get upgrade +apt-get -y update +apt-get -y upgrade # install additional packages -apt-get -y install vim less ssh sudo screen +apt-get -y install vim less ssh sudo screen telnet finger # remove unwanted packages apt-get -y remove nano # apt-iselect helper -wget -O /usr/local/bin/apt-iselect http://www.rot13.org/~dpavlin/projects/scripts/apt-iselect && chmod 755 /usr/local/bin/apt-iselect +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 @@ -166,3 +170,12 @@ #vzctl('stop', $ve_id); +my $passwd = 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=>'*'); + vzctl('exec', $ve_id, "useradd --create-home $login"); + vzctl('set', $ve_id, '--userpasswd', "$login:$passwd" ); +}