Browse Source

Check iptables paths during upgrade, fixes edge case where iptables symlinks were missing after upgrading to ubuntu20.04

Robert Zollner 5 years ago
parent
commit
61a88dba46
1 changed files with 40 additions and 0 deletions
  1. 40 0
      install/upgrade/versions/latest.sh

+ 40 - 0
install/upgrade/versions/latest.sh

@@ -6,6 +6,46 @@
 #######                      Place additional commands below.                   #######
 #######################################################################################
 
+# Check iptables paths and add symlinks when necessary
+if [ ! -e "/sbin/iptables" ]; then
+    if which iptables; then
+        ln -s "$(which iptables)" /sbin/iptables
+    elif [ -e "/usr/sbin/iptables" ]; then
+        ln -s /usr/sbin/iptables /sbin/iptables
+    elif whereis -B /bin /sbin /usr/bin /usr/sbin -f -b iptables; then
+        autoiptables=$(whereis -B /bin /sbin /usr/bin /usr/sbin -f -b iptables | cut -d '' -f 2)
+        if [ -x "$autoiptables" ]; then
+            ln -s "$autoiptables" /sbin/iptables
+        fi
+    fi
+fi
+
+if [ ! -e "/sbin/iptables-save" ]; then
+    if which iptables-save; then
+        ln -s "$(which iptables-save)" /sbin/iptables-save
+    elif [ -e "/usr/sbin/iptables-save" ]; then
+        ln -s /usr/sbin/iptables-save /sbin/iptables-save
+    elif whereis -B /bin /sbin /usr/bin /usr/sbin -f -b iptables-save; then
+        autoiptables_save=$(whereis -B /bin /sbin /usr/bin /usr/sbin -f -b iptables-save | cut -d '' -f 2)
+        if [ -x "$autoiptables_save" ]; then
+            ln -s "$autoiptables_save" /sbin/iptables-save
+        fi
+    fi
+fi
+
+if [ ! -e "/sbin/iptables-restore" ]; then
+    if which iptables-restore; then
+        ln -s "$(which iptables-restore)" /sbin/iptables-restore
+    elif [ -e "/usr/sbin/iptables-restore" ]; then
+        ln -s /usr/sbin/iptables-restore /sbin/iptables-restore
+    elif whereis -B /bin /sbin /usr/bin /usr/sbin -f -b iptables-restore; then
+        autoiptables_restore=$(whereis -B /bin /sbin /usr/bin /usr/sbin -f -b iptables-restore | cut -d '' -f 2)
+        if [ -x "$autoiptables_restore" ]; then
+            ln -s "$autoiptables_restore" /sbin/iptables-restore
+        fi
+    fi
+fi
+
 if [ -e "/etc/apache2/mods-enabled/status.conf" ]; then
     echo "(*) Hardening Apache2 Server Status Module..."
     sed -i '/Allow from all/d' /etc/apache2/mods-enabled/status.conf