diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c364c615d47a271f902c90246b0a64210d0fc92f..ce8e2ab889c89dffed2bbb32357baf3743989fe1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -260,9 +260,14 @@ amd64:linux.tps:
       - ./prod_build/pack.sh --target linux release
       - /opt/buildtools/deploy_files.sh pub_cellframe linux/cellframe-node/$CI_COMMIT_REF_NAME/ build_*/*.deb
 
-.amd64:linux.updtr:
+amd64:linux.updtr:
     extends: .build
+    stage: build
     image: demlabs/debian/amd64:qt5
+    rules:
+      - when: manual
+        allow_failure: true
+
     before_script: 
       - /opt/buildtools/prepare_environment.sh amd64-linux
       - *fill_version_mk
diff --git a/conftool/main.cpp b/conftool/main.cpp
index 6e56531bcf28a6231254736f8513e9dc68c4feae..1d5c098c4ab37dfd08423fd6c6f93ad3df24ad99 100644
--- a/conftool/main.cpp
+++ b/conftool/main.cpp
@@ -114,11 +114,11 @@ std::string getNodeConfigPath(std::string basepath){
     #endif
 
     #ifdef __linux__
-        return "/opt/cellframe-node/";
+        return "/opt/cellframe-node";
     #endif
     
     #ifdef __APPLE__ 
-        return  "/Library/Application Support/CellframeNode/";
+        return  "/Library/Application Support/CellframeNode";
     #endif
 
 
@@ -130,7 +130,7 @@ std::string getNodeConfigPath(std::string basepath){
         std::wstring path;
         GetStringRegKey(hKey, L"Common Documents", path, L"");
         std::string stdpath(path.begin(),path.end());
-        return (std::filesystem::path{stdpath}/"cellframe-node/").string();
+        return (std::filesystem::path{stdpath}/"cellframe-node").string();
     #endif
 }
 
diff --git a/dist.linux/share/update.sh b/dist.linux/share/update.sh
index e15f4fe875fceba530b78e1e5c276c77b84967f1..43710d3001bab27292376256df75370803225f1d 100755
--- a/dist.linux/share/update.sh
+++ b/dist.linux/share/update.sh
@@ -1,6 +1,7 @@
- #! /bin/bash
+#! /bin/bash
 set -e
-STORAGE_URL=https://pub.cellframe.net/linux/cellframe-node/master/updates
+STORAGE_URL=https://pub.cellframe.net/linux/cellframe-node/master
+
 
 MACHINE=$(uname -m)
 
@@ -45,13 +46,22 @@ CURRENT_REBUILD=$(echo $INSTALLED_VERSION | grep -Po "[0-9]([0-9]+)")
 echo "Available patch: $MAX_REBUILD | Current patch: $CURRENT_REBUILD"
 
 if (( MAX_REBUILD > CURRENT_REBUILD )); then
-    echo "Need update cellframe-node to 5.2-$MAX_REBUILD..."
+    # Determine the full version (e.g. 5.3-354) from AVAILABLE_VERSIONS by the patch we found
+    for ver in "${AVAILABLE_VERSIONS[@]}"
+    do
+        patch=$(echo $ver | cut -d'-' -f2)
+        if [ "$patch" = "$MAX_REBUILD" ]; then
+            NEW_VERSION=$ver
+            break
+        fi
+    done
+    echo "Need update cellframe-node to $NEW_VERSION..."
 else
     echo "No need to update cellframe-node"
     exit 0
 fi
 
-PACKAGE_NAME="cellframe-node-5.2-$MAX_REBUILD-updtr-amd64.deb"
+PACKAGE_NAME="cellframe-node-$NEW_VERSION-updtr-${POSTFIX}.deb"
 echo "wget"
 mkdir -p /tmp/cfupd/
 wget $STORAGE_URL/$PACKAGE_NAME -O /tmp/cfupd/$PACKAGE_NAME
@@ -73,4 +83,4 @@ fi
 
 
 dpkg -i /tmp/cfupd/$PACKAGE_NAME
-service cellframe-node restart
\ No newline at end of file
+service cellframe-node restart
diff --git a/dist/share/default.setup b/dist/share/default.setup
index dd929b4c15068327fe443b27c32410418be96e6b..546d4767558a88c7c3748fe985d96a69efa60f1e 100644
--- a/dist/share/default.setup
+++ b/dist/share/default.setup
@@ -7,7 +7,7 @@
 # Predefined variables:
 #   ${HOST_OS} -> Linux | Windows | Macos
 #   ${HOSTNAME} -> hostname of a machine
-#   ${CONFIGS_PATH} -> /opt/cellframe-node/ for linux, 
+#   ${CONFIGS_PATH} -> /opt/cellframe-node for linux, 
 #                      Common Documents (usually C:\Users\Public\Documents\cellframe-node\) for Windows
 #
 # fromtemplate: create and populate config from "share/configs" templates