/[vz-tools]/trunk/vz-create.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/vz-create.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 11 by dpavlin, Sun Jan 7 23:53:16 2007 UTC revision 35 by dpavlin, Thu Dec 13 23:50:47 2007 UTC
# Line 10  use Regexp::Common qw/net/; Line 10  use Regexp::Common qw/net/;
10  # default debian distribution  # default debian distribution
11  my $dist = 'etch';  my $dist = 'etch';
12  # debian mirror to use  # debian mirror to use
13  my $debian_mirror_uri = 'http://debian.carnet.hr/debian';  my $debian_mirror_uri = 'http://www.debian.org/debian';
14  # split physicial machine in how meny virtual ones?  # split physicial machine in how meny virtual ones?
15  my $ve_total = 4;  my $ve_total = 4;
16  # swap size (Mb)  # swap size (Mb)
# Line 18  my $swap_size = 512; Line 18  my $swap_size = 512;
18  # diskspace  # diskspace
19  my $diskspace = '2G:4G';  my $diskspace = '2G:4G';
20    
21    my $config_file = $0;
22    $config_file =~ s!-create.pl!-tools.conf!;
23    warn "## $config_file\n";
24    if (-e $config_file) {
25            open(my $fh, '<', $config_file) || die "can't open $config_file: $!";
26            eval join("\n", <$fh>);
27            close($fh);
28            die "Error in $config_file: $@" if ($@);
29    }
30    
31  print "Creating new OpenVZ instance...\n";  print "Creating new OpenVZ instance...\n";
32    
33  my $arg = shift @ARGV || '';  my $arg = shift @ARGV || '';
# Line 33  if ($arg =~ m/$RE{net}{IPv4}/) { Line 43  if ($arg =~ m/$RE{net}{IPv4}/) {
43          $hostname = $arg;          $hostname = $arg;
44          $ip = host($arg);          $ip = host($arg);
45          chomp($ip);          chomp($ip);
46          $ip =~ s/^.*\s(\S+)$/$1/;          $ip =~ s/^.*?$RE{net}{IPv4}{-keep}.*$/$1/s;
47  }  }
48    
49  $ip ||= prompt('Enter IP: ', -require => {  $ip ||= prompt('Enter IP: ', -require => {
# Line 44  $hostname ||= prompt('Enter hostname: ') Line 54  $hostname ||= prompt('Enter hostname: ')
54    
55  my @ip_split = split(/\./,$ip);  my @ip_split = split(/\./,$ip);
56    
57  my $ve_id = sprintf('%03d%03d', $ip_split[2], $ip_split[3]);  my $ve_id = sprintf('%d%03d', $ip_split[2], $ip_split[3]);
58    
59  my $vz_root = '/vz';  my $vz_root = '/vz';
60    
# Line 56  warn ">> creating directories\n"; Line 66  warn ">> creating directories\n";
66    
67  mkdir('-p', "$vz_root/root/$ve_id", "$vz_root/private/$ve_id");  mkdir('-p', "$vz_root/root/$ve_id", "$vz_root/private/$ve_id");
68    
69  warn ">> installing debian\n";  warn ">> installing debian $dist from $debian_mirror_uri\n";
70    
71  if (! -e "$vz_root/private/$ve_id/etc/debian_version") {  if (! -e "$vz_root/private/$ve_id/etc/debian_version") {
72    
# Line 119  apt-get -y update Line 129  apt-get -y update
129  apt-get -y upgrade  apt-get -y upgrade
130    
131  # install additional packages  # install additional packages
132  apt-get -y install vim less ssh sudo screen telnet finger  apt-get -y --force-yes install vim less ssh sudo screen telnet finger
133    
134  # remove unwanted packages  # remove unwanted packages
135  apt-get -y remove nano  apt-get -y remove nano
136    
137  # apt-iselect helper  # apt-iselect helper
138  wget -O /usr/local/bin/apt-iselect http://www.rot13.org/~dpavlin/projects/scripts/apt-iselect  wget -t 1 -T 5 -O /usr/local/bin/apt-iselect http://www.rot13.org/~dpavlin/projects/scripts/apt-iselect
139  chmod 755 /usr/local/bin/apt-iselect  chmod 755 /usr/local/bin/apt-iselect
140    
141  # lock root user  # lock root user

Legend:
Removed from v.11  
changed lines
  Added in v.35

  ViewVC Help
Powered by ViewVC 1.1.26