- reload sysctl variabli kroz procps init skriptu
[kernel-cn.git] / debian / postinst
index 7e0d953..6dfe2d6 100755 (executable)
@@ -89,7 +89,7 @@ echo "."
 # detect existing Grub2 installation
 
 GRUB2="no"
-if [ -e /boot/grub/grub.cfg ];
+if [ -e /boot/grub/grub.cfg ]; then
     echo "CN: Detected GRUB2 installation, will try to use it."
     GRUB2="yes"
     if [ -e /boot/grub/menu.lst ]; then
@@ -172,13 +172,13 @@ if [ "x$GRUB2" = "xno" ]; then
         fi
     fi
     if [ ! -e "$menu_file" ]; then
-        yes | /usr/sbin/update-grub >/dev/null 2>&1 || true
+        yes | update-grub >/dev/null 2>&1 || true
     else
-        /usr/sbin/update-grub >/dev/null 2>&1 || true
+        update-grub >/dev/null 2>&1 || true
     fi
 else
     # Grub2 part
-    /usr/sbin/update-grub >/dev/null 2>&1 || true
+    update-grub >/dev/null 2>&1 || true
 fi
 echo -n " grub2"
 
@@ -210,7 +210,7 @@ rm -f /etc/udev/rules.d/devfs.rules /etc/udev/rules.d/compat.rules \
 #    ln -s ../udev.rules /etc/udev/rules.d/udev.rules
 #fi
 udevadm control --reload_rules >/dev/null 2>&1 || true
-udevsettle || true
+udevadm settle || true
 echo -n " udev"
 
 # update device map if possible
@@ -239,33 +239,35 @@ echo -n " grub3"
 # import GRUB helper functions (again, updated device map)
 . /usr/share/kernel-2.6-cn/grub-functions.sh
 
-# get install device (0x80 BIOS device)
-# this will work for both Grub1 and Grub2
-if [ "x$GRUB2" = "xyes" ]; then
-    device_map=/boot/grub/device.map
-fi
-install_device=$(grep '^(hd0)' "$device_map" | \
-    sed -e 's%[^[:space:]]*[[:space:]]*\([^[:space:]]*\)%\1%')
-if [ -z "$install_device" ]; then
-    echo "."
-    echo "CN: FATAL ERROR while detecting boot disk!"
-    echo "CN: Do not reboot your server and report this to OTRS immediately!"
-    exit 1
-fi
-
-# oops, install device is a symlink...
-if [ -h "$install_device" ]; then
-    install_device_resolved=$(resolve_symlink "$install_device")
-    if [ -z "$install_device_resolved" ]; then
-        install_device_resolved="$install_device"
+if [ "x$GRUB2" = "xno" ]; then
+    # Grub1 part
+    # get install device (0x80 BIOS device)
+    install_device=$(grep '^(hd0)' "$device_map" | \
+        sed -e 's%[^[:space:]]*[[:space:]]*\([^[:space:]]*\)%\1%')
+    if [ -z "$install_device" ]; then
+        echo "."
+        echo "CN: FATAL ERROR while detecting boot disk!"
+        echo "CN: Do not reboot your server and report this to OTRS immediately!"
+        exit 1
     fi
 
-    # try to fix device map with symlink resolved device
-    if [ "x$install_device_resolved" != "x$install_device" ]; then
-        cp_check_and_sed '^\(hd0\)' \
-            "s;^(hd0).*;(hd0)  $install_device_resolved;" "$device_map" \
-            || true
+    # oops, install device is a symlink...
+    if [ -h "$install_device" ]; then
+        install_device_resolved=$(resolve_symlink "$install_device")
+        if [ -z "$install_device_resolved" ]; then
+            install_device_resolved="$install_device"
+        fi
+
+        # try to fix device map with symlink resolved device
+        if [ "x$install_device_resolved" != "x$install_device" ]; then
+            cp_check_and_sed '^\(hd0\)' \
+                "s;^(hd0).*;(hd0)      $install_device_resolved;" "$device_map" \
+                || true
+        fi
     fi
+else
+    # Grub2 part
+    install_device='(hd0)'
 fi
 echo -n " grub4"
 
@@ -273,7 +275,7 @@ echo -n " grub4"
 # this will work for both Grub1 and Grub2
 if ! grub-install --no-floppy "$install_device" >/dev/null 2>&1; then
     echo "."
-    echo "CN: FATAL ERROR while running grub-install!"
+    echo "CN: FATAL ERROR while running grub-install on $install_device!"
     echo "CN: Do not reboot your server and report this to OTRS immediately!"
     exit 1
 fi
@@ -289,7 +291,7 @@ if [ "x$GRUB2" = "xno" ]; then
       "s;^# kopt=\(.*\)root=[^[:space:]]*\(.*\);# kopt=\1root=$root_device\2;g" \
           "$menu_file" || true
 fi
-/usr/sbin/update-grub >/dev/null 2>&1 || true
+update-grub >/dev/null 2>&1 || true
 echo -n " grub6"
 
 # fix possible wrong params in menu.lst
@@ -380,7 +382,7 @@ rm -f /etc/sysctl.conf.$$
 
 # old kernel params (skipping some of the obsolete or overrided entries)
 if [ -e /etc/sysctl.conf ]; then
-    egrep -v 'net\.core\.(r|w)mem_max|net\.ipv4\.tcp_(r|w)mem|vm\.bdflush|net\.ipv4\.ip_local_port_range|kernel\.rtsig-max|net\.ipv4\.tcp_syncookies|kernel\.exec-shield|net\.ipv4\.tcp_max_syn_backlog|net\.ipv4\.tcp_congestion_control|kernel\.exec-shield' \
+    egrep -v 'net\.core\.(r|w)mem_max|net\.ipv4\.tcp_(r|w)mem|vm\.bdflush|net\.ipv4\.ip_local_port_range|kernel\.rtsig-max|net\.ipv4\.tcp_syncookies|kernel\.exec-shield|net\.ipv4\.tcp_max_syn_backlog|net\.ipv4\.tcp_congestion_control|kernel\.exec-shield|kernel\.maps_protect' \
         /etc/sysctl.conf >> /etc/sysctl.conf.$$
 fi
 
@@ -388,6 +390,13 @@ fi
 cp_mv /etc/sysctl.conf.$$ /etc/sysctl.conf
 echo -n " sysctl.conf"
 
+# reload sysctl ASAP
+if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
+  invoke-rc.d procps restart >/dev/null 2>&1 || true
+else
+  /etc/init.d/procps restart >/dev/null 2>&1 || true
+fi
+
 # finished with basic kernel-2.6-cn stuff
 echo "."