Просмотр исходного кода

Fix for missing acl package during upgrade

apt package lock must be temporarily disabled during upgrade script execution, as apt can not run within itself.
Kristan Kenney 6 лет назад
Родитель
Сommit
a06c76ef62
1 измененных файлов с 15 добавлено и 0 удалено
  1. 15 0
      install/upgrade/0.10.0-190430.sh

+ 15 - 0
install/upgrade/0.10.0-190430.sh

@@ -174,8 +174,23 @@ fi
 # Check if acl package is installed
 echo "(*) Verifying ACLs and hardening user permissions..."
 if [ ! -e '/usr/bin/setfacl' ]; then
+    # Disable apt package lock
+    mv /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock-frontend.bak
+    mv /var/lib/dpkg/lock /var/lib/dpkg/lock.bak
+    mv /var/cache/apt/archives/lock /var/cache/apt/archives/lock.bak
+    mv /var/lib/dpkg/updates/ /var/lib/dpkg/updates.bak/
+    mkdir -p /var/lib/dpkg/updates/
+
+	# Install missing acl package
     apt-get -qq update > /dev/null 2>&1
     apt-get -qq -y install acl > /dev/null 2>&1
+
+    # Enable apt package lock
+    mv /var/lib/dpkg/lock-frontend.bak /var/lib/dpkg/lock-frontend
+    mv /var/lib/dpkg/lock.bak /var/lib/dpkg/lock
+    mv /var/cache/apt/archives/lock.bak /var/cache/apt/archives/lock
+    rm -rf /var/lib/dpkg/updates/
+    mv /var/lib/dpkg/updates.bak/ /var/lib/dpkg/updates/
 fi
 
 # Add a general group for normal users created by Hestia