]> git.proxmox.com Git - vzctl.git/blob - debian/update_sysctl_conf
bump version to 4.0-1pve5
[vzctl.git] / debian / update_sysctl_conf
1 #!/usr/bin/perl -w
2
3 # remove OpenVZ specific settings from /etc/sysctl.conf
4 # and move them to /etc/sysctl.d/vzctl.conf
5
6 use strict;
7
8 open(TMP, "/etc/sysctl.conf") || die "can't open sysctl.conf";
9
10 my $sysctl_out = '';
11 my $vzctl_out = '';
12
13 my $found;
14 my $skip;
15
16 while(defined(my $line = <TMP>)) {
17 if ($line =~ m/^#-- OpenVZ begin/i) {
18 $found = 1;
19 $skip = 1;
20 next;
21 }
22 if ($line =~ m/^#-- OpenVZ end/i) {
23 $found = 1;
24 $skip = 0;
25 next;
26 }
27
28 if ($skip) {
29 if ($line =~ m/^net\.ipv4\.conf\.default\.forwarding\s*=\s*1\s*$/) {
30 $vzctl_out .= "net.ipv4.ip_forward=1\n"
31 }
32 $vzctl_out .= $line;
33 } else {
34 $sysctl_out .= $line;
35 }
36 }
37
38 close (TMP);
39
40 if ($found) {
41 if ($vzctl_out) {
42 print "moving openvz sysctl settings to /etc/sysctl.d/vzctl.conf\n";
43 open (OUT, ">/etc/sysctl.d/vzctl.conf") ||
44 die "cant't open '/etc/sysctl.d/vzctl.conf' - $!";
45 my $res = print OUT $vzctl_out;
46 die "write failed" if !$res;
47 close OUT;
48 }
49
50 open (OUT, ">/etc/sysctl.conf") ||
51 die "cant't open '/etc/sysctl.conf' - $!";
52 my $res = print OUT $sysctl_out;
53 die "write failed" if !$res;
54 close OUT;
55 }
56
57 exit(0);